init.lua 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. local M = {}
  2. --- Initialize lvim default configuration
  3. -- Define lvim global variable
  4. function M:init(opts)
  5. opts = opts or {}
  6. self.path = opts.path
  7. local utils = require "utils"
  8. require "config.defaults"
  9. -- Fallback config.lua to lv-config.lua
  10. if not utils.is_file(self.path) then
  11. local lv_config = self.path:gsub("config.lua$", "lv-config.lua")
  12. print(self.path, "not found, falling back to", lv_config)
  13. self.path = lv_config
  14. end
  15. local builtins = require "core.builtins"
  16. builtins.config(self)
  17. local settings = require "config.settings"
  18. settings.load_options()
  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. local autocmds = require "core.autocmds"
  24. config_path = config_path or self.path
  25. local ok, err = pcall(vim.cmd, "luafile " .. config_path)
  26. if not ok then
  27. print("Invalid configuration", config_path)
  28. print(err)
  29. return
  30. end
  31. self.path = config_path
  32. autocmds.define_augroups(lvim.autocommands)
  33. local settings = require "config.settings"
  34. settings.load_commands()
  35. end
  36. return M