mirror of
https://github.com/folke/snacks.nvim
synced 2025-07-07 13:15:08 +00:00
1.5 KiB
1.5 KiB
🍿 bigfile
bigfile
adds a new filetype bigfile
to Neovim that triggers when the file is
larger than the configured size. This automatically prevents things like LSP
and Treesitter attaching to the buffer.
Use the setup
config function to further make changes to a bigfile
buffer.
The context provides the actual filetype.
The default implementation enables syntax
for the buffer and disables
mini.animate (if used)
📦 Setup
-- lazy.nvim
{
"folke/snacks.nvim",
---@type snacks.Config
opts = {
bigfile = {
-- your bigfile configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
}
}
}
⚙️ Config
---@class snacks.bigfile.Config
---@field enabled? boolean
{
notify = true, -- show notification when big file detected
size = 1.5 * 1024 * 1024, -- 1.5MB
line_length = 1000, -- average line length (useful for minified files)
-- Enable or disable features when big file detected
---@param ctx {buf: number, ft:string}
setup = function(ctx)
if vim.fn.exists(":NoMatchParen") ~= 0 then
vim.cmd([[NoMatchParen]])
end
Snacks.util.wo(0, { foldmethod = "manual", statuscolumn = "", conceallevel = 0 })
vim.b.minianimate_disable = true
vim.schedule(function()
if vim.api.nvim_buf_is_valid(ctx.buf) then
vim.bo[ctx.buf].syntax = ctx.ft
end
end)
end,
}