diff options
Diffstat (limited to '.config/nvim/init.lua')
| -rw-r--r-- | .config/nvim/init.lua | 198 |
1 files changed, 122 insertions, 76 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 08f5cf7..d1f9911 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -44,114 +44,160 @@ --$ nvim --startuptime startup.log -c exit && tail -100 startup.log -- Load impatient (Faster loading times) -local impatient_ok, impatient = pcall(require, "impatient") +local impatient_ok, impatient = pcall(require, 'impatient') if impatient_ok then impatient.enable_profile() end - -- Schedule reading shadafile to improve the startup time -vim.opt.shadafile = "NONE" +vim.opt.shadafile = 'NONE' vim.schedule(function() - vim.opt.shadafile = "" - vim.cmd("silent! rsh") + vim.opt.shadafile = '' + vim.cmd('silent! rsh') end) - -- Load/reload modules local modules = { - "user.pack", -- Packer plugin manager - "user.opts", -- Options - "user.keys", -- Keymaps - "user.mods", -- Modules/functions + 'user.pack', -- Packer plugin manager + 'user.opts', -- Options + 'user.keys', -- Keymaps + 'user.mods', -- Modules/functions --"user.scripts", - "plugins.treesitter", - "plugins.neodev", - "plugins.colorscheme", - "plugins.telescope", - "plugins.nvim-tree", - "plugins.web-devicons", - "plugins.cmp", - "plugins.quickfix", + 'plugins.treesitter', + 'plugins.neodev', + --'plugins.colorscheme', + 'plugins.telescope', + 'plugins.nvim-tree', + 'plugins.web-devicons', + 'plugins.cmp', + 'plugins.quickfix', --"plugins.snippets", --"plugins.colorizer", --"plugins.prettier", --"plugins.git", - "plugins.lsp", + 'plugins.lsp', --"plugins.fugitive", - "plugins.gitsigns", - "plugins.neoscroll", - "plugins.statuscol", - "plugins.trouble", - "plugins.goto-preview", - "plugins.autopairs", - "plugins.navic", - "plugins.toggleterm", - "plugins.zen-mode", - "plugins.fidget", - "plugins.dap", - "plugins.neotest", - "plugins.heirline", - "plugins.dashboard", - "plugins.which-key", - "plugins.harpoon", + 'plugins.gitsigns', + 'plugins.sniprun', + 'plugins.session', + 'plugins.neoscroll', + 'plugins.statuscol', + 'plugins.trouble', + 'plugins.goto-preview', + 'plugins.autopairs', + 'plugins.navic', + 'plugins.toggleterm', + 'plugins.zen-mode', + 'plugins.fidget', + 'plugins.dap', + 'plugins.neotest', + 'plugins.heirline', + 'plugins.dashboard', + 'plugins.which-key', + 'plugins.harpoon', --"plugins.modify-blend", } - -- Refresh module cache for k, v in pairs(modules) do package.loaded[v] = nil require(v) end - --- Check if we have the latest stable version of nvim -local mods = require("user.mods") -local expected_ver = "0.9.0" -local nvim_ver = mods.get_nvim_version() - -if nvim_ver ~= expected_ver then - local msg = string.format("Unsupported nvim version: expect %s, but got %s instead!", expected_ver, nvim_ver) - vim.api.nvim_err_writeln(msg) - return -end - - --- Snippets -vim.g.snippets = "luasnip" - --- Notifications -vim.notify = require("notify") -- Requires plugin "rcarriga/nvim-notify" - -- Improve speed by disabling some default plugins/modules local builtins = { - "gzip", - "zip", - "zipPlugin", - "tar", - "tarPlugin", - "getscript", - "getscriptPlugin", - "vimball", - "vimballPlugin", - "2html_plugin", + 'gzip', + 'zip', + 'zipPlugin', + 'tar', + 'tarPlugin', + 'getscript', + 'getscriptPlugin', + 'vimball', + 'vimballPlugin', + '2html_plugin', --"matchit", --"matchparen", - "logiPat", - "rrhelper", - "netrw", - "netrwPlugin", - "netrwSettings", - "netrwFileHandlers", - "tutor_mode_plugin", - "fzf", - "spellfile_plugin", - "sleuth", + 'logiPat', + 'rrhelper', + 'netrw', + 'netrwPlugin', + 'netrwSettings', + 'netrwFileHandlers', + 'tutor_mode_plugin', + 'fzf', + 'spellfile_plugin', + 'sleuth', } for _, plugin in ipairs(builtins) do - vim.g["loaded_" .. plugin] = 1 + vim.g['loaded_' .. plugin] = 1 end vim.g.do_filetype_lua = 1 vim.g.did_load_filetypes = 0 + +-- Snippets +--vim.g.snippets = 'luasnip' + +-- Notifications +vim.notify = require('notify') -- Requires plugin "rcarriga/nvim-notify" + +-- Colorscheme + +-- Colors +vim.opt.termguicolors = true + +-- Available colorschemes: +-- [[ nightfly ayu onedark doom-one nvimgelion github_dark tokyonight ]] + +require('tokyonight').setup({ + style = 'night', + transparent = true, + transparent_sidebar = true, + styles = { + sidebars = 'transparent', + floats = 'transparent', + }, +}) + +-- Define default color scheme +local default_colorscheme = 'tokyonight' +local fallback_colorscheme = 'desert' + +-- Attempt to set the default color scheme +local status_ok, _ = pcall(vim.cmd, 'colorscheme ' .. default_colorscheme) + +-- If the default color scheme is not found, use the fallback color scheme +if not status_ok then + vim.cmd('colorscheme ' .. fallback_colorscheme) +end + +vim.api.nvim_command('syntax on') +vim.api.nvim_command('highlight Normal guibg=NONE ctermbg=NONE') +vim.api.nvim_command('highlight NonText guibg=NONE ctermbg=NONE') +vim.api.nvim_command('highlight NormalNC guibg=NONE') +vim.api.nvim_command('highlight SignColumn guibg=NONE') +vim.api.nvim_command('highlight FoldColumn guibg=NONE') +vim.api.nvim_command('highlight CursorLineSign guibg=NONE ctermbg=NONE') +vim.api.nvim_command('highlight TabLine guibg=#333842 gui=bold') +vim.api.nvim_command('highlight Title guibg=NONE gui=bold') +vim.api.nvim_command('highlight TabLineSel guibg=#333842 gui=bold') +vim.api.nvim_command('highlight TabLineFill guibg=NONE gui=bold') +vim.api.nvim_command('highlight WinBar guibg=NONE gui=bold') +vim.api.nvim_command('highlight NormalFloat guibg=NONE') +vim.api.nvim_command('highlight LineNr guibg=NONE') +vim.api.nvim_command('highlight WinSeparator guibg=NONE gui=bold') +vim.api.nvim_command('highlight MsgSeparator guibg=NONE') +vim.api.nvim_command('highlight PmenuSel guibg=NONE') +vim.api.nvim_command('highlight winblend guibg=NONE') +vim.api.nvim_command('highlight EndOfBuffer guibg=NONE guifg=Normal') + +-- Set different window separator colorscheme +vim.cmd([[ +au WinEnter * setl winhl=WinSeparator:WinSeparatorA +au WinLeave * setl winhl=WinSeparator:WinSeparator +]]) + +require('notify').setup({ + background_colour = '#000000', +}) |
