summaryrefslogtreecommitdiff
path: root/fnl/plugins/snippets/init.fnl
blob: b586d7635c9ed0ef342809804a480d5954ab51e4 (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
;; Snippets functionality.

(local dependencies [:rafamadriz/friendly-snippets])

(fn add-snippets []
  (let [org (require :plugins.snippets.org)]
    (org.add-snippets)))

(fn config []
  (let [ls (require :luasnip)
        luasnip-vscode (require :luasnip.loaders.from_vscode)]
    (luasnip-vscode.lazy_load)
    (add-snippets)
    (ls.config.set_config {:history false
                           :updateevents "TextChanged,TextChangedI"})
    (vim.keymap.set [:i :s] :<c-k>
                    (lambda []
                      (when (ls.expand_or_jumpable)
                        (ls.expand_or_jump))) {:silent true})
    (vim.keymap.set [:i :s] :<c-j>
                    (lambda []
                      (when (ls.jumpable -1)
                        (ls.jump -1))
                      {:silent true}))
    (vim.keymap.set [:i] :<c-l>
                    (lambda []
                      (when (ls.choice_active)
                        (ls.change_choice 1)))
                    {:silent true})))

{1 :L3MON4D3/LuaSnip :event :InsertEnter : config : dependencies}