4f1ee6ec8f
added cmd fields for various plugins for example lspinstaller+lspconfig gets loaded only when a file opened but their commands can be run before a file is opened so I additionally lazy loaded them on their cmds too
103 lines
2 KiB
Lua
103 lines
2 KiB
Lua
local opt = vim.opt
|
|
local g = vim.g
|
|
local config = require("core.utils").load_config()
|
|
|
|
g.nvchad_theme = config.ui.theme
|
|
g.toggle_theme_icon = " "
|
|
g.transparency = config.ui.transparency
|
|
g.theme_switcher_loaded = false
|
|
|
|
-- use filetype.lua instead of filetype.vim
|
|
g.did_load_filetypes = 0
|
|
g.do_filetype_lua = 1
|
|
|
|
opt.laststatus = 3 -- global statusline
|
|
opt.statusline = config.ui.statusline.config
|
|
opt.showmode = false
|
|
|
|
opt.title = true
|
|
opt.clipboard = "unnamedplus"
|
|
opt.cul = true -- cursor line
|
|
|
|
-- Indenting
|
|
opt.expandtab = true
|
|
opt.shiftwidth = 2
|
|
opt.smartindent = true
|
|
|
|
opt.fillchars = { eob = " " }
|
|
opt.ignorecase = true
|
|
opt.smartcase = true
|
|
opt.mouse = "a"
|
|
|
|
-- Numbers
|
|
opt.number = true
|
|
opt.numberwidth = 2
|
|
opt.ruler = false
|
|
|
|
-- disable nvim intro
|
|
opt.shortmess:append "sI"
|
|
|
|
opt.signcolumn = "yes"
|
|
opt.splitbelow = true
|
|
opt.splitright = true
|
|
opt.tabstop = 8
|
|
opt.termguicolors = true
|
|
opt.timeoutlen = 400
|
|
opt.undofile = true
|
|
|
|
-- interval for writing swap file to disk, also used by gitsigns
|
|
opt.updatetime = 250
|
|
|
|
-- go to previous/next line with h,l,left arrow and right arrow
|
|
-- when cursor reaches end/beginning of line
|
|
opt.whichwrap:append "<>[]hl"
|
|
|
|
g.mapleader = " "
|
|
|
|
-- disable some builtin vim plugins
|
|
local default_plugins = {
|
|
"2html_plugin",
|
|
"getscript",
|
|
"getscriptPlugin",
|
|
"gzip",
|
|
"logipat",
|
|
"netrw",
|
|
"netrwPlugin",
|
|
"netrwSettings",
|
|
"netrwFileHandlers",
|
|
"matchit",
|
|
"tar",
|
|
"tarPlugin",
|
|
"rrhelper",
|
|
"spellfile_plugin",
|
|
"vimball",
|
|
"vimballPlugin",
|
|
"zip",
|
|
"zipPlugin",
|
|
"python3_provider",
|
|
"python_provider",
|
|
"node_provider",
|
|
"ruby_provider",
|
|
"perl_provider",
|
|
"tutor",
|
|
"rplugin",
|
|
"syntax",
|
|
"synmenu",
|
|
"optwin",
|
|
"compiler",
|
|
"bugreport",
|
|
"ftplugin",
|
|
}
|
|
|
|
for _, plugin in pairs(default_plugins) do
|
|
g["loaded_" .. plugin] = 1
|
|
end
|
|
|
|
-- set shada path
|
|
vim.schedule(function()
|
|
vim.opt.shadafile = vim.fn.expand "$HOME" .. "/.local/share/nvim/shada/main.shada"
|
|
vim.cmd [[ silent! rsh ]]
|
|
end)
|
|
|
|
-- load user options
|
|
config.options.user()
|