diff --git a/lua/lvim/core/theme.lua b/lua/lvim/core/theme.lua index 394963a0..0f960d3d 100644 --- a/lua/lvim/core/theme.lua +++ b/lua/lvim/core/theme.lua @@ -1,3 +1,5 @@ +local Log = require "lvim.core.log" + local M = {} M.config = function() @@ -85,20 +87,26 @@ end M.setup = function() -- avoid running in headless mode since it's harder to detect failures if #vim.api.nvim_list_uis() == 0 then - local Log = require "lvim.core.log" Log:debug "headless mode detected, skipping running setup for lualine" return end local status_ok, theme = pcall(require, "tokyonight") - if not status_ok then - return + if status_ok and theme then + theme.setup(lvim.builtin.theme.options) end - theme.setup(lvim.builtin.theme.options) + -- ref: https://github.com/neovim/neovim/issues/18201#issuecomment-1104754564 + local colors = vim.api.nvim_get_runtime_file(("colors/%s.*"):format(lvim.colorscheme), false) + if #colors == 0 then + Log:warn(string.format("Could not find '%s' colorscheme", lvim.colorscheme)) + lvim.colorscheme = "tokyonight" + end + + vim.g.colors_name = lvim.colorscheme + vim.cmd("colorscheme " .. lvim.colorscheme) require("lvim.core.lualine").setup() - require("lvim.core.lir").icon_setup() end diff --git a/lua/lvim/plugin-loader.lua b/lua/lvim/plugin-loader.lua index d09c722b..392d3ceb 100644 --- a/lua/lvim/plugin-loader.lua +++ b/lua/lvim/plugin-loader.lua @@ -106,10 +106,8 @@ function plugin_loader.load(configurations) end end end) - -- colorscheme must get called after plugins are loaded or it will break new installs. - vim.g.colors_name = lvim.colorscheme - vim.cmd("colorscheme " .. lvim.colorscheme) end, debug.traceback) + if not status_ok then Log:warn "problems detected while loading plugins' configurations" Log:trace(debug.traceback())