diff --git a/init.lua b/init.lua index 58a90da..c9df36f 100644 --- a/init.lua +++ b/init.lua @@ -1,14 +1,28 @@ --- load all plugins -require "pluginList" +-- load all options require "options" --- colorscheme related stuff -vim.g.nvchad_theme = "onedark" -local base16 = require "base16" -base16(base16.themes["onedark"], true) +-- only try to load stuff if atleast base16 is initialized +-- TODO: Find a better way to trigger PackerSync +if require "theme" then + local async + async = + vim.loop.new_async( + vim.schedule_wrap( + function() + require "pluginList" + require "plugins.bufferline" + require "highlights" + require "mappings" + require("utils").hideStuff() -require "highlights" -require "mappings" -require "plugins.bufferline" - -require("utils").hideStuff() + async:close() + end + ) + ) + async:send() +else + -- otherwise run packer sync + require "pluginList" + print("Now PackerSync will be executed, after completion, restart neovim.\n") + vim.cmd("PackerSync") +end diff --git a/lua/mappings.lua b/lua/mappings.lua index cd1cd1a..c9ae584 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -76,7 +76,17 @@ _G.s_tab_complete = function() end function _G.completions() - local npairs = require("nvim-autopairs") + local npairs + if + not pcall( + function() + npairs = require "nvim-autopairs" + end + ) + then + return + end + if vim.fn.pumvisible() == 1 then if vim.fn.complete_info()["selected"] ~= -1 then return vim.fn["compe#confirm"]("") diff --git a/lua/theme.lua b/lua/theme.lua new file mode 100644 index 0000000..8727eaf --- /dev/null +++ b/lua/theme.lua @@ -0,0 +1,21 @@ +-- colorscheme related stuff +vim.g.nvchad_theme = "onedark" + +local base16 +if + not pcall( + function() + base16 = require "base16" + end + ) + then + return false +else + base16(base16.themes["onedark"], true) + local cmd = vim.cmd + + -- load bg color before async for smooth transition + local background = require("themes/" .. vim.g.nvchad_theme).black + vim.cmd("hi Normal guibg=" .. background) + return true +end diff --git a/lua/utils.lua b/lua/utils.lua index db5dea2..a06fa07 100644 --- a/lua/utils.lua +++ b/lua/utils.lua @@ -1,17 +1,5 @@ local M = {} --- blankline config -M.blankline = function() - vim.g.indentLine_enabled = 1 - vim.g.indent_blankline_char = "▏" - - vim.g.indent_blankline_filetype_exclude = {"help", "terminal", "dashboard"} - vim.g.indent_blankline_buftype_exclude = {"terminal"} - - vim.g.indent_blankline_show_trailing_blankline_indent = false - vim.g.indent_blankline_show_first_indent_level = false -end - -- hide line numbers , statusline in specific buffers! M.hideStuff = function() vim.api.nvim_exec(