init.lua/lua/plugins/treesitter.lua(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
---@type LazySpec
return {
"nvim-treesitter/nvim-treesitter",
event = "BufReadPost",
dependencies = {
"RRethy/nvim-treesitter-endwise",
{ "nvim-treesitter/nvim-treesitter-context", config = true },
{
"lukas-reineke/headlines.nvim",
config = function()
require("headlines").setup {
go = {
codeblock_highlight = "ColorColumn",
query = vim.treesitter.query.parse(
"go",
[[([(raw_string_literal)
(interpreted_string_literal)] @codeblock
(#match? @codeblock "--sql" "-- sql" "--SQL" "-- SQL")
(#offset! @codeblock 0 0 1 0))]]
),
},
gleam = {
codeblock_highlight = "ColorColumn",
query = vim.treesitter.query.parse(
"gleam",
[[((let
pattern: (identifier) @_identifier
(#any-of? @_identifier "sql" "q" "query")
value: (string (quoted_content) @codeblock))
(#offset! @codeblock 0 0 1 0))]]
),
},
}
end,
},
},
build = function()
pcall(vim.cmd.TSUpdate)
end,
---@type TSConfig
---@diagnostic disable-next-line: missing-fields
opts = {
auto_install = true,
ensure_installed = { "sql", "markdown", "markdown_inline", "vim", "query" },
indent = { enable = true, disable = { "python" } },
highlight = { enable = true, additional_vim_regex_highlighting = false },
autopairs = { enable = true },
endwise = { enable = true },
},
config = function(_, opts)
require("nvim-treesitter.configs").setup(opts)
end,
}
|