From c60ec0fe4b46b230f09450341001e3fd09c79b14 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Sat, 14 Feb 2026 13:04:22 -0300 Subject: [PATCH] feat(treesitter): use new version of treesitter --- flake.lock | 73 +++++++++++++++++++++++++++++++++++- flake.nix | 15 +++++++- lua/dot/init.lua | 90 +-------------------------------------------- lua/dot/plugins.lua | 19 +++++++++- package.nix | 6 +-- 5 files changed, 107 insertions(+), 96 deletions(-) diff --git a/flake.lock b/flake.lock index 2237f99..b06b3bc 100644 --- a/flake.lock +++ b/flake.lock @@ -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" } } }, diff --git a/flake.nix b/flake.nix index 1874bbf..28d0001 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/lua/dot/init.lua b/lua/dot/init.lua index 4715754..1fa307c 100644 --- a/lua/dot/init.lua +++ b/lua/dot/init.lua @@ -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 = "", - node_incremental = "", - scope_incremental = "", - node_decremental = "", - }, - }, - 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 = { - ["a"] = "@parameter.inner", - }, - swap_previous = { - ["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 = "", - 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", diff --git a/lua/dot/plugins.lua b/lua/dot/plugins.lua index e3c46c5..d5a042d 100644 --- a/lua/dot/plugins.lua +++ b/lua/dot/plugins.lua @@ -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 { diff --git a/package.nix b/package.nix index fdda366..6fca38e 100644 --- a/package.nix +++ b/package.nix @@ -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;}) ];