From b8c2e2d8742224f5f88da4cbfad22bdade684b97 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Wed, 30 Apr 2025 12:31:01 +0800 Subject: [PATCH] feat nvim: add indent-blankline --- .../nvim/exact_lua/exact_config/lazy.lua | 1 + .../exact_editor/indent-blankline.lua | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 dot_config/nvim/exact_lua/exact_plugins/exact_editor/indent-blankline.lua diff --git a/dot_config/nvim/exact_lua/exact_config/lazy.lua b/dot_config/nvim/exact_lua/exact_config/lazy.lua index 3eba9f8..352326d 100644 --- a/dot_config/nvim/exact_lua/exact_config/lazy.lua +++ b/dot_config/nvim/exact_lua/exact_config/lazy.lua @@ -47,6 +47,7 @@ require("lazy").setup({ { import = "plugins.components" }, { import = "plugins.components.buffer.barbar" }, -- 目前只有barbar處理Buffer是最好的 { import = "plugins.ui" }, + { import = "plugins.editor" }, -- 手動引入 o-plugins 資料夾中的插件 -- require("o-plugins.nvim-listchars"), diff --git a/dot_config/nvim/exact_lua/exact_plugins/exact_editor/indent-blankline.lua b/dot_config/nvim/exact_lua/exact_plugins/exact_editor/indent-blankline.lua new file mode 100644 index 0000000..ec7be04 --- /dev/null +++ b/dot_config/nvim/exact_lua/exact_plugins/exact_editor/indent-blankline.lua @@ -0,0 +1,40 @@ + +return { + { + "lukas-reineke/indent-blankline.nvim", + main = "ibl", + ---@module "ibl" + ---@type ibl.config + -- opts = {}, + config = function(_, opts) + -- require("ibl").setup(opts) + + 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) + + vim.g.rainbow_delimiters = { highlight = highlight } + require("ibl").setup { scope = { highlight = highlight } } + + hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark) + end, + } +}