summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/config/plugins/treesitter.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/config/plugins/treesitter.lua')
-rw-r--r--.config/nvim/lua/config/plugins/treesitter.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/.config/nvim/lua/config/plugins/treesitter.lua b/.config/nvim/lua/config/plugins/treesitter.lua
new file mode 100644
index 0000000..3c95b41
--- /dev/null
+++ b/.config/nvim/lua/config/plugins/treesitter.lua
@@ -0,0 +1,41 @@
+return {
+ {
+ "nvim-treesitter/nvim-treesitter",
+ event = "VeryLazy",
+ build = ":TSUpdate",
+ config = function()
+ require("nvim-treesitter.configs").setup({
+ ensure_installed = {
+ "c",
+ "lua",
+ "vim",
+ "vimdoc",
+ "query",
+ "markdown",
+ "markdown_inline",
+ "rust",
+ },
+ auto_install = true,
+ incremental_selection = {
+ enable = true,
+ keymaps = {
+ node_incremental = "<Enter>",
+ scope_incremental = false,
+ node_decremental = "<Backspace>",
+ },
+ },
+ 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,
+ },
+ })
+ end,
+ },
+}