Files
yadm/.config/nvim/lua/plugins/treesitter.lua
2023-09-23 01:21:02 +02:00

112 lines
2.8 KiB
Lua

return {
'nvim-treesitter/nvim-treesitter',
dependencies = {
'mizlan/iswap.nvim',
'romgrk/nvim-treesitter-context',
'HiPhish/nvim-ts-rainbow2',
'Wansmer/sibling-swap.nvim',
--"nvim-treesitter/nvim-treesitter-textobjects",
--"nvim-treesitter/playground",
},
build = ':TSUpdate',
config = function()
-- Tree-sitter configuration
ts = require'nvim-treesitter.configs'
ts.setup {
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
ensure_installed = {
"arduino",
"awk",
"bash",
"bibtex",
"bitbake",
"c",
"cmake",
--"comment",
"cpp",
"csv",
"devicetree",
"diff",
"fish",
"gitattributes",
"gitcommit",
"gitignore",
"git_config",
"git_rebase",
"html",
"vimdoc",
"http",
"ini",
"jq",
"json",
"latex",
"lua",
"make",
"markdown",
"markdown_inline",
"matlab",
"ninja",
"proto",
"python",
"regex",
"rust",
"toml",
"vim",
"yaml",
},
-- disabled, since it mostly shifts to four characters
--indent = {
-- enable = true,
--},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "ti",
node_incremental = "ti",
scope_incremental = "ts",
node_decremental = "td",
},
},
rainbow = {
enable = false,
-- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for
extended_mode = false, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
max_file_lines = 5000, -- Do not enable for files with more than n lines, int
-- colors = {}, -- table of hex strings
-- termcolors = {} -- table of colour name strings
},
--textobjects = {
-- swap = {
-- enable = true,
-- swap_next = {
-- ["tan"] = "@parameter.inner",
-- },
-- swap_previous = {
-- ["tap"] = "@parameter.inner",
-- },
-- },
--},
matchup = {
enable = true,
-- disable = { "c", "ruby" },
include_match_words
},
}
-- vim.opt.foldmethod = "expr"
-- vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
require('sibling-swap').setup({})
end
}