summaryrefslogtreecommitdiffstats
path: root/.config/nvim/lua/plugins/treesitter.lua
blob: 5387ac60f2cb45f97660263832849728a681ad01 (plain)
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
return {
	{
		'nvim-treesitter/nvim-treesitter',
		branch = 'master',
		lazy = false,
		build = ':TSUpdate',
		config = function()
			require('nvim-treesitter.configs').setup {
				-- A list of parser names, or "all" (the five listed parsers should always be installed)
				ensure_installed = {
					'c',
					'cpp',
					'lua',
					'vim',
					'vimdoc',
					'query',
					'go',
					'perl',
					'rust',
					'yaml',
					'regex',
					'markdown',
					'markdown_inline',
					'terraform',
					'comment',
				},

				-- Install parsers synchronously (only applied to `ensure_installed`)
				sync_install = false,

				-- Automatically install missing parsers when entering buffer
				-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
				auto_install = true,

				highlight = {
					enable = true,

					-- 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,
				},
				incremental_selection = {
					enable = true,
				},
				indent = {
					enable = true,
				},
			}
		end
	}
}