summaryrefslogtreecommitdiff
path: root/fnl/config/cmp.fnl
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-08 02:49:49 +0100
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-08 02:49:49 +0100
commit86fc163e549d78136855ac2b45e91ffb2f43affc (patch)
tree20fab78a2ff2635af5ac95f2b2a11d9d07ace0e1 /fnl/config/cmp.fnl
parent0d7f782cb4e68cff000beb00e8ab64308a66f3f0 (diff)
Refactor config loading
Diffstat (limited to 'fnl/config/cmp.fnl')
-rw-r--r--fnl/config/cmp.fnl110
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))}