diff options
author | amelia squires <[email protected]> | 2024-11-13 06:17:23 -0600 |
---|---|---|
committer | amelia squires <[email protected]> | 2024-11-13 06:17:23 -0600 |
commit | 804f2a342d1b2002ad383ff604e75eb0caba8f65 (patch) | |
tree | 0c23239e32ec36f6d9e84ac4d2099194881fd180 | |
parent | e47fa485563a8a806c52f66a18471bbf012ac5c1 (diff) |
ton of new stuff
30 files changed, 164 insertions, 23 deletions
diff --git a/fnl/dap/adapters/coreclr.fnl b/fnl/dap/adapters/coreclr.fnl new file mode 100644 index 0000000..1196a92 --- /dev/null +++ b/fnl/dap/adapters/coreclr.fnl @@ -0,0 +1,3 @@ +{ + :type "executable" + :command "netcoredbg"} diff --git a/fnl/dap/adapters/lldb.fnl b/fnl/dap/adapters/lldb.fnl new file mode 100644 index 0000000..987d80d --- /dev/null +++ b/fnl/dap/adapters/lldb.fnl @@ -0,0 +1,3 @@ +{ + :type "executable" + :command "lldb-dap"} diff --git a/fnl/dap/configurations/c.fnl b/fnl/dap/configurations/c.fnl new file mode 100644 index 0000000..2a9375a --- /dev/null +++ b/fnl/dap/configurations/c.fnl @@ -0,0 +1,7 @@ +[{ + :name "Launch" + :type "lldb" + :request "launch" + :program (fn [] (vim.fn.input "Path to executable" (.. (vim.fn.getcwd) "/") "file")) + :cwd "${workspaceFolder}" + :stopAtBeginningOfMainSubprogram false}] diff --git a/fnl/dap/configurations/cpp.fnl b/fnl/dap/configurations/cpp.fnl new file mode 100644 index 0000000..808050f --- /dev/null +++ b/fnl/dap/configurations/cpp.fnl @@ -0,0 +1 @@ +(require "dap.configurations.c") diff --git a/fnl/dap/configurations/cs.fnl b/fnl/dap/configurations/cs.fnl new file mode 100644 index 0000000..c1bf097 --- /dev/null +++ b/fnl/dap/configurations/cs.fnl @@ -0,0 +1,5 @@ +[{ + :type "coreclr" + :name "launch - netcoredbg" + :request "launch" + :program (fn [] (vim.fn.input "path to dll" (.. (vim.fn.getcwd) "/bin/Debug/") "file"))}] diff --git a/fnl/dap/configurations/rust.fnl b/fnl/dap/configurations/rust.fnl new file mode 100644 index 0000000..808050f --- /dev/null +++ b/fnl/dap/configurations/rust.fnl @@ -0,0 +1 @@ +(require "dap.configurations.c") diff --git a/fnl/defaults.fnl b/fnl/defaults.fnl index aa75f3a..c50c4e4 100644 --- a/fnl/defaults.fnl +++ b/fnl/defaults.fnl @@ -1,8 +1,8 @@ (lambda default [key value ?force] (when (or (= (. _G.settings key) nil) ?force) (tset _G.settings key value))) -(lambda defaults [force] +(global defaults (lambda [force] (default :colorscheme :oxocarbon force) - (default :lsp "lua_ls,clangd,zls,csharp_ls,ts_ls" force)) + (default :lsp "pyright,lua_ls,clangd,zls,csharp_ls,ts_ls,rust_analyzer" force))) (defaults false) diff --git a/fnl/plugins/bufresize.fnl b/fnl/plugins/bufresize.fnl deleted file mode 100644 index e495e26..0000000 --- a/fnl/plugins/bufresize.fnl +++ /dev/null @@ -1 +0,0 @@ -((. (require :bufresize) :setup)) diff --git a/fnl/plugins/cmp.fnl b/fnl/plugins/cmp.fnl index 8d13986..09067eb 100644 --- a/fnl/plugins/cmp.fnl +++ b/fnl/plugins/cmp.fnl @@ -1,6 +1,6 @@ -(local cmp (require :cmp)) +(local cmp (_G.util.require! :cmp)) -((. cmp :setup) { +(cmp.setup { :snippet { :expand (fn [args] (vim.snippet.expand args.body) @@ -16,7 +16,7 @@ }) :sources (cmp.config.sources [ {:name :nvim_lsp} - ;{:name :vsnip} + {:name :calc} ;to anyone new to this codebase, calc is short for calculator (no clue what this adds, but its funny) ] [{:name :buffer}]) }) diff --git a/fnl/plugins/compiler_explorer.fnl b/fnl/plugins/compiler_explorer.fnl new file mode 100644 index 0000000..cf2108e --- /dev/null +++ b/fnl/plugins/compiler_explorer.fnl @@ -0,0 +1,6 @@ +(_G.util.setup! :compiler-explorer { + :languages { + ;clang 9.0.1 x86-64 + :c {:compiler :cclang901} + } + }) diff --git a/fnl/plugins/dap.fnl b/fnl/plugins/dap.fnl new file mode 100644 index 0000000..fbaf3ba --- /dev/null +++ b/fnl/plugins/dap.fnl @@ -0,0 +1,20 @@ +;all this does is load dap configurations +; +;the full directory name starting after the source (fnl) will be used +;replace all the /'s with periods and for each file in {source}/dap, +;set the modified path as a variable to require the file at the path +; +;ie: fnl/dap/adapters/lldb.fnl will run `dap.adapters.lldb = require'dap.adapters.lldb'` +; +;if you really want to (or are lazy) you can use lua/dap/{whatever}, but make sure a fennel file +;wont override it + +(tset _G :dap (require :dap)) +(local dir (.. (vim.fn.stdpath :config) "/lua/")) +(local search (io.popen (.. "find " dir "dap/ -name '*.*'"))) +(each [conf (search:lines)] + (local path (string.gsub conf "/" ".")) + (local req (path:sub (+ (# dir) 1) -5)) + ((assert (load (.. req " = require'" req "'"))))) + +((. (require :dap-python) :setup) :python3) diff --git a/fnl/plugins/dressing.fnl b/fnl/plugins/dressing.fnl new file mode 100644 index 0000000..cc3a8d0 --- /dev/null +++ b/fnl/plugins/dressing.fnl @@ -0,0 +1,2 @@ +(_G.util.setup! :dressing { + :select {:backend [:telescope]}}) diff --git a/fnl/plugins/edgy.fnl b/fnl/plugins/edgy.fnl new file mode 100644 index 0000000..4868367 --- /dev/null +++ b/fnl/plugins/edgy.fnl @@ -0,0 +1,14 @@ +(_G.util.setup! :edgy { + :bottom [:toggleterm] + :left [:neo-tree {:ft :Outline :title (fn [] + (local buf_name (vim.api.nvim_buf_get_name 0)); or "[No Name]" + (vim.fn.fnamemodify buf_name ":t") + )}] + + :animate {:enabled false} + ;allow other window movement binds to 'work' + :keys {:c-j (fn [win] + (win:next {:focus true :pinned false})) + :c-k (fn [win] + (win:prev {:focus true :visible true}))} + :wo {:winbar false}}) diff --git a/fnl/plugins/gitsigns.fnl b/fnl/plugins/gitsigns.fnl deleted file mode 100644 index 9810906..0000000 --- a/fnl/plugins/gitsigns.fnl +++ /dev/null @@ -1 +0,0 @@ -((. (require :gitsigns) :setup)) diff --git a/fnl/plugins/lsp_signature.fnl b/fnl/plugins/lsp_signature.fnl deleted file mode 100644 index 9b5509d..0000000 --- a/fnl/plugins/lsp_signature.fnl +++ /dev/null @@ -1 +0,0 @@ -((. (require :lsp_signature) :setup)) diff --git a/fnl/plugins/lspconfig.fnl b/fnl/plugins/lspconfig.fnl index 7034e33..bcd3527 100644 --- a/fnl/plugins/lspconfig.fnl +++ b/fnl/plugins/lspconfig.fnl @@ -2,7 +2,7 @@ (set capabilities (capabilities.default_capabilities)) (local lsp _G.settings.lsp) (local config_table {}) -(local lspconfig (require :lspconfig)) +(local lspconfig (_G.util.require! :lspconfig)) (each [language (lsp:gmatch "([^,]+)")] (when (= (. config_table language) nil) (tset config_table language {})) diff --git a/fnl/plugins/matchparen.fnl b/fnl/plugins/matchparen.fnl deleted file mode 100644 index 1154b31..0000000 --- a/fnl/plugins/matchparen.fnl +++ /dev/null @@ -1 +0,0 @@ -((. (require :matchparen) :setup)) diff --git a/fnl/plugins/neo_tree.fnl b/fnl/plugins/neo_tree.fnl index 76bf708..9925d60 100644 --- a/fnl/plugins/neo_tree.fnl +++ b/fnl/plugins/neo_tree.fnl @@ -1,4 +1,5 @@ -((. (require :neo-tree) :setup) { +(_G.util.setup! :neo-tree { + :open_files_do_not_replace_types ["Outline" "terminal" "toggleterm" "edgy"] :close_if_last_window true :default_component_configs { :git_status { diff --git a/fnl/plugins/notify.fnl b/fnl/plugins/notify.fnl index 4084871..46e3cd0 100644 --- a/fnl/plugins/notify.fnl +++ b/fnl/plugins/notify.fnl @@ -1 +1 @@ -(tset vim :notify (require :notify)) +(tset vim :notify (_G.util.require! :notify)) diff --git a/fnl/plugins/persistent_breakpoints.fnl b/fnl/plugins/persistent_breakpoints.fnl new file mode 100644 index 0000000..b52ab70 --- /dev/null +++ b/fnl/plugins/persistent_breakpoints.fnl @@ -0,0 +1,2 @@ +(_G.util.setup! :persistent-breakpoints { + :load_breakpoints_event ["BufReadPost"]}) diff --git a/fnl/plugins/sniprun.fnl b/fnl/plugins/sniprun.fnl new file mode 100644 index 0000000..93123a2 --- /dev/null +++ b/fnl/plugins/sniprun.fnl @@ -0,0 +1,2 @@ +(_G.util.setup! :sniprun { + :display ["VirtualTextOk" "VirtualTextErr"]}) diff --git a/fnl/plugins/startup.fnl b/fnl/plugins/startup.fnl index dc601a4..38e583e 100644 --- a/fnl/plugins/startup.fnl +++ b/fnl/plugins/startup.fnl @@ -1,2 +1,2 @@ -((. (require :startup) :setup) { +(_G.util.setup! :startup { :theme :evil}) diff --git a/fnl/plugins/toggleterm.fnl b/fnl/plugins/toggleterm.fnl index aed1edc..12df987 100644 --- a/fnl/plugins/toggleterm.fnl +++ b/fnl/plugins/toggleterm.fnl @@ -1 +1 @@ -((. (require :toggleterm) :setup) {:persist_mode true :persistant_size true}) +(_G.util.setup! :toggleterm {:persist_mode true :persistant_size true}) diff --git a/fnl/plugins/treesitter.fnl b/fnl/plugins/treesitter.fnl index 4b2a687..a0f6156 100644 --- a/fnl/plugins/treesitter.fnl +++ b/fnl/plugins/treesitter.fnl @@ -1,3 +1,3 @@ -((. (require :nvim-treesitter.configs) :setup) +(_G.util.setup! :nvim-treesitter.configs {:highlight { :enable true}}) diff --git a/fnl/plugins/which_key.fnl b/fnl/plugins/which_key.fnl index 6d4963f..e3279db 100644 --- a/fnl/plugins/which_key.fnl +++ b/fnl/plugins/which_key.fnl @@ -1,4 +1,4 @@ -(local whichkey (require :which-key)) +(local whichkey (_G.util.require! :which-key)) (whichkey.setup) (macro wmap [k op desc] @@ -11,11 +11,39 @@ (wmap :f "<cmd>Neotree toggle<CR>" "fs") (wmap :w "<cmd>WinShift<CR>" "win shift") (wmap :t "<cmd>ToggleTerm direction=horizontal<CR>" "hterm") + (wmap :d "<cmd>Glance references<CR>" "references") + (wmap :s "<cmd>Telescope live_grep<CR>" "search") + (wmap :b "<cmd>JABSOpen<CR>" "buffers") + (wmap :g (fn [] + (local buffer (vim.fn.expand :%)) + (vim.cmd "w") ;write so location is updated + (vim.cmd "tabe") + (vim.cmd (.. "buffer " buffer)) + ((. (require "dapui") :open))) "dap-ify") + (wmap :x "<cmd>tabclose<CR>" "close tab") + (wmap :c (fn [] + (_G.loaded.edgy.goto_main) + (vim.cmd "DiffviewOpen")) "git diff") + + ;;layouts + (gmap :l "layout") + (wmap :li (fn [] + (vim.cmd "ToggleTerm direction=horizontal") + (vim.cmd "Neotree toggle") + (vim.cmd "Outline")) "ide") + + ;;visual + (gmap :v "visual") + (wmap :vl "<cmd>lua require('nabla').toggle_virt({autogen=true})<CR>" "latex") + (wmap :vb "<cmd>lua require('nvim-biscuits').toggle_biscuits()<CR>" "biscuits") ;;quick (gmap :q "quick") (wmap :qs "\"+y" "system grab") (wmap :ql "0v$" "line") + (wmap :qr "<cmd>SnipRun<CR>" "run highlighted") + (wmap :qf "<cmd>RunFile<CR>" "run file") + (wmap :qe "<cmd>RunCode<CR>" "run code") ]) (tset mappings :mode [:n :v]) diff --git a/fnl/plugins/wilder.fnl b/fnl/plugins/wilder.fnl index 56b4155..2398ebe 100644 --- a/fnl/plugins/wilder.fnl +++ b/fnl/plugins/wilder.fnl @@ -1,8 +1,9 @@ +;trans colors :3 (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)) +(local wilder (_G.util.require! :wilder)) (wilder.setup {:modes [:: :/ :?]}) ;this like 'builds' the gradient? idk diff --git a/fnl/plugins/winshift.fnl b/fnl/plugins/winshift.fnl deleted file mode 100644 index 542f15c..0000000 --- a/fnl/plugins/winshift.fnl +++ /dev/null @@ -1 +0,0 @@ -((. (require :winshift) :setup)) diff --git a/fnl/util.fnl b/fnl/util.fnl new file mode 100644 index 0000000..12abe74 --- /dev/null +++ b/fnl/util.fnl @@ -0,0 +1,12 @@ +(local M {}) +(tset _G :loaded {}) + +(tset M :require! (lambda [name] + (tset _G.loaded name (require name)) + (. _G.loaded name))) + +(tset M :setup! (lambda [name ?config] + ;(tset _G.loaded :name ((. (require name) :setup) (or ?config {}))))) + ((. (M.require! name) :setup) (or ?config {})))) + +M @@ -7,6 +7,8 @@ (require :keybinds) (require :defaults) (require :opt) +(local util (require :util)) +(tset _G :util util) (packer! ;required for fennel slop @@ -19,33 +21,63 @@ (use! :nvim-neo-tree/neo-tree.nvim :require :plugins.neo_tree :depends [:nvim-lua/plenary.nvim :nvim-tree/nvim-web-devicons :MunifTanjim/nui.nvim :3rd/image.nvim]) - (use! :sindrets/winshift.nvim :require :plugins.winshift) + (use! :sindrets/winshift.nvim :config (util.setup! :winshift)) (use! :rcarriga/nvim-notify :require :plugins.notify) (use! :akinsho/toggleterm.nvim :require :plugins.toggleterm) + (use! :nvim-telescope/telescope.nvim) + (use! :matbme/JABS.nvim :config (util.setup! :jabs)) + (use! :CRAG666/code_runner.nvim :config (util.setup! :code_runner)) + (use! :sindrets/diffview.nvim) + + ;introduces too many erros:p cool otherwise, might find an altern--mostly covered by outline + ;(use! :code-biscuits/nvim-biscuits :config (util.setup! :nvim-biscuits)) + + (use! :michaelb/sniprun :run "sh ./install.sh" :require :plugins.sniprun) + (use! :DNLHC/glance.nvim :config (util.setup! :glance)) + (use! :hedyhli/outline.nvim :config (util.setup! :outline {:keymaps {:up_and_jump :<C-p> :down_and_jump :<C-n>}})) + (use! :doctorfree/cheatsheet.nvim + :depends [:nvim-telescope/telescope.nvim :nvim-lua/popup.nvim :nvim-lua/plenary.nvim]) + + ;god forbid a girl have fun + (use! :krady21/compiler-explorer.nvim :require :plugins.compiler_explorer) + ;used for proper layouts (oh my god i love this so much i wanna kiss the dev on the lips) + (use! :folke/edgy.nvim :require :plugins.edgy) + + ;latex + (use! :jbyuki/nabla.nvim) + ;i like this one, just has some issues and isnt that helpful ;(use! :wfxr/minimap.vim) ;make things pretty (use! :nvim-lualine/lualine.nvim :require :lua.lualine) (use! :max397574/startup.nvim :require :plugins.startup) - (use! :lewis6991/gitsigns.nvim :require :plugins.gitsigns) + (use! :lewis6991/gitsigns.nvim :config (util.setup! :gitsigns)) + (use! :stevearc/dressing.nvim :require :plugins.dressing) ;figure out if i want this one - (use! :kwkarlwang/bufresize.nvim :require :plugins.bufresize) + (use! :kwkarlwang/bufresize.nvim :config (util.setup! :bufresize)) ;floating_mode (use! :Iron-E/nvim-libmodal) ;fix bracket pairing - (use! :monkoose/matchparen.nvim :require :plugins.matchparen) + (use! :monkoose/matchparen.nvim :config (util.setup! :matchparen)) + + ;debugging + (use! :mfussenegger/nvim-dap :require :plugins.dap) + (use! :rcarriga/nvim-dap-ui :depends [:nvim-neotest/nvim-nio] :config (util.setup! :dapui)) + (use! :mfussenegger/nvim-dap-python) + (use! :Weissle/persistent-breakpoints.nvim :require :plugins.persistent_breakpoints) ;lsp (use! :nvim-treesitter/nvim-treesitter :require :plugins.treesitter) - (use! :ray-x/lsp_signature.nvim :require :plugins.lsp_signature) + (use! :ray-x/lsp_signature.nvim :config (util.setup! :lsp_signature)) (use! :hrsh7th/cmp-nvim-lsp) (use! :hrsh7th/nvim-cmp :require :plugins.cmp) (use! :neovim/nvim-lspconfig :require :plugins.lspconfig) + (use! :williamboman/mason.nvim :config (util.setup! :mason)) ;themes (use! :kdheepak/monochrome.nvim) @@ -1,3 +1,9 @@ new and improved neovim config in fennel for some reason use responsibly + +requires + +* neovim >= 0.10 (i think) + +* find |