Compare commits
2 Commits
0471dd67c4
...
3b79830ece
Author | SHA1 | Date | |
---|---|---|---|
3b79830ece | |||
fad688fc15 |
@ -1,10 +1,14 @@
|
|||||||
# C LuaSnip Snippets
|
-- C LuaSnip Snippets
|
||||||
|
|
||||||
local luasnip = require('luasnip')
|
local luasnip = require('luasnip')
|
||||||
local snip = luasnip.snippet
|
local snippet = luasnip.snippet
|
||||||
local text = luasnip.text_node
|
local text = luasnip.text_node
|
||||||
local insert = luasnip.insert_node
|
local insert = luasnip.insert_node
|
||||||
local func = luasnip.function_node
|
local func = luasnip.function_node
|
||||||
|
local choice = luasnip.choice_node
|
||||||
|
local dynamic = luasnip.dynamic_node
|
||||||
|
local restore = luasnip.restore_node
|
||||||
|
local snip = luasnip.snippet_node
|
||||||
local key = require("luasnip.nodes.key_indexer").new_key
|
local key = require("luasnip.nodes.key_indexer").new_key
|
||||||
|
|
||||||
local function getIncludeGuardName()
|
local function getIncludeGuardName()
|
||||||
@ -13,38 +17,34 @@ local function getIncludeGuardName()
|
|||||||
end
|
end
|
||||||
|
|
||||||
local snippets = {
|
local snippets = {
|
||||||
snip('#include', {
|
|
||||||
text('#include '),
|
|
||||||
insert(1, '<', { key = 'open' }),
|
|
||||||
insert(2, 'header'),
|
|
||||||
func(function(args)
|
|
||||||
if args[1][1] == '<' then
|
|
||||||
return '>'
|
|
||||||
else
|
|
||||||
return '"'
|
|
||||||
end
|
|
||||||
end, key('open')),
|
|
||||||
}),
|
|
||||||
|
|
||||||
snip('once', {
|
snippet('#include', {
|
||||||
|
text('#include '),
|
||||||
|
choice(1, {
|
||||||
|
snip(nil, { text('<'), restore(1, 'header'), text('>') }),
|
||||||
|
snip(nil, { text('"'), restore(1, 'header'), text('"') }),
|
||||||
|
}),
|
||||||
|
}, { stored = { ['header'] = insert(1, 'header') } }),
|
||||||
|
|
||||||
|
snippet('once', {
|
||||||
text('#ifndef '),
|
text('#ifndef '),
|
||||||
func(function(args)
|
func(function(opts)
|
||||||
return args[1][1]
|
return opts[1][1]
|
||||||
end, key('name')),
|
end, key('guard')),
|
||||||
text({ '', '#define ' }),
|
text({ '', '#define ' }),
|
||||||
insert(1, getIncludeGuardName(), { key = 'name' }),
|
dynamic(1, function()
|
||||||
-- FIXME: dynamic(1, function(_, _)
|
return snip(nil, {
|
||||||
-- return snip({}, {
|
insert(1, getIncludeGuardName(), { key = 'guard' }),
|
||||||
-- insert(1, getIncludeGuardName())
|
})
|
||||||
-- })
|
end),
|
||||||
-- end, { key = "name" }),
|
|
||||||
text({ '', '', '', }),
|
text({ '', '', '', }),
|
||||||
insert(0, ''),
|
insert(0, ''),
|
||||||
text({ '', '', '#endif // ' }),
|
text({ '', '', '#endif // ' }),
|
||||||
func(function(args)
|
func(function(opts)
|
||||||
return args[1][1]
|
return opts[1][1]
|
||||||
end, key('name')),
|
end, key('guard')),
|
||||||
}),
|
}, {}),
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return snippets
|
return snippets
|
||||||
|
Loading…
x
Reference in New Issue
Block a user