summaryrefslogtreecommitdiffstats
path: root/lua/core
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--lua/core/misc.lua10
-rw-r--r--lua/core/theme.lua4
2 files changed, 14 insertions, 0 deletions
diff --git a/lua/core/misc.lua b/lua/core/misc.lua
index 6f69e81..1f6d427 100644
--- a/lua/core/misc.lua
+++ b/lua/core/misc.lua
@@ -11,6 +11,16 @@ function M.colorscheme(name)
end
end
+function M.replaceword(old, new)
+ local conf = vim.fn.stdpath("config").."/lua/conf/".."opts.lua"
+ local f = io.open(conf, "r")
+ local new_content = f:read("*all"):gsub(old, new)
+
+ f = io.open(conf, "w")
+ f:write(new_content)
+ f:close()
+end
+
function M.include(fn)
if not pcall(require, fn) then
vim.notify('Could not find "'..fn, vim.log.levels.WARN..'"', { title = M.appid })
diff --git a/lua/core/theme.lua b/lua/core/theme.lua
index 9d508f2..f6598ac 100644
--- a/lua/core/theme.lua
+++ b/lua/core/theme.lua
@@ -66,6 +66,10 @@ function M.switcher()
if action_state.get_selected_entry() then
actions.close(prompt_bufnr)
misc.colorscheme(action_state.get_selected_entry()[1])
+
+ -- make the colorscheme swap persistant
+ misc.replaceword("misc.colorscheme%(.+%)",
+ "misc.colorscheme('"..action_state.get_selected_entry()[1].."')")
end
end)
return true