init.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -- {{{ Bootstrap
  2. local home_dir = vim.loop.os_homedir()
  3. vim.opt.rtp:append(home_dir .. "/.local/share/lunarvim/lvim")
  4. vim.opt.rtp:remove(home_dir .. "/.local/share/nvim/site")
  5. vim.opt.rtp:remove(home_dir .. "/.local/share/nvim/site/after")
  6. vim.opt.rtp:prepend(home_dir .. "/.local/share/lunarvim/site")
  7. vim.opt.rtp:append(home_dir .. "/.local/share/lunarvim/site/after")
  8. vim.opt.rtp:remove(home_dir .. "/.config/nvim")
  9. vim.opt.rtp:remove(home_dir .. "/.config/nvim/after")
  10. vim.opt.rtp:prepend(home_dir .. "/.config/lvim")
  11. vim.opt.rtp:append(home_dir .. "/.config/lvim/after")
  12. -- TODO: we need something like this: vim.opt.packpath = vim.opt.rtp
  13. vim.cmd [[let &packpath = &runtimepath]]
  14. -- }}}
  15. _G.PLENARY_DEBUG = false -- Plenary destroys cache with this undocumented flag set to true by default
  16. require("impatient").setup {
  17. path = vim.fn.stdpath "cache" .. "/lvim_cache",
  18. enable_profiling = true,
  19. }
  20. local config = require "config"
  21. config:init()
  22. config:load()
  23. local plugins = require "plugins"
  24. local plugin_loader = require("plugin-loader").init()
  25. plugin_loader:load { plugins, lvim.plugins }
  26. local Log = require "core.log"
  27. Log:info "Starting LunarVim"
  28. vim.g.colors_name = lvim.colorscheme -- Colorscheme must get called after plugins are loaded or it will break new installs.
  29. vim.cmd("colorscheme " .. lvim.colorscheme)
  30. local utils = require "utils"
  31. utils.toggle_autoformat()
  32. local commands = require "core.commands"
  33. commands.load(commands.defaults)
  34. require("lsp").config()
  35. local null_status_ok, null_ls = pcall(require, "null-ls")
  36. if null_status_ok then
  37. null_ls.config {}
  38. require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup)
  39. end
  40. local lsp_settings_status_ok, lsp_settings = pcall(require, "nlspsettings")
  41. if lsp_settings_status_ok then
  42. lsp_settings.setup {
  43. config_home = home_dir .. "/.config/lvim/lsp-settings",
  44. }
  45. end
  46. require("keymappings").setup()