diff --git a/lua/plugins/ui.lua b/lua/plugins/ui.lua index 1a97a19..7d5f458 100644 --- a/lua/plugins/ui.lua +++ b/lua/plugins/ui.lua @@ -13,12 +13,64 @@ return { }, { "lukas-reineke/indent-blankline.nvim", + dependencies = { "nvim-treesitter/nvim-treesitter" }, main = "ibl", --tag = "v3.5.4", - opts = { - whitespace = { highlight = { "Whitespace", "CursorLine" }, remove_blankline_trail = false }, - indent = { highlight = { "Whitespace", "CursorLine" }, char = "" }, - scope = { enabled = true }, - }, + --opts = { + -- whitespace = { highlight = { "Whitespace", "CursorLine" }, remove_blankline_trail = false }, + -- indent = { highlight = { "Whitespace", "CursorLine" }, char = "" }, + -- scope = { enabled = true }, + --}, + config = function() + local highlightLines = { + "RainbowRed", + "RainbowYellow", + "RainbowBlue", + "RainbowOrange", + "RainbowGreen", + "RainbowViolet", + "RainbowCyan", + } + local highlightDimLines = { + "RainbowDimRed", + "RainbowDimYellow", + "RainbowDimBlue", + "RainbowDimOrange", + "RainbowDimGreen", + "RainbowDimViolet", + "RainbowDimCyan", + } + local hooks = require 'ibl.hooks' + + 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" }) + vim.api.nvim_set_hl(0, "RainbowDimRed", { fg = "#733338" }) + vim.api.nvim_set_hl(0, "RainbowDimYellow", { fg = "#7B6335" }) + vim.api.nvim_set_hl(0, "RainbowDimBlue", { fg = "#2B587D" }) + vim.api.nvim_set_hl(0, "RainbowDimOrange", { fg = "#674D35" }) + vim.api.nvim_set_hl(0, "RainbowDimGreen", { fg = "#4C613D" }) + vim.api.nvim_set_hl(0, "RainbowDimViolet", { fg = "#663774" }) + vim.api.nvim_set_hl(0, "RainbowDimCyan", { fg = "#32555A" }) + end) + + require('ibl').setup { + indent = { + highlight = highlightDimLines, + char = '┊', + tab_char = '┊', + }, + scope = { + highlight = highlightLines, + char = '▎', + } + } + vim.api.nvim_set_hl(0, "@ibl.whitespace.char.1", {}) + end, }, }