From 966d12ac730c83da90d60ab24eae539b2ea69441 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 24 Sep 2025 00:14:04 +0200 Subject: Update/Overhaul --- lua/plugins/indent-blankline.lua | 95 ++++++++++++++++++++++++++++++---------- 1 file changed, 72 insertions(+), 23 deletions(-) mode change 100644 => 100755 lua/plugins/indent-blankline.lua (limited to 'lua/plugins/indent-blankline.lua') diff --git a/lua/plugins/indent-blankline.lua b/lua/plugins/indent-blankline.lua old mode 100644 new mode 100755 index 25a2da0..cbbcf27 --- a/lua/plugins/indent-blankline.lua +++ b/lua/plugins/indent-blankline.lua @@ -1,24 +1,73 @@ ---local highlight = { --- "RainbowRed", --- "RainbowYellow", --- "RainbowBlue", --- "RainbowOrange", --- "RainbowGreen", --- "RainbowViolet", --- "RainbowCyan", ---} --- ---local hooks = require("ibl.hooks") ----- create the highlight groups in the highlight setup hook, so they are reset ----- every time the colorscheme changes ---hooks.register(hooks.type.HIGHLIGHT_SETUP, function() --- vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) --- vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) --- vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) --- vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) --- vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) --- vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) --- vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) ---end) +local M = {} -require("ibl").setup({ indent = { highlight = highlight } }) +--- Setup and configure indent-blankline.nvim +-- This function initializes and configures the indent guides +-- @return boolean True if setup was successful, false otherwise +function M.setup() + local ok, ibl = pcall(require, 'ibl') + if not ok then + return false + end + + local highlight = { + "RainbowRed", + "RainbowYellow", + "RainbowBlue", + "RainbowOrange", + "RainbowGreen", + "RainbowViolet", + "RainbowCyan", + } + + local hooks = require("ibl.hooks") + -- create the highlight groups in the highlight setup hook, so they are reset + -- every time the colorscheme changes + hooks.register(hooks.type.HIGHLIGHT_SETUP, function() + vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" }) + vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" }) + vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" }) + vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" }) + vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" }) + vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" }) + vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" }) + end) + + ibl.setup({ + indent = { highlight = highlight }, + exclude = { + filetypes = { + "", -- for all buffers without a file type + "NvimTree", + "Trouble", + "TelescopePrompt", + "TelescopeResults", + "mason", + "help", + "dashboard", + "packer", + "neogitstatus", + "Trouble", + "text", + "terminal", + "lazy", + }, + buftypes = { + "terminal", + "nofile", + "quickfix", + "prompt", + }, + }, + }) + + -- Toggle indent blankline with ti + vim.keymap.set('n', 'ti', 'IBLToggle', { + noremap = true, + silent = true, + desc = 'Toggle indent guides' + }) + + return true +end + +return M -- cgit v1.2.3