Use smarter newline mapping for json filetype

master
Hektor Misplon 2025-05-05 23:02:46 +02:00
parent e660a92443
commit a76fd5cd62
1 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,19 @@
local json_newline = function()
local line = vim.api.nvim_get_current_line()
if line == "" then
print("line is empty")
return "o"
elseif string.byte(line, -1) == string.byte(",") then
return "o"
elseif string.byte(line, -1) == string.byte("{") then
print("line ends with '{'")
return "o"
elseif string.byte(line, -1) == string.byte("}") then
print("line ends with '}'")
return "o"
else
return "A,<CR>"
end
end
vim.keymap.set("n", "o", json_newline, { buffer = true, expr = true })