summaryrefslogtreecommitdiff
path: root/fnl
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2024-07-24 23:52:59 +0200
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2024-07-24 23:52:59 +0200
commit77b60223fdc2af9ebcb39f563fee6f7b21294d27 (patch)
tree41fa6a8c61ae616144c26fb07af32a32de206eeb /fnl
parent23cf10e11632e2acc23c33a665bc40e0b2a60bc8 (diff)
Refactor snippets
Diffstat (limited to 'fnl')
-rw-r--r--fnl/aktersnurra.fnl1
-rw-r--r--fnl/plugins/cmp.fnl33
-rw-r--r--fnl/plugins/snippets/init.fnl31
-rw-r--r--fnl/plugins/snippets/org.fnl13
4 files changed, 47 insertions, 31 deletions
diff --git a/fnl/aktersnurra.fnl b/fnl/aktersnurra.fnl
index b0634a0..f86c2a2 100644
--- a/fnl/aktersnurra.fnl
+++ b/fnl/aktersnurra.fnl
@@ -7,6 +7,7 @@
(if (not= fname nil)
(table.insert plugins (require (.. :plugins. fname))))))
(table.insert plugins (require :plugins.lsp))
+ (table.insert plugins (require :plugins.snippets))
plugins))
(local icons (require :settings.icons))
diff --git a/fnl/plugins/cmp.fnl b/fnl/plugins/cmp.fnl
index 2a8d280..f3c0211 100644
--- a/fnl/plugins/cmp.fnl
+++ b/fnl/plugins/cmp.fnl
@@ -6,14 +6,11 @@
:hrsh7th/cmp-cmdline
:hrsh7th/cmp-path
:onsails/lspkind.nvim
- :rafamadriz/friendly-snippets
:saadparwaiz1/cmp_luasnip])
(fn config []
(let [cmp (require :cmp)
- lspkind (require :lspkind)
- luasnip-vscode (require :luasnip.loaders.from_vscode)]
- (luasnip-vscode.lazy_load)
+ lspkind (require :lspkind)]
(lspkind.init)
(cmp.setup {:snippet {:expand (lambda [args]
(let [luasnip (require :luasnip)]
@@ -60,32 +57,6 @@
{:mapping (cmp.mapping.preset.cmdline)
:sources [{:name :path}
{:name :cmdline
- :option {:ignore_cmds [:Man "!"]}}]})
- (let [ls (require :luasnip)
- fmt (require :luasnip.extras.fmt)]
- (ls.config.set_config {:history false
- :updateevents "TextChanged,TextChangedI"})
- (let [s ls.s
- i ls.insert_node
- fmt fmt.fmt]
- (ls.add_snippets :org
- [(s :be
- (fmt "#+begin_src {}\n{}\n#+end_src"
- [(i 1) (i 2)]))]))
- (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}))))
+ :option {:ignore_cmds [:Man "!"]}}]})))
{1 :hrsh7th/nvim-cmp : dependencies :event :InsertEnter : config}
diff --git a/fnl/plugins/snippets/init.fnl b/fnl/plugins/snippets/init.fnl
new file mode 100644
index 0000000..b586d76
--- /dev/null
+++ b/fnl/plugins/snippets/init.fnl
@@ -0,0 +1,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}
diff --git a/fnl/plugins/snippets/org.fnl b/fnl/plugins/snippets/org.fnl
new file mode 100644
index 0000000..a2b2e46
--- /dev/null
+++ b/fnl/plugins/snippets/org.fnl
@@ -0,0 +1,13 @@
+;; Snippets for org files.
+
+(fn add-snippets []
+ (let [ls (require :luasnip)
+ fmt (require :luasnip.extras.fmt)]
+ (let [s ls.s
+ i ls.insert_node
+ fmt fmt.fmt]
+ (ls.add_snippets :org
+ [(s :be
+ (fmt "#+begin_src {}\n{}\n#+end_src" [(i 1) (i 2)]))]))))
+
+{: add-snippets}