Files
lua-nvim/lua/cargdev/plugins/indent-blankline.lua
Carlos Gutierrez 89cba7056e feat(ui): modernize nvim with fzf-lua, snacks dashboard, and p10k-style statusline
- 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>
2026-01-12 18:59:46 -05:00

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,
}