diff options
author | amelia squires <[email protected]> | 2024-10-22 23:40:30 -0500 |
---|---|---|
committer | amelia squires <[email protected]> | 2024-10-22 23:40:30 -0500 |
commit | 0b7b1684d87b7d0b01b5645713b413e317699fd0 (patch) | |
tree | 70d54faa4536e97894754e63061f0d2fad99079c /fnl |
readme
Diffstat (limited to 'fnl')
-rw-r--r-- | fnl/defaults.fnl | 8 | ||||
-rw-r--r-- | fnl/keybinds.fnl | 60 | ||||
-rw-r--r-- | fnl/opt.fnl | 13 | ||||
-rw-r--r-- | fnl/plugins/cmp.fnl | 23 | ||||
-rw-r--r-- | fnl/plugins/lsp_signature.fnl | 1 | ||||
-rw-r--r-- | fnl/plugins/lspconfig.fnl | 10 | ||||
-rw-r--r-- | fnl/plugins/neo_tree.fnl | 20 | ||||
-rw-r--r-- | fnl/plugins/notify.fnl | 1 | ||||
-rw-r--r-- | fnl/plugins/toggleterm.fnl | 1 | ||||
-rw-r--r-- | fnl/plugins/treesitter.fnl | 3 | ||||
-rw-r--r-- | fnl/plugins/which_key.fnl | 14 | ||||
-rw-r--r-- | fnl/plugins/wilder.fnl | 21 | ||||
-rw-r--r-- | fnl/plugins/winshift.fnl | 1 | ||||
-rw-r--r-- | fnl/settings.fnl | 16 |
14 files changed, 192 insertions, 0 deletions
diff --git a/fnl/defaults.fnl b/fnl/defaults.fnl new file mode 100644 index 0000000..aa75f3a --- /dev/null +++ b/fnl/defaults.fnl @@ -0,0 +1,8 @@ +(lambda default [key value ?force] + (when (or (= (. _G.settings key) nil) ?force) (tset _G.settings key value))) + +(lambda defaults [force] + (default :colorscheme :oxocarbon force) + (default :lsp "lua_ls,clangd,zls,csharp_ls,ts_ls" force)) + +(defaults false) diff --git a/fnl/keybinds.fnl b/fnl/keybinds.fnl new file mode 100644 index 0000000..f3ad8f2 --- /dev/null +++ b/fnl/keybinds.fnl @@ -0,0 +1,60 @@ +(require-macros :hibiscus.vim) + +(vim.opt.whichwrap:append { + :< true + :> true + "[" true + "]" true + :h true + :l true}) + +(map! [n] :<c-k> "<cmd>:wincmd k<CR>") +(map! [n] :<c-j> "<cmd>:wincmd j<CR>") +(map! [n] :<c-h> "<cmd>:wincmd h<CR>") +(map! [n] :<c-l> "<cmd>:wincmd l<CR>") + +;; floating mode + +(local libmodal (require :libmodal)) + +(local move_win (lambda [drow dcol] + (local win (vim.api.nvim_win_get_config 0)) + (when (= win.relative "") (lua "return nil")) + (tset win :row (+ win.row drow)) + (tset win :col (+ win.col dcol)) + (vim.api.nvim_win_set_config 0 win))) + +(local resize_win (lambda [drow dcol] + (local win (vim.api.nvim_win_get_config 0)) + (tset win :height (+ win.height drow)) + (tset win :width (+ win.width dcol)) + (vim.api.nvim_win_set_config 0 win))) + + +(local t (lambda [] + (local win (vim.api.nvim_win_get_config 0)) + (tset win :bufpos [0 100]) + (vim.api.nvim_win_set_config 0 win))) + +(local aww (fn [] + (local keys { + (vim.keycode :<c-j>) (fn [] (resize_win 2 0)) + (vim.keycode :<c-k>) (fn [] (resize_win -2 0)) + (vim.keycode :<c-h>) (fn [] (resize_win 0 -2)) + (vim.keycode :<c-l>) (fn [] (resize_win 0 2)) + + :j (fn [] (move_win 2 0)) + :k (fn [] (move_win -2 0)) + :h (fn [] (move_win 0 -2)) + :l (fn [] (move_win 0 2)) + + :d (fn [] (t))}) + + (local float_mode (libmodal.mode.new :floating keys)) + (float_mode:enter))) + +(map! [n] :<c-f> (fn [] (aww))) + +;; exit terminal mode like a normal human +(map! [t] :<esc> "<C-\\><C-n>") + diff --git a/fnl/opt.fnl b/fnl/opt.fnl new file mode 100644 index 0000000..e28645c --- /dev/null +++ b/fnl/opt.fnl @@ -0,0 +1,13 @@ +(tset vim.opt :wrap false) +(tset vim.opt :linebreak false) + +(tset vim.opt :tabstop 2) +(tset vim.opt :shiftwidth 2) +(tset vim.bo :softtabstop 2) +(tset vim.opt :expandtab true) + +(tset vim.opt :number true) +(tset vim.o :signcolumn :yes) +(tset vim.opt :termguicolors true) +;--vim.opt.fillchars = { eob = ""} +(vim.cmd (.. "colorscheme " _G.settings.colorscheme)) diff --git a/fnl/plugins/cmp.fnl b/fnl/plugins/cmp.fnl new file mode 100644 index 0000000..8d13986 --- /dev/null +++ b/fnl/plugins/cmp.fnl @@ -0,0 +1,23 @@ +(local cmp (require :cmp)) + +((. cmp :setup) { + :snippet { + :expand (fn [args] + (vim.snippet.expand args.body) + ;((. vim.fn "vsnip#anonymous") args.body) ;for older neovim version (< 0.10) + )} + :mapping (cmp.mapping.preset.insert { + :<C-b> (cmp.mapping.scroll_docs -4) + :<C-f> (cmp.mapping.scroll_docs 4) + :<C-Space> (cmp.mapping.complete) + :<C-e> (cmp.mapping.abort) + :<CR> (cmp.mapping.confirm {select true}) + :<Tab> (cmp.mapping (cmp.mapping.select_next_item) [:i :s]) + }) + :sources (cmp.config.sources [ + {:name :nvim_lsp} + ;{:name :vsnip} + ] [{:name :buffer}]) + }) + + diff --git a/fnl/plugins/lsp_signature.fnl b/fnl/plugins/lsp_signature.fnl new file mode 100644 index 0000000..9b5509d --- /dev/null +++ b/fnl/plugins/lsp_signature.fnl @@ -0,0 +1 @@ +((. (require :lsp_signature) :setup)) diff --git a/fnl/plugins/lspconfig.fnl b/fnl/plugins/lspconfig.fnl new file mode 100644 index 0000000..7034e33 --- /dev/null +++ b/fnl/plugins/lspconfig.fnl @@ -0,0 +1,10 @@ +(var capabilities (require :cmp_nvim_lsp)) +(set capabilities (capabilities.default_capabilities)) +(local lsp _G.settings.lsp) +(local config_table {}) +(local lspconfig (require :lspconfig)) + +(each [language (lsp:gmatch "([^,]+)")] + (when (= (. config_table language) nil) (tset config_table language {})) + (tset (. config_table language) :capabilities capabilities) + ((. (. lspconfig language) :setup) (. config_table language))) diff --git a/fnl/plugins/neo_tree.fnl b/fnl/plugins/neo_tree.fnl new file mode 100644 index 0000000..76bf708 --- /dev/null +++ b/fnl/plugins/neo_tree.fnl @@ -0,0 +1,20 @@ +((. (require :neo-tree) :setup) { + :close_if_last_window true + :default_component_configs { + :git_status { + :symbols { + :added :+ + :modified :m + :deleted :x + :renamed :-> + + :untracked " " + :ignored " " + :unstaged :* + :staged " " + :conflict ":("}}} + :window { + :position :left + :width 30} + :filesystem { + :use_libuv_file_watcher true}}) diff --git a/fnl/plugins/notify.fnl b/fnl/plugins/notify.fnl new file mode 100644 index 0000000..4084871 --- /dev/null +++ b/fnl/plugins/notify.fnl @@ -0,0 +1 @@ +(tset vim :notify (require :notify)) diff --git a/fnl/plugins/toggleterm.fnl b/fnl/plugins/toggleterm.fnl new file mode 100644 index 0000000..aed1edc --- /dev/null +++ b/fnl/plugins/toggleterm.fnl @@ -0,0 +1 @@ +((. (require :toggleterm) :setup) {:persist_mode true :persistant_size true}) diff --git a/fnl/plugins/treesitter.fnl b/fnl/plugins/treesitter.fnl new file mode 100644 index 0000000..4b2a687 --- /dev/null +++ b/fnl/plugins/treesitter.fnl @@ -0,0 +1,3 @@ +((. (require :nvim-treesitter.configs) :setup) + {:highlight { + :enable true}}) diff --git a/fnl/plugins/which_key.fnl b/fnl/plugins/which_key.fnl new file mode 100644 index 0000000..959e0a6 --- /dev/null +++ b/fnl/plugins/which_key.fnl @@ -0,0 +1,14 @@ +(local whichkey (require :which-key)) +(whichkey.setup) + +(local mappings { + 1 {1 " f" 2 "<cmd>Neotree toggle<CR>" :desc "fs"} + 2 {1 " w" 2 "<cmd>WinShift<CR>" :desc "win shift"} + 3 {1 " t" 2 "<cmd>ToggleTerm direction=horizontal<CR>" :desc "hterm"} + + :mode [:n :v] + :silent true + :noremap true + :nowait true}) + +(whichkey.add mappings) diff --git a/fnl/plugins/wilder.fnl b/fnl/plugins/wilder.fnl new file mode 100644 index 0000000..56b4155 --- /dev/null +++ b/fnl/plugins/wilder.fnl @@ -0,0 +1,21 @@ +(local gradient [:#74d7ec :#96cde2 :#b9c3d9 :#dcb9d0 :#ffafc7 :#ffafc7 :#fec1d2 :#fdd4de + :#fce6e9 :#fbf9f5 :#fbf9f5 :#fce8ea :#fdd7e0 :#fec6d5 :#ffb5cb :#ffb5cb :#dcbdd2 :#b9c5da + :#96cde2 :#73d5ea]) + +(local wilder (require :wilder)) +(wilder.setup {:modes [:: :/ :?]}) + +;this like 'builds' the gradient? idk +(each [i fg (ipairs gradient)] + (tset gradient i + (wilder.make_hl (.. :WilderGradient i) :Pmenu [{:a 1} {:a 1} {:foreground fg}]))) + +(wilder.set_option :renderer (wilder.wildmenu_renderer { + :separator " . " + :left [" "] + :right [" "] + + :highlights {:gradient gradient} + + :highlighter (wilder.highlighter_with_gradient [ + (wilder.basic_highlighter)])})) diff --git a/fnl/plugins/winshift.fnl b/fnl/plugins/winshift.fnl new file mode 100644 index 0000000..542f15c --- /dev/null +++ b/fnl/plugins/winshift.fnl @@ -0,0 +1 @@ +((. (require :winshift) :setup)) diff --git a/fnl/settings.fnl b/fnl/settings.fnl new file mode 100644 index 0000000..0a4178c --- /dev/null +++ b/fnl/settings.fnl @@ -0,0 +1,16 @@ +(local path (.. (vim.fn.stdpath :data) :/_owo_)) + +(lambda _get [_ key] + (local file (io.open (.. path key) :rb)) + (when (= file nil) nil) + + (local value (file:read :*a)) + (io.close file) + value) + +(lambda _set [_ key value] + (local file (io.open (.. path key) :w)) + (file:write value) + (io.close file)) + +(setmetatable {} {:__index _get :__newindex _set}) |