aboutsummaryrefslogtreecommitdiff
path: root/lua/pml68/plugins/treesitter.lua
blob: 6416f1fa48f3dbf3baca057548960d3787409c37 (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
59
60
61
62
63
64
65
66
67
68
return {
  "nvim-treesitter/nvim-treesitter",
  lazy = false,
  build = ":TSUpdate",
  config = function()
    local ts = require("nvim-treesitter")

    local ensure_installed = {
      "asm",
      "bash",
      "c",
      "c_sharp",
      "cpp",
      "css",
      "git_config",
      "gitattributes",
      "gitcommit",
      "gitignore",
      "glsl",
      "go",
      "gomod",
      "gosum",
      "gotmpl",
      "gowork",
      "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
    })
  end
}