summaryrefslogtreecommitdiff
path: root/lua/config/init.lua
diff options
context:
space:
mode:
authorchristianchiarulli <[email protected]>2021-08-29 14:17:32 -0400
committerchristianchiarulli <[email protected]>2021-08-29 14:17:32 -0400
commited5559d259e38a78796a7d81421f02ba6dafac4b (patch)
treeafa9c00c017382bac547265a8a1e16b9770a07eb /lua/config/init.lua
parente7b6d3b6f5982ea1042ffd499a7b85c18f0b782e (diff)
parentc7a5122fe2c14dba0f28f1c077f838f957884afc (diff)
Merge branch 'rolling' of github.com:ChristianChiarulli/LunarVim
Diffstat (limited to 'lua/config/init.lua')
-rw-r--r--lua/config/init.lua49
1 files changed, 49 insertions, 0 deletions
diff --git a/lua/config/init.lua b/lua/config/init.lua
new file mode 100644
index 00000000..332460d3
--- /dev/null
+++ b/lua/config/init.lua
@@ -0,0 +1,49 @@
+local home_dir = vim.loop.os_homedir()
+local M = {
+ path = string.format("%s/.config/lvim/config.lua", home_dir),
+}
+
+--- Initialize lvim default configuration
+-- Define lvim global variable
+function M:init()
+ local utils = require "utils"
+
+ require "config.defaults"
+
+ local builtins = require "core.builtins"
+ builtins.config(self)
+
+ local settings = require "config.settings"
+ settings.load_options()
+
+ -- Fallback config.lua to lv-config.lua
+ if not utils.is_file(self.path) then
+ local lv_config = self.path:gsub("config.lua$", "lv-config.lua")
+ print(self.path, "not found, falling back to", lv_config)
+
+ self.path = lv_config
+ end
+end
+
+--- Override the configuration with a user provided one
+-- @param config_path The path to the configuration overrides
+function M:load(config_path)
+ local autocmds = require "core.autocmds"
+
+ config_path = config_path or self.path
+ local ok, err = pcall(vim.cmd, "luafile " .. config_path)
+ if not ok then
+ print("Invalid configuration", config_path)
+ print(err)
+ return
+ end
+
+ self.path = config_path
+
+ autocmds.define_augroups(lvim.autocommands)
+
+ local settings = require "config.settings"
+ settings.load_commands()
+end
+
+return M