init.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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. local config = require "config"
  16. config:init()
  17. config:load()
  18. local plugins = require "plugins"
  19. local plugin_loader = require("plugin-loader").init()
  20. plugin_loader:load { plugins, lvim.plugins }
  21. local Log = require "core.log"
  22. Log:info "Starting LunarVim"
  23. vim.g.colors_name = lvim.colorscheme -- Colorscheme must get called after plugins are loaded or it will break new installs.
  24. vim.cmd("colorscheme " .. lvim.colorscheme)
  25. local utils = require "utils"
  26. utils.toggle_autoformat()
  27. local commands = require "core.commands"
  28. commands.load(commands.defaults)
  29. require("lsp").config()
  30. local null_status_ok, null_ls = pcall(require, "null-ls")
  31. if null_status_ok then
  32. null_ls.config {}
  33. require("lspconfig")["null-ls"].setup(lvim.lsp.null_ls.setup)
  34. end
  35. local lsp_settings_status_ok, lsp_settings = pcall(require, "nlspsettings")
  36. if lsp_settings_status_ok then
  37. lsp_settings.setup {
  38. config_home = home_dir .. "/.config/lvim/lsp-settings",
  39. }
  40. end
  41. require("keymappings").setup()
  42. -- TODO: these guys need to be in language files
  43. -- if lvim.lang.emmet.active then
  44. -- require "lsp.emmet-ls"
  45. -- end
  46. -- if lvim.lang.tailwindcss.active then
  47. -- require "lsp.tailwind