nixos/home/tui/config/nvim/lua/plugins/treesitter.lua

60 lines
1.6 KiB
Lua
Raw Normal View History

return {
"nvim-treesitter/nvim-treesitter",
2023-02-20 11:32:30 +00:00
event = { "BufReadPre", "BufNewFile" },
dependencies = { "nvim-treesitter/nvim-treesitter-refactor" },
2023-02-21 17:31:20 +00:00
cmd = {
"TSToggle",
"TSBufEnable",
"TSBufToggle",
"TSInstall",
"TSUpdate",
"TSEnable",
2023-02-21 17:31:20 +00:00
},
config = function(_, opts)
if type(opts.ensure_installed) == "table" then
-- @type table<string, boolean>
local added = {}
opts.ensure_installed = vim.tbl_filter(function(lang)
if added[lang] then return false end
added[lang] = true
return true
end, opts.ensure_installed)
end
require("nvim-treesitter.configs").setup(opts)
end,
opts = {
ensure_installed = "all",
auto_install = true,
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "gnn",
node_incremental = "gnr",
scope_incremental = "gnc",
node_decremental = "gnm",
},
},
indent = {
enable = true,
},
refactor = {
smart_rename = {
enable = true,
keymaps = {
smart_rename = "grr",
},
},
navigation = {
enable = true,
keymaps = {
goto_definition_lsp_fallback = "gnd",
},
},
},
2023-03-10 11:56:00 +00:00
},
}