blob: 6dd317e06a0c2919a9a5772335e4da348b9e0b6c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
;; Snippets functionality.
(import-macros {: keymaps} :macros)
(local dependencies [:rafamadriz/friendly-snippets])
(λ add-snippets [name]
(let [snippets (require (.. :plugins.snippets. name))]
(snippets.add-snippets)))
(λ config []
(let [ls (require :luasnip)
luasnip-vscode (require :luasnip.loaders.from_vscode)]
(luasnip-vscode.lazy_load)
(each [fname type (vim.fs.dir (.. (vim.fn.stdpath :config)
:/fnl/plugins/snippets))]
(when (= type :file)
(add-snippets (fname:match "^(.*)%.fnl$"))))
(ls.config.set_config {:history true
:updateevents "TextChanged,TextChangedI"})
(keymaps [[:i :s]
:<c-u>
(λ []
(when (ls.expand_or_jumpable)
(ls.expand_or_jump)))
{:silent true}]
[[:i :s]
:<c-l>
(λ []
(when (ls.jumpable -1)
(ls.jump -1)))
{:silent true}]
[[:i]
:<c-j>
(λ []
(when (ls.choice_active)
(ls.change_choice 1)))
{:silent true}])))
{1 :L3MON4D3/LuaSnip :event :InsertEnter : config : dependencies}
|