27 lines
671 B
Lua
27 lines
671 B
Lua
vim.bo.commentstring = "// %s"
|
|
|
|
local insert_include_guards = function(bufnr)
|
|
bufnr = bufnr or 0
|
|
|
|
-- foo.h -> FOO_H_
|
|
local guard = string.gsub(string.upper(vim.fn.expand("%:t")), "%.", "_") .. "_"
|
|
|
|
vim.api.nvim_buf_set_lines(bufnr, 0, 0, true, {
|
|
string.format("#ifndef %s", guard),
|
|
string.format("#define %s", guard),
|
|
"",
|
|
})
|
|
|
|
local last_lineno = vim.api.nvim_buf_line_count(bufnr)
|
|
vim.api.nvim_buf_set_lines(bufnr, last_lineno, last_lineno, true, {
|
|
"",
|
|
string.format("#endif // %s", guard),
|
|
})
|
|
end
|
|
|
|
vim.keymap.set(
|
|
"n",
|
|
"<localleader>ig",
|
|
insert_include_guards,
|
|
{ desc = "Add include guards", buffer = true, silent = true }
|
|
)
|