Update treesitter config to disable on large files.

This commit is contained in:
Sheldon Lee 2024-05-16 00:05:59 +08:00
parent 3b4102518c
commit 552498c74f

View File

@ -1,3 +1,14 @@
-- See https://web.archive.org/web/20240515160302/https://github.com/nvim-treesitter/nvim-treesitter/issues/556#issuecomment-1157664778
local function ts_disable(_, bufnr)
local count = vim.api.nvim_buf_line_count(bufnr)
local overlimit = count > 25000
if count == 0 then
return true
else
return overlimit
end
end
require'nvim-treesitter.configs'.setup { require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed) -- A list of parser names, or "all" (the five listed parsers should always be installed)
ensure_installed = { "c", "cpp", "javascript", "lua", "typescript", "vim", "vimdoc", "query" }, ensure_installed = { "c", "cpp", "javascript", "lua", "typescript", "vim", "vimdoc", "query" },
@ -10,13 +21,14 @@ require'nvim-treesitter.configs'.setup {
auto_install = true, auto_install = true,
-- List of parsers to ignore installing (for "all") -- List of parsers to ignore installing (for "all")
ignore_install = { "javascript" }, --ignore_install = { "javascript" },
---- If you need to change the installation directory of the parsers (see -> Advanced Setup) ---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")! -- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
highlight = { highlight = {
enable = true, enable = true,
disable = ts_disable,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time. -- 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). -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).