From e923c165cac66d73e6d6743b58d2b2b4d9e3e0bc Mon Sep 17 00:00:00 2001 From: Aquib <77913442+tamton-aquib@users.noreply.github.com> Date: Sun, 5 Sep 2021 15:38:59 +0530 Subject: [PATCH] Fix: possible fix for highlights overriding Fix: possible fix for highlights overriding #3 --- lua/tokyodark/highlights.lua | 21 ++++++++++++--------- lua/tokyodark/init.lua | 2 ++ 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lua/tokyodark/highlights.lua b/lua/tokyodark/highlights.lua index 5f8043c..d7a185c 100644 --- a/lua/tokyodark/highlights.lua +++ b/lua/tokyodark/highlights.lua @@ -7,9 +7,9 @@ local hl = {langs = {}, plugins = {}} local highlight = vim.api.nvim_set_hl local set_hl_ns = vim.api.nvim__set_hl_ns or vim.api.nvim_set_hl_ns -local create_namespace = vim.api.nvim_create_namespace +local ns = vim.api.nvim_create_namespace("tokyodark") -local function load_highlights(ns, highlights) +local function load_highlights(highlights) for group_name, group_settings in pairs(highlights) do highlight(ns, group_name, group_settings) end @@ -233,11 +233,15 @@ hl.langs.scala = { scalaKeywordModifier = hl.predef.Red } +function M.clear_namespace() + vim.api.nvim_buf_clear_namespace(0, ns, 0, -1) + set_hl_ns(0) +end + local function load_sync() - local ns = create_namespace("tokyodark") - load_highlights(ns, hl.predef) - load_highlights(ns, hl.common) - load_highlights(ns, hl.syntax) + load_highlights(hl.predef) + load_highlights(hl.common) + load_highlights(hl.syntax) -- for _, group in pairs(hl.langs) do load_highlights(ns, group) end -- for _, group in pairs(hl.plugins) do load_highlights(ns, group) end set_hl_ns(ns) @@ -245,9 +249,8 @@ end local load_async load_async = vim.loop.new_async(vim.schedule_wrap(function() - local ns = create_namespace("tokyodark") - for _, group in pairs(hl.langs) do load_highlights(ns, group) end - for _, group in pairs(hl.plugins) do load_highlights(ns, group) end + for _, group in pairs(hl.langs) do load_highlights(group) end + for _, group in pairs(hl.plugins) do load_highlights(group) end set_hl_ns(ns) load_async:close() end)) diff --git a/lua/tokyodark/init.lua b/lua/tokyodark/init.lua index 93e749e..181e3ce 100644 --- a/lua/tokyodark/init.lua +++ b/lua/tokyodark/init.lua @@ -9,6 +9,8 @@ local function colorscheme() vim.g.colors_name = "tokyodark" highlights.setup() terminal.setup() + + vim.cmd [[au ColorSchemePre * lua require("tokyodark.highlights").clear_namespace()]] end colorscheme()