diff --git a/lua/telescope/_extensions/themes.lua b/lua/telescope/_extensions/themes.lua index e0bf3d9..ba3ed95 100644 --- a/lua/telescope/_extensions/themes.lua +++ b/lua/telescope/_extensions/themes.lua @@ -110,7 +110,6 @@ M.theme_switcher = function(opts) end if reload_theme(final_theme) then - vim.g.current_nvchad_theme = final_theme if change then -- ask for confirmation to set as default theme local ans = string.lower(vim.fn.input("Set " .. new_theme .. " as default theme ? [y/N] ")) == "y" @@ -120,11 +119,8 @@ M.theme_switcher = function(opts) else -- will be used in restoring nvchad theme var final_theme = current_theme - vim.g.current_nvchad_theme = final_theme end end - -- open a buffer and close it to reload the statusline - vim.cmd("new|bwipeout") else final_theme = current_theme end diff --git a/lua/utils.lua b/lua/utils.lua index a54be63..7301689 100644 --- a/lua/utils.lua +++ b/lua/utils.lua @@ -13,6 +13,9 @@ M.change_theme = function(current_theme, new_theme) local file = vim.fn.stdpath("config") .. "/lua/chadrc.lua" -- store in data variable local data = assert(M.file("r", file)) + -- escape characters which can be parsed as magic chars + current_theme = current_theme:gsub("%p", "%%%0") + new_theme = new_theme:gsub("%p", "%%%0") local find = "theme = .?" .. current_theme .. ".?" local replace = 'theme = "' .. new_theme .. '"' local content = string.gsub(data, find, replace)