init.lua 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. local M = {
  2. path = string.format("%s/.config/lvim/config.lua", os.getenv "HOME"),
  3. }
  4. --- Initialize lvim default configuration
  5. -- Define lvim global variable
  6. function M:init()
  7. local utils = require "utils"
  8. require "config.defaults"
  9. local builtins = require "core.builtins"
  10. builtins.config(self)
  11. local settings = require "config.settings"
  12. settings.load_options()
  13. -- Fallback config.lua to lv-config.lua
  14. if not utils.is_file(self.path) then
  15. local lv_config = self.path:gsub("config.lua$", "lv-config.lua")
  16. print(self.path, "not found, falling back to", lv_config)
  17. self.path = lv_config
  18. end
  19. end
  20. --- Override the configuration with a user provided one
  21. -- @param config_path The path to the configuration overrides
  22. function M:load(config_path)
  23. config_path = config_path or self.path
  24. local ok, err = pcall(vim.cmd, "luafile " .. config_path)
  25. if not ok then
  26. print("Invalid configuration", config_path)
  27. print(err)
  28. return
  29. end
  30. self.path = config_path
  31. local settings = require "config.settings"
  32. settings.load_commands()
  33. end
  34. return M