lag-fix #4
5 changed files with 76 additions and 27 deletions
|
|
@ -3,8 +3,20 @@ return {
|
||||||
"LunarVim/bigfile.nvim",
|
"LunarVim/bigfile.nvim",
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
opts = {
|
opts = {
|
||||||
filesize = 0.01, -- 10 KiB (your hive_adapters.g.dart sits right around here)
|
-- Fallback size if the function doesn't intercept it
|
||||||
pattern = { "*.g.dart", "hive_registrar.g.dart" }, -- Force override on generated Dart files
|
filesize = 2,
|
||||||
|
-- Use a detection function to unconditionally catch generated files
|
||||||
|
pattern = function(bufnr, _)
|
||||||
|
local buf_name = vim.api.nvim_buf_get_name(bufnr)
|
||||||
|
if buf_name:match("%.g%.dart$") or buf_name:match("hive_registrar%.g%.dart$") then
|
||||||
|
-- 1. Hard-disable Autopairs for this specific buffer
|
||||||
|
vim.api.nvim_buf_set_var(bufnr, "autopairs_enabled", false)
|
||||||
|
|
||||||
|
-- 2. Prevent the Copilot server from attaching and tracking
|
||||||
|
vim.api.nvim_buf_set_var(bufnr, "copilot_enabled", 0)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
features = {
|
features = {
|
||||||
"indent_blankline", -- Disables heavy indentation lines
|
"indent_blankline", -- Disables heavy indentation lines
|
||||||
"lsp", -- Strips LSP diagnostics and semantic tokens for this buffer
|
"lsp", -- Strips LSP diagnostics and semantic tokens for this buffer
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,19 @@ return {
|
||||||
config = function()
|
config = function()
|
||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
-- vim.env.FLUTTER_FORCE_COLOR = "1"
|
-- vim.env.FLUTTER_FORCE_COLOR = "1"
|
||||||
|
local project_root = vim.fn.getcwd()
|
||||||
|
local analysis_excluded_folders = {
|
||||||
|
project_root .. "/.dart_tool",
|
||||||
|
project_root .. "/build",
|
||||||
|
project_root .. "/ios/Pods",
|
||||||
|
project_root .. "/android/.gradle",
|
||||||
|
}
|
||||||
|
local flutter_bin = vim.fn.exepath("flutter")
|
||||||
|
if flutter_bin ~= "" then
|
||||||
|
local flutter_sdk = vim.fn.fnamemodify(vim.fn.resolve(flutter_bin), ":h:h")
|
||||||
|
table.insert(analysis_excluded_folders, flutter_sdk .. "/packages")
|
||||||
|
table.insert(analysis_excluded_folders, flutter_sdk .. "/.pub-cache")
|
||||||
|
end
|
||||||
|
|
||||||
-- Auto scroll & Color logs when new logs appear
|
-- Auto scroll & Color logs when new logs appear
|
||||||
vim.api.nvim_create_autocmd({ "TextChanged", "BufWinEnter" }, {
|
vim.api.nvim_create_autocmd({ "TextChanged", "BufWinEnter" }, {
|
||||||
|
|
@ -45,12 +58,16 @@ return {
|
||||||
end,
|
end,
|
||||||
settings = {
|
settings = {
|
||||||
showTodos = true,
|
showTodos = true,
|
||||||
completeFunctionCalls = true,
|
completeFunctionCalls = false,
|
||||||
updateImportsOnRename = true,
|
updateImportsOnRename = true,
|
||||||
|
analysisExcludedFolders = analysis_excluded_folders,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
widget_guides = {
|
widget_guides = {
|
||||||
enabled = true,
|
enabled = false,
|
||||||
|
},
|
||||||
|
closing_tags = {
|
||||||
|
enabled = false,
|
||||||
},
|
},
|
||||||
dev_log = {
|
dev_log = {
|
||||||
enabled = true,
|
enabled = true,
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,6 @@ return {
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
fallback()
|
|
||||||
end,
|
end,
|
||||||
}),
|
}),
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
|
@ -126,11 +125,11 @@ return {
|
||||||
end, { "i", "s" }),
|
end, { "i", "s" }),
|
||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "nvim_lsp", keyword_length = 1 },
|
{ name = "nvim_lsp", keyword_length = 2 },
|
||||||
{ name = "luasnip", keyword_length = 1 },
|
{ name = "luasnip", keyword_length = 2 },
|
||||||
{
|
{
|
||||||
name = "buffer",
|
name = "buffer",
|
||||||
keyword_length = 2,
|
keyword_length = 3,
|
||||||
-- Limit indexing to only the active visible buffer to stop lag on Enter
|
-- Limit indexing to only the active visible buffer to stop lag on Enter
|
||||||
option = {
|
option = {
|
||||||
get_bufnrs = function()
|
get_bufnrs = function()
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@ return {
|
||||||
config = function()
|
config = function()
|
||||||
local autopairs = require("nvim-autopairs")
|
local autopairs = require("nvim-autopairs")
|
||||||
autopairs.setup({
|
autopairs.setup({
|
||||||
check_ts = true,
|
check_ts = false,
|
||||||
|
map_cr = false,
|
||||||
ts_config = {
|
ts_config = {
|
||||||
lua = { "string" },
|
lua = { "string" },
|
||||||
dart = { "string_literal" }
|
dart = { "string_literal" }
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,32 @@
|
||||||
return {
|
return {
|
||||||
'nvim-telescope/telescope.nvim', version = '*',
|
'nvim-telescope/telescope.nvim',
|
||||||
|
version = '*',
|
||||||
dependencies = {
|
dependencies = {
|
||||||
'nvim-lua/plenary.nvim',
|
'nvim-lua/plenary.nvim',
|
||||||
-- optional but recommended
|
-- optional but recommended
|
||||||
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
|
{ 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
|
local telescope = require('telescope')
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
|
|
||||||
|
telescope.setup({
|
||||||
|
defaults = {
|
||||||
|
-- The "vimgrep_arguments" here are what make Telescope lag-free
|
||||||
|
-- when working with large generated codebases.
|
||||||
|
vimgrep_arguments = {
|
||||||
|
"rg",
|
||||||
|
"--color=never",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column",
|
||||||
|
"--smart-case",
|
||||||
|
"--glob=!**/*.g.dart", -- Ignore all .g.dart files
|
||||||
|
"--glob=!**/hive_registrar.g.dart", -- Specifically ignore your registry
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue