summaryrefslogtreecommitdiff
path: root/fnl/plugins/cmp.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/plugins/cmp.fnl')
-rw-r--r--fnl/plugins/cmp.fnl44
1 files changed, 35 insertions, 9 deletions
diff --git a/fnl/plugins/cmp.fnl b/fnl/plugins/cmp.fnl
index 9ba119f..d728b9d 100644
--- a/fnl/plugins/cmp.fnl
+++ b/fnl/plugins/cmp.fnl
@@ -1,13 +1,39 @@
;; Configuration for completion plugin.
-(local opts
- {:keymap {:preset :default}
- :appearance {:use_nvim_cmp_as_default true :nerd_font_variant :mono}
- :sources {:default {:lsp :path :snippets :buffer}}
- :menu {:border :single :scrollbar false}
- :documentation {:window {:border :single :scrollbar false}}
- :signature {:enabled true :window {:border :single :scrollbar false}}})
+(local opts {:keymap {:preset :default}
+ :appearance {:use_nvim_cmp_as_default true
+ :nerd_font_variant :mono}
+ :completion {:menu {:scrollbar false}
+ :documentation {:window {:scrollbar false}}}
+ :signature {:enabled false :window {:scrollbar false}}
+ :sources {:default [:lsp :path :snippets :buffer :luasnip :dadbod]
+ :providers {:lsp {:name :LSP
+ :module :blink.cmp.sources.lsp
+ :fallbacks [:snippets
+ :luasnip
+ :buffer]
+ :score_offset 80}
+ :luasnip {:name :Luasnip
+ :module :blink.cmp.sources.luasnip
+ :min_keyword_length 2
+ :fallbacks [:snippets]
+ :score_offset 85}
+ :dadbod {:name :Dadbod
+ :module :vim_dadbod_completion.blink
+ :score_offset 80}}}
+ :snippets {:expand (λ [snippet]
+ (let [luasnip (require :luasnip)]
+ (luasnip.lsp_expand snippet)))
+ :active (fn [filter]
+ (let [luasnip (require :luasnip)]
+ (when (and filter filter.direction)
+ (luasnip.jumpable filter.direction))
+ (luasnip.in_snippet)))
+ :jump (λ [direction]
+ (let [luasnip (require :luasnip)]
+ (luasnip.jump direction)))}})
-(local dependencies [:rafamadriz/friendly-snippets])
+(local dependencies [:rafamadriz/friendly-snippets
+ {1 :L3MON4D3/LuaSnip :version :v2.*}])
-{1 :saghen/blink.cmp :version :v0.* : dependencies :event :InsertEnter : opts}
+{1 :saghen/blink.cmp :version "*" : dependencies :event :InsertEnter : opts}