mirror of
https://github.com/LunarVim/LunarVim.git
synced 2025-08-29 06:18:18 +02:00
perf: handle big files better (#3449)
fixes https://github.com/LunarVim/LunarVim/issues/3393
This commit is contained in:
parent
9347abc1d4
commit
fb7da7bc78
5 changed files with 22 additions and 34 deletions
|
@ -35,6 +35,11 @@ function M:init()
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lvim.builtin.bigfile = {
|
||||||
|
active = true,
|
||||||
|
config = {},
|
||||||
|
}
|
||||||
|
|
||||||
require("lvim.config._deprecated").handle()
|
require("lvim.config._deprecated").handle()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,8 @@ M.config = function()
|
||||||
char = lvim.icons.ui.LineLeft,
|
char = lvim.icons.ui.LineLeft,
|
||||||
show_trailing_blankline_indent = false,
|
show_trailing_blankline_indent = false,
|
||||||
show_first_indent_level = true,
|
show_first_indent_level = true,
|
||||||
use_treesitter = false,
|
use_treesitter = true,
|
||||||
show_current_context = false,
|
show_current_context = true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
|
@ -34,38 +34,8 @@ function M.config()
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
local max_filesize = 1024 * 1024
|
local status_ok, big_file_detected = pcall(vim.api.nvim_buf_get_var, buf, "bigfile_disable_treesitter")
|
||||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
return status_ok and big_file_detected
|
||||||
if ok and stats and stats.size > max_filesize then
|
|
||||||
if lvim.builtin.illuminate.active then
|
|
||||||
pcall(require("illuminate").pause_buf)
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.api.nvim_buf_call(buf, function()
|
|
||||||
vim.cmd "setlocal noswapfile noundofile"
|
|
||||||
|
|
||||||
if vim.tbl_contains({ "json" }, lang) then
|
|
||||||
vim.cmd "NoMatchParen"
|
|
||||||
vim.cmd "syntax off"
|
|
||||||
vim.cmd "syntax clear"
|
|
||||||
vim.cmd "setlocal nocursorline nolist bufhidden=unload"
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufDelete" }, {
|
|
||||||
callback = function()
|
|
||||||
vim.cmd "DoMatchParen"
|
|
||||||
vim.cmd "syntax on"
|
|
||||||
end,
|
|
||||||
buffer = buf,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end)
|
|
||||||
|
|
||||||
Log:info "File larger than 1MB, turned off treesitter for this buffer"
|
|
||||||
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
context_commentstring = {
|
context_commentstring = {
|
||||||
|
|
|
@ -281,6 +281,16 @@ local core_plugins = {
|
||||||
end,
|
end,
|
||||||
disable = lvim.colorscheme ~= "onedarker",
|
disable = lvim.colorscheme ~= "onedarker",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"lunarvim/bigfile.nvim",
|
||||||
|
config = function()
|
||||||
|
pcall(function()
|
||||||
|
require("bigfile").config(lvim.builtin.bigfile.config)
|
||||||
|
end)
|
||||||
|
end,
|
||||||
|
disable = not lvim.builtin.bigfile.active,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local default_snapshot_path = join_paths(get_lvim_base_dir(), "snapshots", "default.json")
|
local default_snapshot_path = join_paths(get_lvim_base_dir(), "snapshots", "default.json")
|
||||||
|
|
|
@ -8,6 +8,9 @@
|
||||||
"alpha-nvim": {
|
"alpha-nvim": {
|
||||||
"commit": "a858e4e"
|
"commit": "a858e4e"
|
||||||
},
|
},
|
||||||
|
"bigfile.nvim": {
|
||||||
|
"commit": "70e4989"
|
||||||
|
},
|
||||||
"bufferline.nvim": {
|
"bufferline.nvim": {
|
||||||
"commit": "4ecfa81"
|
"commit": "4ecfa81"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue