summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Chiarulli <[email protected]>2022-10-17 08:06:12 -0400
committerGitHub <[email protected]>2022-10-17 14:06:12 +0200
commit6f6cbc394d2a7e64964b6067a2f42d2e6a07824e (patch)
treea83d1ed825d1a79ebf8e877a267e427d58de7bdd
parentb7b9087d34d868e3cdbe84d38ac4214b3d8ce2f0 (diff)
feat(config): allow disabling reload-on-save (#3261)
-rw-r--r--lua/lvim/config/defaults.lua1
-rw-r--r--lua/lvim/config/init.lua4
-rw-r--r--lua/lvim/core/autocmds.lua35
3 files changed, 22 insertions, 18 deletions
diff --git a/lua/lvim/config/defaults.lua b/lua/lvim/config/defaults.lua
index 7e111429..1bd57b94 100644
--- a/lua/lvim/config/defaults.lua
+++ b/lua/lvim/config/defaults.lua
@@ -1,5 +1,6 @@
return {
leader = "space",
+ reload_config_on_save = true,
colorscheme = "tokyonight",
transparent_window = false,
format_on_save = {
diff --git a/lua/lvim/config/init.lua b/lua/lvim/config/init.lua
index ea36a9a0..59722673 100644
--- a/lua/lvim/config/init.lua
+++ b/lua/lvim/config/init.lua
@@ -139,6 +139,10 @@ function M:load(config_path)
if lvim.transparent_window then
autocmds.enable_transparent_mode()
end
+
+ if lvim.reload_config_on_save then
+ autocmds.enable_reload_config_on_save()
+ end
end
--- Override the configuration with a user provided one
diff --git a/lua/lvim/core/autocmds.lua b/lua/lvim/core/autocmds.lua
index 0e6b4cd7..ae10d552 100644
--- a/lua/lvim/core/autocmds.lua
+++ b/lua/lvim/core/autocmds.lua
@@ -3,13 +3,6 @@ local Log = require "lvim.core.log"
--- Load the default set of autogroups and autocommands.
function M.load_defaults()
- local user_config_file = require("lvim.config"):get_user_config_path()
-
- if vim.loop.os_uname().version:match "Windows" then
- -- autocmds require forward slashes even on windows
- user_config_file = user_config_file:gsub("\\", "/")
- end
-
vim.api.nvim_create_autocmd({ "FileType" }, {
pattern = {
"Jaq",
@@ -42,17 +35,6 @@ function M.load_defaults()
},
},
{
- "BufWritePost",
- {
- group = "_general_settings",
- pattern = user_config_file,
- desc = "Trigger LvimReload on saving " .. vim.fn.expand "%:~",
- callback = function()
- require("lvim.config"):reload()
- end,
- },
- },
- {
"FileType",
{
group = "_hide_dap_repl",
@@ -181,6 +163,23 @@ function M.toggle_format_on_save()
end
end
+function M.enable_reload_config_on_save()
+ local user_config_file = require("lvim.config"):get_user_config_path()
+
+ if vim.loop.os_uname().version:match "Windows" then
+ -- autocmds require forward slashes even on windows
+ user_config_file = user_config_file:gsub("\\", "/")
+ end
+ vim.api.nvim_create_autocmd("BufWritePost", {
+ group = "_general_settings",
+ pattern = user_config_file,
+ desc = "Trigger LvimReload on saving config.lua",
+ callback = function()
+ require("lvim.config"):reload()
+ end,
+ })
+end
+
function M.enable_transparent_mode()
vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*",