- Replace Snacks picker with fzf-lua for LSP navigation (gd, gr, gi, gt) - Add fzf-lua plugin with LSP-optimized settings - Fix Mason inconsistencies (add eslint, gopls to ensure_installed) - Replace alpha-nvim with Snacks dashboard (shared config) - Create dashboard_config.lua for DRY dashboard settings - Modernize lualine with p10k-rainbow style and solid backgrounds - Enhance bufferline with LSP diagnostics and modern styling - Update noice with centered cmdline/search and modern icons - Add global rounded borders for floating windows - Improve indent-blankline with scope highlighting - Add return-to-dashboard on last buffer close - Create performance_monitor module Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
63 lines
2.0 KiB
Lua
63 lines
2.0 KiB
Lua
return {
|
|
"lukas-reineke/indent-blankline.nvim",
|
|
event = { "BufReadPre", "BufNewFile" },
|
|
main = "ibl",
|
|
config = function()
|
|
local hooks = require("ibl.hooks")
|
|
|
|
-- Rainbow indent colors (subtle)
|
|
hooks.register(hooks.type.HIGHLIGHT_SETUP, function()
|
|
vim.api.nvim_set_hl(0, "IblIndent", { fg = "#292e42" })
|
|
vim.api.nvim_set_hl(0, "IblScope", { fg = "#7aa2f7" })
|
|
vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#3b3052" })
|
|
vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#3b3939" })
|
|
vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#2a3a52" })
|
|
vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#3b3339" })
|
|
vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#2a3b39" })
|
|
vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#3a2a52" })
|
|
vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#2a3b4a" })
|
|
end)
|
|
|
|
require("ibl").setup({
|
|
indent = {
|
|
char = "│",
|
|
tab_char = "│",
|
|
highlight = "IblIndent",
|
|
},
|
|
scope = {
|
|
enabled = true,
|
|
show_start = false,
|
|
show_end = false,
|
|
highlight = "IblScope",
|
|
include = {
|
|
node_type = {
|
|
["*"] = { "return_statement", "table_constructor" },
|
|
lua = { "return_statement", "table_constructor", "function", "if_statement" },
|
|
python = { "function_definition", "class_definition", "if_statement", "for_statement" },
|
|
javascript = { "function_declaration", "arrow_function", "if_statement", "for_statement" },
|
|
typescript = { "function_declaration", "arrow_function", "if_statement", "for_statement" },
|
|
},
|
|
},
|
|
},
|
|
exclude = {
|
|
filetypes = {
|
|
"help",
|
|
"alpha",
|
|
"dashboard",
|
|
"snacks_dashboard",
|
|
"neo-tree",
|
|
"NvimTree",
|
|
"Trouble",
|
|
"trouble",
|
|
"lazy",
|
|
"mason",
|
|
"notify",
|
|
"toggleterm",
|
|
"lazyterm",
|
|
},
|
|
buftypes = { "terminal", "nofile", "quickfix", "prompt" },
|
|
},
|
|
})
|
|
end,
|
|
}
|