aboutsummaryrefslogtreecommitdiffstats
path: root/home/nvim/plugins/treesitter.lua
diff options
context:
space:
mode:
authorPetri Hienonen <petri.hienonen@gmail.com>2026-01-16 18:31:10 +0200
committerPetri Hienonen <petri.hienonen@gmail.com>2026-01-16 18:31:10 +0200
commit63313185b460d2ae0a218e472a128a9b60d23720 (patch)
treefdb4c972785c37400838472f6811a332855c4e1c /home/nvim/plugins/treesitter.lua
parent7019b29558eaaad8ae76d8eab5c7af67c7541678 (diff)
downloadnixos-63313185b460d2ae0a218e472a128a9b60d23720.tar.zst
Update treesitter and change colorscheme to tokyonight
Diffstat (limited to 'home/nvim/plugins/treesitter.lua')
-rw-r--r--home/nvim/plugins/treesitter.lua83
1 files changed, 7 insertions, 76 deletions
diff --git a/home/nvim/plugins/treesitter.lua b/home/nvim/plugins/treesitter.lua
index 0b688ec..c408901 100644
--- a/home/nvim/plugins/treesitter.lua
+++ b/home/nvim/plugins/treesitter.lua
@@ -1,81 +1,12 @@
-local function disable(lang, buf)
- local max_filesize = 100 * 1024 -- 100 KB
- local ok, stats = pcall(vim.uv.fs_stat, vim.api.nvim_buf_get_name(buf))
- if ok and stats and stats.size > max_filesize then
- return true
- end
-end
-
-require("nvim-treesitter").setup({
- auto_install = false,
- ensure_installed = {},
- ignore_install = {},
- modules = {},
- sync_install = false,
+require "nvim-treesitter".setup {
+ install_dir = vim.fn.stdpath("data") .. "/site",
highlight = {
- additional_vim_regex_highlighting = false,
- disable = disable,
enable = true,
},
- indent = { enable = true, disable = { "rust", "lua", "python", "golang", "nix", "json", "html", "javascript" } },
- incremental_selection = {
+ rainbow = {
enable = true,
- keymaps = {
- init_selection = "<leader>vv",
- node_decremental = "_",
- node_incremental = "+",
- scope_incremental = false,
- },
+ extended_mode = true,
+ max_file_lines = 2000,
},
- textobjects = {
- select = {
- enable = true,
- lookahead = true,
- keymaps = {
- -- You can use the capture groups defined in textobjects.scm
- ["af"] = { query = "@function.outer", desc = "around a function" },
- ["if"] = { query = "@function.inner", desc = "inner part of a function" },
- ["ac"] = { query = "@class.outer", desc = "around a class" },
- ["ic"] = { query = "@class.inner", desc = "inner part of a class" },
- ["ai"] = { query = "@conditional.outer", desc = "around an if statement" },
- ["ii"] = { query = "@conditional.inner", desc = "inner part of an if statement" },
- ["al"] = { query = "@loop.outer", desc = "around a loop" },
- ["il"] = { query = "@loop.inner", desc = "inner part of a loop" },
- ["ap"] = { query = "@parameter.outer", desc = "around parameter" },
- ["ip"] = { query = "@parameter.inner", desc = "inside a parameter" },
- },
- selection_modes = {
- ["@parameter.outer"] = "v", -- charwise
- ["@parameter.inner"] = "v", -- charwise
- ["@function.outer"] = "v", -- charwise
- ["@conditional.outer"] = "V", -- linewise
- ["@loop.outer"] = "V", -- linewise
- ["@class.outer"] = "<c-v>", -- blockwise
- },
- include_surrounding_whitespace = false,
- },
- move = {
- enable = true,
- set_jumps = true, -- whether to set jumps in the jumplist
- goto_previous_start = {
- ["[f"] = { query = "@function.outer", desc = "Previous function" },
- ["[c"] = { query = "@class.outer", desc = "Previous class" },
- ["[p"] = { query = "@parameter.inner", desc = "Previous parameter" },
- },
- goto_next_start = {
- ["]f"] = { query = "@function.outer", desc = "Next function" },
- ["]c"] = { query = "@class.outer", desc = "Next class" },
- ["]p"] = { query = "@parameter.inner", desc = "Next parameter" },
- },
- },
- swap = {
- enable = true,
- swap_next = {
- ["<leader>a"] = "@parameter.inner",
- },
- swap_previous = {
- ["<leader>A"] = "@parameter.inner",
- },
- },
- },
-})
+ additional_vim_regex_highlighting = false,
+}