]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - config/nvim/lua/treesitter_config.lua
Use treesitter in neovim
[rbdr/dotfiles] / config / nvim / lua / treesitter_config.lua
diff --git a/config/nvim/lua/treesitter_config.lua b/config/nvim/lua/treesitter_config.lua
new file mode 100644 (file)
index 0000000..fc4a4a7
--- /dev/null
@@ -0,0 +1,48 @@
+require'nvim-treesitter.configs'.setup {
+  -- A list of parser names, or "all" (the five listed parsers should always be installed)
+  ensure_installed = {
+    'bash',
+    'css',
+    'dart',
+    'diff',
+    'dockerfile',
+    'gitcommit',
+    'graphql',
+    'html',
+    'htmldjango',
+    'javascript',
+    'jsdoc',
+    'json',
+    'kotlin',
+    'lua',
+    'make',
+    'markdown',
+    'python',
+    'ruby',
+    'rust',
+    'sql',
+    'svelte',
+    'swift',
+    'toml',
+    'tsx',
+    'typescript',
+    'yaml'
+  },
+
+  sync_install = false,
+  auto_install = true,
+
+  highlight = {
+    enable = true,
+
+    disable = function(lang, buf)
+        local max_filesize = 100 * 1024 -- 100 KB
+        local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
+        if ok and stats and stats.size > max_filesize then
+            return true
+        end
+    end,
+
+    additional_vim_regex_highlighting = false,
+  },
+}