51 lines
1.3 KiB
Lua
51 lines
1.3 KiB
Lua
-- add more treesitter parsers
|
|
return {
|
|
"nvim-treesitter/nvim-treesitter",
|
|
build = function()
|
|
require("nvim-treesitter.install").update({ with_sync = true })
|
|
end,
|
|
dependencies = {
|
|
{
|
|
"JoosepAlviste/nvim-ts-context-commentstring",
|
|
opts = {
|
|
custom_calculation = function(_, language_tree)
|
|
if vim.bo.filetype == "blade" and language_tree._lang ~= "javascript" and language_tree._lang ~= "php" then
|
|
return "{{-- %s --}}"
|
|
end
|
|
end,
|
|
},
|
|
},
|
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
},
|
|
opts = {
|
|
ensure_installed = "all",
|
|
-- auto_install = true,
|
|
highlight = {
|
|
enable = true,
|
|
},
|
|
-- Needed because treesitter highlight turns off autoindent for php files
|
|
indent = {
|
|
enable = true,
|
|
},
|
|
},
|
|
config = function(_, opts)
|
|
---@class ParserInfo[]
|
|
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
|
parser_config.blade = {
|
|
install_info = {
|
|
url = "https://github.com/EmranMR/tree-sitter-blade",
|
|
files = {
|
|
"src/parser.c",
|
|
-- "src/scanner.cc",
|
|
},
|
|
branch = "main",
|
|
-- generate_requires_npm = true,
|
|
-- requires_generate_from_grammar = true,
|
|
},
|
|
filetype = "blade",
|
|
}
|
|
|
|
require("nvim-treesitter.configs").setup(opts)
|
|
end,
|
|
}
|