diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2023-01-08 02:49:49 +0100 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2023-01-08 02:49:49 +0100 |
commit | 86fc163e549d78136855ac2b45e91ffb2f43affc (patch) | |
tree | 20fab78a2ff2635af5ac95f2b2a11d9d07ace0e1 /fnl/config/cmp.fnl | |
parent | 0d7f782cb4e68cff000beb00e8ab64308a66f3f0 (diff) |
Refactor config loading
Diffstat (limited to 'fnl/config/cmp.fnl')
-rw-r--r-- | fnl/config/cmp.fnl | 110 |
1 files changed, 63 insertions, 47 deletions
diff --git a/fnl/config/cmp.fnl b/fnl/config/cmp.fnl index d1cedec..a062d92 100644 --- a/fnl/config/cmp.fnl +++ b/fnl/config/cmp.fnl @@ -1,49 +1,65 @@ ;; Configuration for completion plugin. -(module config.cmp {autoload {nvim aniseed.nvim util config.util}}) -(let [cmp (util.prequire :cmp) - lspkind (util.prequire :lspkind) - luasnip (util.prequire :luasnip) - luasnip-vscode (require :luasnip.loaders.from_vscode)] - (luasnip-vscode.lazy_load) - (lspkind.init) - (cmp.setup {:snippet {:expand (fn [args] - (luasnip.lsp_expand args.body))} - :completion {:completopt "menu,menuone,noinsert"} - :mapping (cmp.mapping.preset.insert {:<C-k> (cmp.mapping.select_prev_item) - :<C-j> (cmp.mapping.select_next_item) - :<C-b> (cmp.mapping (cmp.mapping.scroll_docs -1) - [:i :c]) - :<C-f> (cmp.mapping (cmp.mapping.scroll_docs 1) - [:i :c]) - :<C-space> (cmp.mapping (cmp.mapping.complete) - [:i - :c]) - :<C-e> (cmp.mapping {:i (cmp.mapping.abort) - :c (cmp.mapping.close)}) - :<CR> (cmp.mapping.confirm {:select true}) - :<CR> (cmp.mapping.confirm {:select true})}) - :sources [{:name :nvim_lsp} - {:name :nvim_lua} - {:name :luasnip} - {:name :spell} - {:name :orgmode} - {:name :buffer :keyword_length 4} - {:name :path :keyword_length 6}] - :formatting {:format (lspkind.cmp_format {:with_text true - :menu {:buffer "" - :nvim_lsp "" - :nvim_lua "" - :path "" - :luasnip ""}})} - :window {:documentation {:border ["╭" - "─" - "╮" - "│" - "╯" - "─" - "╰" - "│"]}} - :confirm_opts {:behavior cmp.ConfirmBehavior.Replace - :select false} - :experimental {:ghost_text false :native_menu false}})) +(fn setup [] + (let [cmp (require :cmp) + lspkind (require :lspkind) + luasnip (require :luasnip) + luasnip-vscode (require :luasnip.loaders.from_vscode)] + (luasnip-vscode.lazy_load) + (lspkind.init) + (cmp.setup {:snippet {:expand (fn [args] + (luasnip.lsp_expand args.body))} + :completion {:completopt "menu,menuone,noinsert"} + :mapping (cmp.mapping.preset.insert {:<C-k> (cmp.mapping.select_prev_item) + :<C-j> (cmp.mapping.select_next_item) + :<C-b> (cmp.mapping (cmp.mapping.scroll_docs -1) + [:i + :c]) + :<C-f> (cmp.mapping (cmp.mapping.scroll_docs 1) + [:i + :c]) + :<C-space> (cmp.mapping (cmp.mapping.complete) + [:i + :c]) + :<C-e> (cmp.mapping {:i (cmp.mapping.abort) + :c (cmp.mapping.close)}) + :<CR> (cmp.mapping.confirm {:select true}) + :<CR> (cmp.mapping.confirm {:select true})}) + :sources [{:name :nvim_lsp} + {:name :nvim_lua} + {:name :luasnip} + {:name :spell} + {:name :orgmode} + {:name :buffer :keyword_length 4} + {:name :path :keyword_length 6}] + :formatting {:format (lspkind.cmp_format {:with_text true + :menu {:buffer "" + :nvim_lsp "" + :nvim_lua "" + :path "" + :luasnip ""}})} + :window {:documentation {:border ["╭" + "─" + "╮" + "│" + "╯" + "─" + "╰" + "│"]}} + :confirm_opts {:behavior cmp.ConfirmBehavior.Replace + :select false} + :experimental {:ghost_text false :native_menu false}}))) + +{1 :hrsh7th/nvim-cmp + :dependencies [:hrsh7th/cmp-buffer + :onsails/lspkind-nvim + :hrsh7th/cmp-nvim-lsp + :hrsh7th/cmp-cmdline + :L3MON4D3/LuaSnip + :rafamadriz/friendly-snippets + :hrsh7th/cmp-path + :saadparwaiz1/cmp_luasnip + :f3fora/cmp-spell] + :event :InsertEnter + :config (fn [] + (setup))} |