-require('nvim-treesitter').setup {
+local treesitter = require('nvim-treesitter')
+
+treesitter.setup {
install_dir = vim.fn.stdpath('data') .. '/site',
}
+treesitter.install {
+ 'bash',
+ 'c',
+ 'cmake',
+ 'cpp',
+ 'json',
+ 'lua',
+ 'markdown',
+ 'markdown_inline',
+ 'python',
+ 'query',
+ 'toml',
+ 'vim',
+ 'vimdoc',
+ 'yaml',
+}
+
local function enable(buf)
if not pcall(vim.treesitter.start, buf) then
return
Optional: [install mise](https://mise.jdx.dev/getting-started.html), link or copy its configuration to `$HOME/.config/mise/config.toml`, then run `mise install` from `$HOME`. Bash activates mise when available; installed tools take precedence on `PATH`. Use `mise upgrade` to update them. mise manages selected interactive tools; system packages and project toolchains remain separate.
+Neovim installs its parser baseline asynchronously; reopen the buffer after installation. Use `:TSInstall <language>` for additional parsers and `:TSUpdate` after plugin updates. Installation requires tree-sitter CLI, a C compiler, curl, and tar.
+
## Maintenance
Prefer each tool's supported commands, APIs, and defaults where they fit the intended workflow. Treat upstream examples as patterns to evaluate against this configuration and environment, not recipes to copy unchanged. Add small local code only for a concrete need.