nvim-minimal/lua/plugins/treesitter.lua
mk 97a90cc1e5 Initial commit: nvim-minimal
A small, fast, portable Neovim config built on bare lazy.nvim (no LazyVim,
no LSPs, no Mason). Vendored `based` colorscheme (GPLv3, self-authored,
derived from vim-vividchalk) so the config loads on any machine with just
nvim + git — the listed treesitter parsers ship prebuilt, so no compiler
is needed for the configured languages.

Plugins: snacks.nvim (picker/explorer/buffers), nvim-treesitter (pinned to
master for the declarative ensure_installed/highlight/indent API), blink.cmp
(buffer+path completion, prebuilt binary), lualine, gitsigns, mini.align/
comment/surround.

Personal keymaps ported: jj/jk/kj/чя escape, ж -> :, Russian langmap, arrow
disables, bracket-return expansions, gc/sa-sd-sr/gz-gZ.
2026-07-28 03:23:41 +03:00

42 lines
1.4 KiB
Lua

-- nvim-treesitter: highlighting, indentation, and treesitter-based folds.
-- All listed parsers ship PREBUILT in the plugin repo, so no compiler is needed
-- for the configured languages. A C toolchain (base-devel) is only required if
-- you add parsers that aren't prebuilt or force `:TSInstall` to recompile.
-- Pinned to the legacy `master` branch, which keeps the declarative
-- ensure_installed/highlight/indent API the old config used. The new `main`
-- branch dropped this API in favor of do-it-yourself autocommands.
return {
{
"nvim-treesitter/nvim-treesitter",
branch = "master",
event = "VeryLazy",
build = ":TSUpdate",
opts = {
ensure_installed = {
"bash",
"css",
"html",
"javascript",
"json",
"lua",
"markdown",
"markdown_inline",
"python",
"query",
"regex",
"rust",
"scss",
"svelte",
"tsx",
"typescript",
"vim",
"yaml",
},
highlight = { enable = true },
indent = { enable = true },
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
},
}