feat(treesitter): use new version of treesitter

This commit is contained in:
Guz
2026-02-14 13:04:22 -03:00
parent b5908349cb
commit c60ec0fe4b
5 changed files with 107 additions and 96 deletions

73
flake.lock generated
View File

@@ -48,11 +48,82 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767379071,
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nvim-treesitter": {
"flake": false,
"locked": {
"lastModified": 1767460514,
"narHash": "sha256-LX0rKTZ56Rp0uQfIXZ2JrcWxuCA/t8NJjK05aKiT0Yw=",
"owner": "nvim-treesitter",
"repo": "nvim-treesitter",
"rev": "300b906a9514d5e0ce02911d371445382fe35a31",
"type": "github"
},
"original": {
"owner": "nvim-treesitter",
"ref": "main",
"repo": "nvim-treesitter",
"type": "github"
}
},
"nvim-treesitter-main": {
"inputs": {
"nixpkgs": "nixpkgs_2",
"nvim-treesitter": "nvim-treesitter",
"nvim-treesitter-textobjects": "nvim-treesitter-textobjects"
},
"locked": {
"lastModified": 1767660784,
"narHash": "sha256-ej7y4nhiJNFE/HcZSPTEIrU6/WQmkMJo+bVQfgT3abE=",
"owner": "iofq",
"repo": "nvim-treesitter-main",
"rev": "d82b04e1a05f88ed88c6221672ca0636dc8d6ef7",
"type": "github"
},
"original": {
"owner": "iofq",
"repo": "nvim-treesitter-main",
"type": "github"
}
},
"nvim-treesitter-textobjects": {
"flake": false,
"locked": {
"lastModified": 1767434017,
"narHash": "sha256-5VeIAW09my+4fqXbzVG7RnLXrjpXAk/g2vd7RbhNws8=",
"owner": "nvim-treesitter",
"repo": "nvim-treesitter-textobjects",
"rev": "28a3494c075ef0f353314f627546537e43c09592",
"type": "github"
},
"original": {
"owner": "nvim-treesitter",
"ref": "main",
"repo": "nvim-treesitter-textobjects",
"type": "github"
}
},
"root": {
"inputs": {
"godotdev": "godotdev",
"mdfmt": "mdfmt",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"nvim-treesitter-main": "nvim-treesitter-main"
}
}
},

View File

@@ -2,6 +2,8 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nvim-treesitter-main.url = "github:iofq/nvim-treesitter-main";
mdfmt = {
url = "github:moorereason/mdfmt";
flake = false;
@@ -28,7 +30,18 @@
forAllSystems = f:
nixpkgs.lib.genAttrs systems (
system: let
pkgs = import nixpkgs {inherit system;};
overlays = [
inputs.nvim-treesitter-main.overlays.default
(final: prev: {
vimPlugins = prev.vimPlugins.extend (f: p: {
nvim-treesitter = p.nvim-treesitter.withAllGrammars;
nvim-treesitter-textobjects = p.nvim-treesitter-textobjects.overrideAttrs {
dependencies = [f.nvim-treesitter];
};
});
})
];
pkgs = import nixpkgs {inherit system overlays;};
in
f {
inherit pkgs;

View File

@@ -90,95 +90,7 @@ require("dot.keymaps")
-- Theme
vim.cmd.colorscheme("catppuccin")
require("nvim-treesitter.configs").setup({
auto_install = false,
highlight = { enable = true },
indent = { enable = true },
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<c-space>",
node_incremental = "<c-space>",
scope_incremental = "<c-s>",
node_decremental = "<M-space>",
},
},
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["aa"] = "@parameter.outer",
["ia"] = "@parameter.inner",
["af"] = "@function.outer",
["if"] = "@function.inner",
["ac"] = "@class.outer",
["ic"] = "@class.inner",
},
},
move = {
enable = true,
set_jumps = true,
goto_next_start = {
["]m"] = "@function.outer",
["]]"] = "@class.outer",
},
goto_next_end = {
["]M"] = "@function.outer",
["]["] = "@class.outer",
},
goto_previous_start = {
["[m"] = "@function.outer",
["[["] = "@class.outer",
},
goto_previous_end = {
["[M"] = "@function.outer",
["[]"] = "@class.outer",
},
},
},
textsubjects = {
enable = true,
prev_selection = ",",
keymaps = {
["."] = "textsubjects-smart",
[";"] = "textsubjects-container-outer",
["i;"] = "textsubjects-container-inner",
},
},
swap = {
enable = true,
swap_next = {
["<leader>a"] = "@parameter.inner",
},
swap_previous = {
["<leader>A"] = "@parameter.inner",
},
},
playground = {
enable = true,
disable = {},
updatetime = 25,
persist_queries = false,
keybindings = {
toggle_query_editor = "o",
toggle_hl_groups = "i",
toggle_injected_languages = "t",
toggle_anonymous_nodes = "a",
toggle_language_display = "I",
focus_language = "f",
unfocus_language = "F",
update = "R",
goto_node = "<cr>",
show_help = "?",
},
},
query_linter = {
enable = true,
use_virtual_text = true,
lint_events = { "BugWrite", "CursorHold" },
},
})
vim.bo.syntax = "OFF"
vim.api.nvim_create_autocmd("TextYankPost", {
desc = "Highlight when yanking text",

View File

@@ -182,11 +182,26 @@ lze.load({
-- Treesitter (Syntax Highlighting)
{
"nvim-treesitter",
after = function()
vim.api.nvim_create_autocmd("FileType", {
pattern = require("nvim-treesitter.config").get_installed(),
callback = function()
vim.treesitter.start()
end,
})
end,
event = "FileType",
dep_of = { "godotdev", "indent-blankline.nvim" },
on_require = "nvim-treesitter",
},
{ "nvim-treesitter-textobjects", dep_of = "nvim-treesitter" },
{ "nvim-treesitter-textsubjects", dep_of = "nvim-treesitter" },
-- {
-- "nvim-treesitter-textobjects",
-- after = function()
-- vim.g.no_plugin_maps = false
-- end,
-- dep_of = "nvim-treesitter",
-- },
-- { "nvim-treesitter-textsubjects", dep_of = "nvim-treesitter" },
-- Appearance
{

View File

@@ -37,9 +37,9 @@ in
friendly-snippets # Snippets
# Treesitter (Syntax Highlighting)
nvim-treesitter.withAllGrammars
nvim-treesitter-textobjects # Dependency
nvim-treesitter-textsubjects # Dependency
nvim-treesitter
# nvim-treesitter-textobjects # Dependency
# nvim-treesitter-textsubjects # Dependency
(dot-nvim.overrideAttrs {doCheck = false;})
];