aboutsummaryrefslogtreecommitdiff
path: root/plugin/40-treesitter.lua
blob: a9ff45b01ec015949c8e0ea804b61faa6e8b6cdf (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
54
55
56
57
58
vim.pack.add({ "https://github.com/nvim-treesitter/nvim-treesitter" })

local ts = require("nvim-treesitter")

local ensure_installed = {
  "asm",
  "bash",
  "c",
  "c_sharp",
  "cpp",
  "css",
  "git_config",
  "gitattributes",
  "gitcommit",
  "gitignore",
  "glsl",
  "hare",
  "html",
  "java",
  "javascript",
  "json",
  "kotlin",
  "lua",
  "make",
  "markdown",
  "markdown_inline",
  "python",
  "rust",
  "scss",
  "svelte",
  "typescript",
  "vim",
  "vimdoc",
  "yaml",
}

ts.install(ensure_installed, {
  max_jobs = 12,
  summary = false,
})

local ignore = {
  "checkhealth",
  "lazy",
  "mason",
  "TelescopePrompt",
}

vim.api.nvim_create_autocmd("FileType", {
  group = vim.api.nvim_create_augroup("EnableTreesitterHighlighting", { clear = true }),
  callback = function(event)
    if vim.tbl_contains(ignore, event.match) then
      return
    end

    pcall(function() vim.treesitter.start(event.buf) end)
  end
})