Add C/C++ include guard snippet 'once'
This commit is contained in:
parent
dc78a25253
commit
2814270762
@ -7,6 +7,11 @@ local insert = luasnip.insert_node
|
|||||||
local func = luasnip.function_node
|
local func = luasnip.function_node
|
||||||
local key = require("luasnip.nodes.key_indexer").new_key
|
local key = require("luasnip.nodes.key_indexer").new_key
|
||||||
|
|
||||||
|
local function getIncludeGuardName()
|
||||||
|
local filename = vim.fn.expand('%'):gsub('[^%w_]', '_'):upper()
|
||||||
|
return filename .. '_INCLUDED'
|
||||||
|
end
|
||||||
|
|
||||||
local snippets = {
|
local snippets = {
|
||||||
snip('#include', {
|
snip('#include', {
|
||||||
text('#include '),
|
text('#include '),
|
||||||
@ -20,6 +25,21 @@ local snippets = {
|
|||||||
end
|
end
|
||||||
end, key('open')),
|
end, key('open')),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
snip('once', {
|
||||||
|
text('#ifndef '),
|
||||||
|
func(function(args)
|
||||||
|
return args[1][1]
|
||||||
|
end, key('name')),
|
||||||
|
text({ '', '#define ' }),
|
||||||
|
insert(1, getIncludeGuardName(), { key = 'name' }),
|
||||||
|
text({ '', '', '', }),
|
||||||
|
insert(0, ''),
|
||||||
|
text({ '', '', '#endif // ' }),
|
||||||
|
func(function(args)
|
||||||
|
return args[1][1]
|
||||||
|
end, key('name')),
|
||||||
|
}),
|
||||||
}
|
}
|
||||||
|
|
||||||
return snippets
|
return snippets
|
||||||
|
Loading…
x
Reference in New Issue
Block a user