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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
return {
'nvim-treesitter/nvim-treesitter',
dependencies = {
{
'nvim-treesitter/nvim-treesitter-context',
opts = {
-- Avoid the sticky context from growing a lot.
max_lines = 3,
-- Match the context lines to the source code.
multiline_threshold = 1,
-- Disable it when the window is too small.
min_window_height = 20,
},
keys = {
{
'[c',
function()
-- Jump to previous change when in diffview.
if vim.wo.diff then
return '[c'
else
vim.schedule(function()
require('treesitter-context').go_to_context()
end)
return '<Ignore>'
end
end,
desc = 'Jump to upper context',
expr = true,
},
},
},
},
build = ':TSUpdate',
opts = {
-- A list of parser names, or "all"
ensure_installed = { "c", "lua", "cpp", "markdown", "markdown_inline", "vim", "regex", "vimdoc" },
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = true,
-- Automatically install missing parsers when entering buffer
auto_install = false,
-- List of parsers to ignore installing (for "all")
ignore_install = { "javascript" },
highlight = {
-- `false` will disable the whole extension
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
-- disable = { "c", "rust" },
disable = { "markdown" },
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
indent = true,
},
}
|