diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2024-07-29 00:03:28 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2024-07-29 00:03:28 +0200 |
commit | beb3ed1effdc5dbd047c583598b83615075363b7 (patch) | |
tree | 5e49355bd20ac94c1dc19530e0605e6dc6c487bb /fnl/plugins/snippets.fnl | |
parent | 66f7949711425dc20bfb7612a68d81b5af30b8e9 (diff) |
Update how lsp, snippets and plugins are loaded
Diffstat (limited to 'fnl/plugins/snippets.fnl')
-rw-r--r-- | fnl/plugins/snippets.fnl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/fnl/plugins/snippets.fnl b/fnl/plugins/snippets.fnl new file mode 100644 index 0000000..91865d6 --- /dev/null +++ b/fnl/plugins/snippets.fnl @@ -0,0 +1,33 @@ +;; Snippets functionality. + +(local dependencies [:rafamadriz/friendly-snippets]) + +(λ add-snippets [name] + (let [snippets (require (.. :plugins.snippets. name))] + (snippets.add-snippets))) + +(local {: load-and-apply} (require :util.load)) + +(λ config [] + (let [ls (require :luasnip) + luasnip-vscode (require :luasnip.loaders.from_vscode)] + (luasnip-vscode.lazy_load) + (load-and-apply :/fnl/plugins/snippets add-snippets) + (ls.config.set_config {:history false + :updateevents "TextChanged,TextChangedI"}) + (vim.keymap.set [:i :s] :<c-u> + (lambda [] + (when (ls.expand_or_jumpable) + (ls.expand_or_jump))) {:silent true}) + (vim.keymap.set [:i :s] :<c-l> + (lambda [] + (when (ls.jumpable -1) + (ls.jump -1)) + {:silent true})) + (vim.keymap.set [:i] :<c-j> + (lambda [] + (when (ls.choice_active) + (ls.change_choice 1))) + {:silent true}))) + +{1 :L3MON4D3/LuaSnip :event :InsertEnter : config : dependencies} |