Files
neovim/lua/plugins/treesitter.lua
T
Christopher Williams 2e2010c48d Split treesitter plugins
2026-01-11 21:52:28 -05:00

72 lines
1.3 KiB
Lua

local M = {
{
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local ensureInstalled = {
"lua",
"python",
"javascript",
"typescript",
"java",
"go",
"rust",
"html",
"css",
"json",
"yaml",
"markdown",
"sql",
"org",
}
local alreadyInstalled = require("nvim-treesitter.config").get_installed()
local parsersToInstall = vim.iter(ensureInstalled)
:filter(function(parser)
return not vim.tbl_contains(alreadyInstalled, parser)
end)
:totable()
require("nvim-treesitter").install(parsersToInstall)
end,
},
{
"nvim-treesitter/nvim-treesitter-textobjects",
event = "VeryLazy",
branch = "main",
},
{
"HiPhish/rainbow-delimiters.nvim",
event = "VeryLazy",
},
{
"Wansmer/treesj",
event = "VeryLazy",
dependencies = { "nvim-treesitter/nvim-treesitter" },
opts = { use_default_keymaps = false }, -- optional, if you don't want <space>m/j/s at all
keys = {
{
"ga",
function()
require("treesj").toggle()
end,
desc = "TreeSJ: toggle",
},
{
"gs",
function()
require("treesj").split()
end,
desc = "TreeSJ: split",
},
{
"gS",
function()
require("treesj").join()
end,
desc = "TreeSJ: join",
},
},
},
}
return M