nvim: add mapping for inserting include guards in C files
This commit is contained in:
parent
525c160c65
commit
ba93f37b1e
1 changed files with 26 additions and 0 deletions
|
@ -1 +1,27 @@
|
|||
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 }
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue