1
0
Fork 0
dotfiles/.config/nvim/lua/plugins/treesitter.lua
2026-01-30 15:47:24 +03:00

49 lines
1.7 KiB
Lua

-- TODO: migrate to `main` when it's complete and staable
return {
'nvim-treesitter/nvim-treesitter',
dependencies = {
'nvim-treesitter/nvim-treesitter-context',
{
'nvim-treesitter/nvim-treesitter-textobjects',
branch = 'master',
}
},
branch = 'master',
build = function()
local queries_path = vim.fn.stdpath('data') .. '/lazy/nvim-treesitter/queries/dockerfile'
local dockerfile_queries = vim.fn.stdpath('config') .. '/treesitter/dockerfile/queries/'
vim.fn.system({ 'rm', '-r', queries_path })
vim.fn.mkdir(queries_path, 'p')
for file in vim.fs.dir(dockerfile_queries) do
vim.fn.system({ 'cp', dockerfile_queries .. file, queries_path })
end
vim.cmd('TSUpdate')
end,
config = function()
vim.defer_fn(function()
--- @diagnostic disable-next-line: missing-fields
require('nvim-treesitter.configs').setup({
auto_install = true,
highlight = { enable = true },
indent = { enable = true },
})
require('treesitter-context').setup {
max_lines = 6
}
local parser_config = require('nvim-treesitter.parsers').get_parser_configs()
parser_config.dockerfile = {
install_info = {
url = '/home/wzray/.config/nvim/treesitter/dockerfile',
files = { "src/parser.c", "scanner.c" },
generate_requires_npm = false,
requires_generate_from_grammar = true,
},
}
end, 0)
end
}