generated from mrcjkb/nvim-lua-nix-plugin-template
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathquasiquotes.lua
46 lines (39 loc) · 956 Bytes
/
quasiquotes.lua
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
40
41
42
43
44
45
46
---@mod haskell-snippets.quasiqotes
---@brief [[
--- Snippets related to quasiqotes
---@brief ]]
---@class QuasiQuoteSnippetCollection
local quasiquotes = {
---@type Snippet[] All quasiquote-related snippets
all = {},
}
local ls = require('luasnip')
local s = ls.snippet
local text = ls.text_node
local insert = ls.insert_node
local dynamic = ls.dynamic_node
local util = require('haskell-snippets.util')
---@type Snippet QuasiQuote
quasiquotes.qq = s({
trig = 'qq',
dscr = 'QuasiQuote',
}, {
text('['),
insert(1),
text('|'),
insert(2),
text('|'),
text(']'),
})
table.insert(quasiquotes.all, quasiquotes.qq)
---@type Snippet postgres-simple [sql||] QuasiQuote
quasiquotes.sql = s({
trig = 'sql',
dscr = 'postgres-simple sql QuasiQuote',
}, {
text('[sql|'),
dynamic(1, util.indent_newline_insert()),
dynamic(2, util.indent_newline_text('|]', false)),
})
table.insert(quasiquotes.all, quasiquotes.sql)
return quasiquotes