From 23c50bb4b01ee3076006d4e816aeaf03b36f8c5b Mon Sep 17 00:00:00 2001 From: Nate McCurdy Date: Tue, 30 Jul 2024 13:40:56 -0700 Subject: [PATCH] fix(navic): Use the same background color as lualine section_c Prior to this, when using the navic Extra, the symbol breadcrumbs shown in lualine section_c had a background color different from the background of lualine_c, causing it to standout and not blend in with some colorschemes. There were ways around this problem, but hose involved overriding a lot of highlights. See https://github.com/LazyVim/LazyVim/issues/328 This change uses the new (as of April 2023) lualine component built in to SmiteshP/nvim-navic, which has a `color_correction` option to fix the problem described above. This built-in component replaces the manual method of calling `require("nvim-navic").is_available()` and `require("nvim-navic").get_location()`. * https://github.com/SmiteshP/nvim-navic/commit/711e9f117a0936c9d4420a135d658d2ca53a9e99 * https://github.com/SmiteshP/nvim-navic/commit/bf587250f8e399da75b4efe12261e18d8783ecef With `color_correction` set to "static" or "dynamic", navic uses the lualine section's background color when building the breadcrumbs text. I chose to set color_correction to "dynamic" to provide the best user experience as that will update the background any time the lualine section's background changes (e.g. when switching modes). --- lua/lazyvim/plugins/extras/editor/navic.lua | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lua/lazyvim/plugins/extras/editor/navic.lua b/lua/lazyvim/plugins/extras/editor/navic.lua index 642a4a99..e25d1b51 100644 --- a/lua/lazyvim/plugins/extras/editor/navic.lua +++ b/lua/lazyvim/plugins/extras/editor/navic.lua @@ -30,14 +30,7 @@ return { optional = true, opts = function(_, opts) if not vim.g.trouble_lualine then - table.insert(opts.sections.lualine_c, { - function() - return require("nvim-navic").get_location() - end, - cond = function() - return package.loaded["nvim-navic"] and require("nvim-navic").is_available() - end, - }) + table.insert(opts.sections.lualine_c, { "navic", color_correction = "dynamic" }) end end, },