Files
nvim/lua/plugins/csvview.lua
T
2026-10-29 18:52:26 +00:00

38 lines
1.5 KiB
Lua

return {
"hat0uma/csvview.nvim",
config = function()
local csvview = require("csvview")
-- Optional setup configurations
csvview.setup({
view = {
display_mode = "border", -- Options: "border", "key", "simple"
},
parser = { comments = { "#", "//" } },
keymaps = {
-- Text objects for selecting fields
textobject_field_inner = { "if", mode = { "o", "x" } },
textobject_field_outer = { "af", mode = { "o", "x" } },
-- Excel-like navigation:
-- Use <Tab> and <S-Tab> to move horizontally between fields.
-- Use <Enter> and <S-Enter> to move vertically between rows and place the cursor at the end of the field.
-- Note: In terminals, you may need to enable CSI-u mode to use <S-Tab> and <S-Enter>.
--jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
--jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
--jump_next_row = { "<Enter>", mode = { "n", "v" } },
--jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
},
})
-- Auto-enable for csv and tsv filetypes
vim.api.nvim_create_autocmd("FileType", {
pattern = { "csv", "tsv" },
desc = "Enable CSV View on relevant filetypes",
callback = function()
csvview.enable()
end,
})
end,
}