From 3cd2838ebf29ce69b45f75e52184a8053ebdf5bd Mon Sep 17 00:00:00 2001 From: Ruslan Date: Mon, 13 Oct 2025 17:41:50 +0300 Subject: [PATCH] treesitter: update to the main branch (1.0) --- lazy-lock.json | 45 +++++++------ lua/crentist/autocmd.lua | 104 ++++++++++++++++++++----------- lua/crentist/lazy/treesitter.lua | 68 ++++++++++++-------- 3 files changed, 131 insertions(+), 86 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index 964e8a5..5180db1 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,51 +1,50 @@ { "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "b035188bc6d8bcbf86c49ac230ee0bbadca7f7fb" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "d6e2b1356a8c184d4d254f7d32635f4b637d0bf0" }, "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, - "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, + "fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "2dce48dac09cec8143820f1d33381fe6d03a3900" }, - "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" }, - "gruvbox.nvim": { "branch": "main", "commit": "a56f758f9d3eed0b8afbab6ea3ee523887755aed" }, + "fzf-lua": { "branch": "main", "commit": "db3ccffe79480543d8e0f7b0cac0d9b220f9486e" }, + "gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" }, + "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, "harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" }, - "hererocks": { "branch": "master", "commit": "d2e2b7ab1ce5b6d4e517619746a810159f0e18db" }, + "hererocks": { "branch": "master", "commit": "160228946bed9998f5e3b168bd0b66ba2690f8f3" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, - "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, - "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, + "lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" }, + "lazydev.nvim": { "branch": "main", "commit": "e28ce52fc7ff79fcb76f0e79ee6fb6182fca90b9" }, "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "5e085efe67fccb13372d54331d849219662a7e93" }, - "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, - "mini.pairs": { "branch": "main", "commit": "6e1cc569130f25b2c6fa16d8b21b31ddb1420a4a" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "f1deac7ecec88c28a250d890ba7bb35843e69cbd" }, - "none-ls.nvim": { "branch": "main", "commit": "53ec77181d96494b9dc9457110dd62dc623cc78d" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, + "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "4c60a198e3f92098778a32a1c76d2bd7ba46a3b5" }, + "none-ls.nvim": { "branch": "main", "commit": "5cf63841461b49989972d35bf886e076a1ab3649" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lspconfig": { "branch": "master", "commit": "3db16ceeea947517f0dc1404c24dcb5ab0c91d26" }, + "nvim-lspconfig": { "branch": "master", "commit": "5bfcc89fd155b4ffc02d18ab3b7d19c2d4e246a7" }, "nvim-navic": { "branch": "master", "commit": "f887d794a0f4594882814d7780980a949200a238" }, "nvim-sops": { "branch": "main", "commit": "cb2209562d00ef8c6c88bdec836d9edb8fbb96ef" }, "nvim-surround": { "branch": "main", "commit": "a868c256c861044beb9794b4dd126480dcdfbdad" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-ufo": { "branch": "main", "commit": "d31e2a9fd572a25a4d5011776677223a8ccb7e35" }, - "nvim-web-devicons": { "branch": "master", "commit": "f66cdfef5e84112045b9ebc3119fee9bddb3c687" }, - "obsidian.nvim": { "branch": "main", "commit": "705cc9b4f66eca1e54040ac819102e80a32896d3" }, - "oil.nvim": { "branch": "master", "commit": "07f80ad645895af849a597d1cac897059d89b686" }, + "nvim-treesitter": { "branch": "main", "commit": "0606c7a9dcaa5c5beee0b0f09043e9fdd1ba0a68" }, + "nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" }, + "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, + "obsidian.nvim": { "branch": "main", "commit": "6b2a22a74d1c883e797764c28f75aa6b532a1ae4" }, + "oil.nvim": { "branch": "master", "commit": "919e155fdf38e9148cdb5304faaaf53c20d703ea" }, "parrot.nvim": { "branch": "main", "commit": "dcae923c7070431c8cb628b19594ab640168684c" }, "plenary": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, - "render-markdown.nvim": { "branch": "main", "commit": "e76eb2e4262f0f0a1a7bd7a454dd7d44f1299afd" }, + "render-markdown.nvim": { "branch": "main", "commit": "d53856423be5ef3c267d26ee261b0981b372f718" }, "search.nvim": { "branch": "main", "commit": "7b8f2315d031be73e14bc2d82386dfac15952614" }, "statuscol.nvim": { "branch": "main", "commit": "c46172d0911aa5d49ba5f39f4351d1bb7aa289cc" }, "tabby.nvim": { "branch": "main", "commit": "b3affa6db7eab80fca2a2db5b73b473144507039" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, - "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, - "undotree": { "branch": "master", "commit": "fe9a9d0645f0f5532360b5e5f5c550d7bb4f1869" }, + "trouble.nvim": { "branch": "main", "commit": "c098362fe603d3922095e7db595961e020bdf2d0" }, + "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" }, "vim-dadbod": { "branch": "master", "commit": "e95afed23712f969f83b4857a24cf9d59114c2e6" }, "vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" }, "vim-dadbod-ui": { "branch": "master", "commit": "e8b53c0f3aa6e6127ac2a2d2071d9aade6c6e373" }, "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" }, - "vim-helm": { "branch": "master", "commit": "cc5ac22444332381f38084a6c7f023c25eef6201" }, + "vim-helm": { "branch": "master", "commit": "2c8525fd98e57472769d137317bca83e477858ce" }, "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" } } diff --git a/lua/crentist/autocmd.lua b/lua/crentist/autocmd.lua index 32fd2f1..29d171e 100644 --- a/lua/crentist/autocmd.lua +++ b/lua/crentist/autocmd.lua @@ -3,57 +3,85 @@ local augroup = vim.api.nvim_create_augroup local CrentistGroup = augroup('Crentist', {}) local OnSaveGroup = augroup('CrentistOnSave', {}) +local CrentistTreeSitter = augroup('CrentistTreeSitter', {}) local builtin = require('telescope.builtin') autocmd('LspAttach', { - group = CrentistGroup, - callback = function(e) - local opts = { buffer = e.buf } - vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) - vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) - vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) - vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) - vim.keymap.set("n", "vrr", function() builtin.lsp_references() end, opts) - vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) - vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) - vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set("n", "", function() vim.lsp.buf.format() end, opts) - end + group = CrentistGroup, + callback = function(e) + local opts = { buffer = e.buf } + vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts) + vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts) + vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, opts) + vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, opts) + vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, opts) + vim.keymap.set("n", "vrr", function() builtin.lsp_references() end, opts) + vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, opts) + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, opts) + vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ count = 1 }) end, opts) + vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ count = -1 }) end, opts) + vim.keymap.set("n", "", function() vim.lsp.buf.format() end, opts) + end }) -- Add new line to the end of the file autocmd({ 'BufWritePre' }, { - group = OnSaveGroup, - pattern = '*', - callback = function() - local n_lines = vim.api.nvim_buf_line_count(0) - local last_nonblank = vim.fn.prevnonblank(n_lines) - if last_nonblank <= n_lines then - vim.api.nvim_buf_set_lines(0, - last_nonblank, n_lines, true, { '' }) - end - end, + group = OnSaveGroup, + pattern = '*', + callback = function() + local n_lines = vim.api.nvim_buf_line_count(0) + local last_nonblank = vim.fn.prevnonblank(n_lines) + if last_nonblank <= n_lines then + vim.api.nvim_buf_set_lines(0, + last_nonblank, n_lines, true, { '' }) + end + end, }) -- Remove trailing spaces autocmd({ 'BufWritePre' }, { - group = OnSaveGroup, - pattern = { "*" }, - callback = function() - local save_cursor = vim.fn.winsaveview() - pcall(function() vim.cmd [[%s/\s\+$//e]] end) - vim.fn.winrestview(save_cursor) - end, + group = OnSaveGroup, + pattern = { "*" }, + callback = function() + local save_cursor = vim.fn.winsaveview() + pcall(function() vim.cmd [[%s/\s\+$//e]] end) + vim.fn.winrestview(save_cursor) + end, }) -autocmd({'FileType'}, { - group = CrentistGroup, - pattern = { 'json' }, - callback = function (e) - vim.keymap.set("n", "", function() vim.cmd('silent %!jq .') end, {buffer = e.buf}) - end +autocmd({ 'FileType' }, { + group = CrentistGroup, + pattern = { 'json' }, + callback = function(e) + vim.keymap.set("n", "", function() vim.cmd('silent %!jq .') end, { buffer = e.buf }) + end +}) + +autocmd({ 'FileType' }, { + group = CrentistTreeSitter, + pattern = { + 'sh', + 'javascript', + 'typescript', + 'python', + 'go', + 'terraform*', + 'yaml', + 'helm', + 'tmux', + 'lua', + 'vim', + 'vimdoc', + 'latex', + 'json', + 'yaml*', + 'git*', + 'make', + 'markdown*', + }, + callback = function(e) + vim.treesitter.start(e.buf) + end }) diff --git a/lua/crentist/lazy/treesitter.lua b/lua/crentist/lazy/treesitter.lua index ac2f5e7..3b51562 100644 --- a/lua/crentist/lazy/treesitter.lua +++ b/lua/crentist/lazy/treesitter.lua @@ -1,32 +1,50 @@ return { 'nvim-treesitter/nvim-treesitter', - branch='master', + branch = 'main', + lazy = false, build = ":TSUpdate", config = function() - require("nvim-treesitter.configs").setup({ - -- A list of parser names, or "all" (the five listed parsers should always be installed) - ensure_installed = { "bash", "javascript", "typescript", "python", "go", "terraform", "hcl", "helm", "jq", "yaml", "tmux", "lua", "vim", "vimdoc" }, - - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, - - ---- If you need to change the installation directory of the parsers (see -> Advanced Setup) - -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! - - highlight = { - enable = true, - - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, - }) + local ts = require("nvim-treesitter") + local installed_parsers = { + "bash", + "javascript", + "typescript", + "python", + "go", + "terraform", + "hcl", + "helm", + "jq", + "yaml", + "tmux", + "lua", + "vim", + "vimdoc", + "latex", + "json", + "yaml", + "git_config", + "git_rebase", + "gitattributes", + "gitcommit", + "gitignore", + "make", + "markdown_inline", + "nginx", + "properties", + "ini", + "ssh_config", + "ssh_client_config", + "editorconfig", + "passwd", + "regex", + "sql", + "sqlite", + "toml", + "xml", + } + ts.setup() + ts.install(installed_parsers) end }