-- ░██████╗░██╗░░░██╗██╗██╗░░██╗░█████╗░████████╗██╗░█████╗░░░░░░░███╗░░██╗██╗░░░██╗██╗███╗░░░███╗ -- ██╔═══██╗██║░░░██║██║╚██╗██╔╝██╔══██╗╚══██╔══╝██║██╔══██╗░░░░░░████╗░██║██║░░░██║██║████╗░████║ -- ██║██╗██║██║░░░██║██║░╚███╔╝░██║░░██║░░░██║░░░██║██║░░╚═╝█████╗██╔██╗██║╚██╗░██╔╝██║██╔████╔██║ -- ╚██████╔╝██║░░░██║██║░██╔██╗░██║░░██║░░░██║░░░██║██║░░██╗╚════╝██║╚████║░╚████╔╝░██║██║╚██╔╝██║ -- ░╚═██╔═╝░╚██████╔╝██║██╔╝╚██╗╚█████╔╝░░░██║░░░██║╚█████╔╝░░░░░░██║░╚███║░░╚██╔╝░░██║██║░╚═╝░██║ -- ░░░╚═╝░░░░╚═════╝░╚═╝╚═╝░░╚═╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░░░░░░░╚═╝░░╚══╝░░░╚═╝░░░╚═╝╚═╝░░░░░╚═╝ -- -- By QuixoticNapoleon -------------------------------------------------------- -- 🪶 Plugins -------------------------------------------------------- -- Plugins require("config.lazy") -- require("lazy").setup("plugins") -- Config Files require("config/keybindings") require("config/tree") require('config/statusline') require("config/neovide") require("config/ccc") require("config/dashboard") require("config/tabs") -- require('config/greeter') -------------------------------------------------------- -- 🪶 Basic Settings -------------------------------------------------------- -- Line Numbers vim.wo.number = true vim.wo.relativenumber = true -- Change the color of the line numbers vim.api.nvim_set_hl(0, 'LineNr', { fg = '#74c4c4', bg = 'NONE' }) vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = '#74c4c4', bg = 'NONE' }) -- Tab Spaces vim.cmd("set tabstop=4") vim.cmd("set shiftwidth=4") vim.cmd("set expandtab") -------------------------------------------------------- -- 🪶 GUI and Colour Configuration -------------------------------------------------------- -- Colors vim.opt.termguicolors = true vim.opt.background = "dark" -- or "light" depending on theme -- Remove Vim Background vim.api.nvim_set_hl(0, "Normal", { ctermbg = "none", bg = "none" }) -- Colors (Foreground and Background) -- Neovide uses Neovim's colorscheme, so we’ll override via highlight groups vim.api.nvim_set_hl(0, "Normal", { fg = "#8affff", bg = "#003636" }) vim.api.nvim_set_hl(0, "NormalFloat", { fg = "#8affff", bg = "#003636" }) -- Set font and size -- vim.o.guifont = "JetBrainsMono Nerd Font:h14" vim.o.guifont = "Source Code Pro:h10.5" vim.cmd [[ highlight BufferCurrent guifg=#FFFFFF guibg=#003636 highlight BufferVisible guifg=#CCCCCC guibg=#003636 highlight BufferInactive guifg=#888888 guibg=#003636 highlight BufferDefaultCurrent guifg=#FFFFFF guibg=#003636 highlight BufferDefaultVisible guifg=#CCCCCC guibg=#003636 highlight BufferDefaultInactive guifg=#888888 guibg=#003636 highlight BufferInactiveSign guifg=#8affff guibg=#003636 highlight BufferVisibleSign guifg=#8affff guibg=#003636 highlight BufferCurrentSign guifg=#8affff guibg=#003636 highlight BufferDefaultInactiveSign guifg=#8affff guibg=#003636 highlight BufferDefaultVisibleSign guifg=#8affff guibg=#003636 highlight BufferDefaultCurrentSign guifg=#8affff guibg=#003636 highlight BufferDefaultInactiveIcon guifg=#8affff guibg=#003636 highlight BufferDefaultVisibleIcon guifg=#8affff guibg=#003636 highlight BufferDefaultCurrentIcon guifg=#8affff guibg=#003636 highlight BufferInactiveIcon guifg=#8affff guibg=#003636 highlight BufferVisibleIcon guifg=#8affff guibg=#003636 highlight BufferCurrentIcon guifg=#8affff guibg=#003636 highlight BufferTabpageFill guibg=#003636 ]] -- desired icon background colour local ICON_BG = "#003636" local function fix_devicon_bg() for _, name in ipairs(vim.fn.getcompletion('DevIcon', 'highlight')) do local hl = vim.api.nvim_get_hl(0, { name = name }) -- Only change background (keep fg) vim.api.nvim_set_hl(0, name, { fg = hl.fg, bg = ICON_BG }) end end -- Hook on colorscheme change / startup vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, { callback = function() vim.schedule(fix_devicon_bg) end, }) -- Hook when buffers enter (so new filetypes show up) vim.api.nvim_create_autocmd("BufEnter", { callback = function() vim.schedule(fix_devicon_bg) end, }) -- Wrap devicons.refresh local ok, devicons = pcall(require, "nvim-web-devicons") if ok then local orig_refresh = devicons.refresh devicons.refresh = function(...) local result = orig_refresh(...) vim.schedule(fix_devicon_bg) return result end end -- local bg = "#003636" -- -- local function fix_devicon_bg() -- for _, name in ipairs(vim.fn.getcompletion('DevIcon', 'highlight')) do -- local hl = vim.api.nvim_get_hl(0, { name = name }) -- vim.api.nvim_set_hl(0, name, { fg = hl.fg, bg = bg }) -- end -- end -- -- -- Run whenever colorschemes change or devicons refresh -- vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, { -- callback = function() vim.schedule(fix_devicon_bg) end, -- }) -- -- -- Wrap nvim-web-devicons.refresh() to always recolor after it defines new icons -- local devicons_ok, devicons = pcall(require, "nvim-web-devicons") -- if devicons_ok then -- local orig_refresh = devicons.refresh -- devicons.refresh = function(...) -- local result = orig_refresh(...) -- vim.schedule(fix_devicon_bg) -- return result -- end -- end -- local function fix_all_devicon_bg() -- local bg = "#003636" -- for _, name in ipairs(vim.fn.getcompletion('DevIcon', 'highlight')) do -- -- only override background, keep whatever fg is there -- local hl = vim.api.nvim_get_hl(0, { name = name }) -- vim.api.nvim_set_hl(0, name, { fg = hl.fg, bg = bg }) -- end -- end -- -- vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, { -- callback = function() -- vim.schedule(fix_all_devicon_bg) -- end, -- }) -- -- Function to set all DevIcon backgrounds -- local function fix_devicon_bg() -- local bg = "#003636" -- for _, name in ipairs(vim.fn.getcompletion('DevIcon', 'highlight')) do -- local current = vim.api.nvim_get_hl(0, { name = name }) -- -- keep existing fg, just change bg -- vim.api.nvim_set_hl(0, name, { fg = current.fg, bg = bg }) -- end -- end -- -- -- Run after startup and colorscheme changes -- vim.api.nvim_create_autocmd({ "ColorScheme", "VimEnter" }, { -- callback = function() vim.schedule(fix_devicon_bg) end, -- }) -- vim.cmd [[ -- highlight BufferDefaultAlternate guibg=#003636 -- highlight BufferAlternate -- highlight BufferDefaultAlternateADDED guibg=#003636 -- highlight BufferAlternateADDED guibg=#003636 -- highlight BufferDefaultAlternateBtn guibg=#003636 -- highlight BufferAlternateBtn guibg=#003636 -- highlight BufferDefaultAlternateCHANGED guibg=#003636 -- highlight BufferAlternateCHANGED guibg=#003636 -- highlight BufferDefaultAlternateDELETED guibg=#003636 -- highlight BufferAlternateDELETED guibg=#003636 -- highlight BufferDefaultAlternateERROR guibg=#003636 -- highlight BufferAlternateERROR guibg=#003636 -- highlight BufferDefaultAlternateHINT guibg=#003636 -- highlight BufferAlternateHINT guibg=#003636 -- highlight BufferDefaultAlternateIcon guibg=#003636 -- highlight BufferAlternateIcon guibg=#003636 -- highlight BufferDefaultAlternateIndex guibg=#003636 -- highlight BufferAlternateIndex guibg=#003636 -- highlight BufferDefaultAlternateINFO guibg=#003636 -- highlight BufferAlternateINFO guibg=#003636 -- highlight BufferDefaultAlternateMod guibg=#003636 -- highlight BufferAlternateMod guibg=#003636 -- highlight BufferDefaultAlternateModBtn guibg=#003636 -- highlight BufferAlternateModBtn guibg=#003636 -- highlight BufferDefaultAlternateNumber guibg=#003636 -- highlight BufferAlternateNumber guibg=#003636 -- highlight BufferDefaultAlternatePin guibg=#003636 -- highlight BufferAlternatePin guibg=#003636 -- highlight BufferDefaultAlternatePinBtn guibg=#003636 -- highlight BufferAlternatePinBtn guibg=#003636 -- highlight BufferDefaultAlternateSign guibg=#003636 -- highlight BufferAlternateSign guibg=#003636 -- highlight BufferDefaultAlternateSignRight guibg=#003636 -- highlight BufferAlternateSignRight guibg=#003636 -- highlight BufferDefaultAlternateTarget guibg=#003636 -- highlight BufferAlternateTarget guibg=#003636 -- highlight BufferDefaultAlternateWARN guibg=#003636 -- highlight BufferAlternateWARN guibg=#003636 -- highlight BufferDefaultCurrent guibg=#003636 -- highlight BufferCurrent -- highlight BufferDefaultCurrentADDED guibg=#003636 -- highlight BufferCurrentADDED guibg=#003636 -- highlight BufferDefaultCurrentBtn guibg=#003636 -- highlight BufferCurrentBtn -- highlight BufferDefaultCurrentCHANGED guibg=#003636 -- highlight BufferCurrentCHANGED guibg=#003636 -- highlight BufferDefaultCurrentDELETED guibg=#003636 -- highlight BufferCurrentDELETED guibg=#003636 -- highlight BufferDefaultCurrentERROR guibg=#003636 -- highlight BufferCurrentERROR guibg=#003636 -- highlight BufferDefaultCurrentHINT guibg=#003636 -- highlight BufferCurrentHINT guibg=#003636 -- highlight BufferDefaultCurrentIcon guibg=#003636 -- highlight BufferCurrentIcon guibg=#003636 -- highlight BufferDefaultCurrentIndex guibg=#003636 -- highlight BufferCurrentIndex guibg=#003636 -- highlight BufferDefaultCurrentINFO guibg=#003636 -- highlight BufferCurrentINFO guibg=#003636 -- highlight BufferDefaultCurrentMod guibg=#003636 -- highlight BufferCurrentMod -- highlight BufferDefaultCurrentModBtn guibg=#003636 -- highlight BufferCurrentModBtn guibg=#003636 -- highlight BufferDefaultCurrentNumber guibg=#003636 -- highlight BufferCurrentNumber guibg=#003636 -- highlight BufferDefaultCurrentPin guibg=#003636 -- highlight BufferCurrentPin -- highlight BufferDefaultCurrentPinBtn guibg=#003636 -- highlight BufferCurrentPinBtn guibg=#003636 -- highlight BufferDefaultCurrentSign guibg=#003636 -- highlight BufferCurrentSign guibg=#003636 -- highlight BufferDefaultCurrentSignRight guibg=#003636 -- highlight BufferCurrentSignRight guibg=#003636 -- highlight BufferDefaultCurrentTarget guibg=#003636 -- highlight BufferCurrentTarget guibg=#003636 -- highlight BufferDefaultCurrentWARN guibg=#003636 -- highlight BufferCurrentWARN guibg=#003636 -- highlight BufferDefaultInactive guibg=#003636 -- highlight BufferInactive -- highlight BufferDefaultInactiveADDED guibg=#003636 -- highlight BufferInactiveADDED guibg=#003636 -- highlight BufferDefaultInactiveBtn guibg=#003636 -- highlight BufferInactiveBtn guibg=#003636 -- highlight BufferDefaultInactiveCHANGED guibg=#003636 -- highlight BufferInactiveCHANGED guibg=#003636 -- highlight BufferDefaultInactiveDELETED guibg=#003636 -- highlight BufferInactiveDELETED guibg=#003636 -- highlight BufferDefaultInactiveERROR guibg=#003636 -- highlight BufferInactiveERROR guibg=#003636 -- highlight BufferDefaultInactiveHINT guibg=#003636 -- highlight BufferInactiveHINT guibg=#003636 -- highlight BufferDefaultInactiveIcon guibg=#003636 -- highlight BufferInactiveIcon guibg=#003636 -- highlight BufferDefaultInactiveIndex guibg=#003636 -- highlight BufferInactiveIndex guibg=#003636 -- highlight BufferDefaultInactiveINFO guibg=#003636 -- highlight BufferInactiveINFO guibg=#003636 -- highlight BufferDefaultInactiveMod guibg=#003636 -- highlight BufferInactiveMod guibg=#003636 -- highlight BufferDefaultInactiveModBtn guibg=#003636 -- highlight BufferInactiveModBtn guibg=#003636 -- highlight BufferDefaultInactiveNumber guibg=#003636 -- highlight BufferInactiveNumber guibg=#003636 -- highlight BufferDefaultInactivePin guibg=#003636 -- highlight BufferInactivePin guibg=#003636 -- highlight BufferDefaultInactivePinBtn guibg=#003636 -- highlight BufferInactivePinBtn guibg=#003636 -- highlight BufferDefaultInactiveSign guibg=#003636 -- highlight BufferInactiveSign guibg=#003636 -- highlight BufferDefaultInactiveSignRight guibg=#003636 -- highlight BufferInactiveSignRight guibg=#003636 -- highlight BufferDefaultInactiveTarget guibg=#003636 -- highlight BufferInactiveTarget guibg=#003636 -- highlight BufferDefaultInactiveWARN guibg=#003636 -- highlight BufferInactiveWARN guibg=#003636 -- highlight BufferDefaultOffset guibg=#003636 -- highlight BufferOffset -- highlight BufferDefaultTabpagesSep guibg=#003636 -- highlight BufferScrollArrow guibg=#003636 -- highlight BufferDefaultTabpageFill guibg=#003636 -- highlight BufferTabpageFill guibg=#003636 -- highlight BufferDefaultTabpages guibg=#003636 -- highlight BufferTabpages -- highlight BufferTabpagesSep guibg=#003636 -- highlight BufferDefaultVisible guibg=#003636 -- highlight BufferVisible -- highlight BufferDefaultVisibleADDED guibg=#003636 -- highlight BufferVisibleADDED guibg=#003636 -- highlight BufferDefaultVisibleBtn guibg=#003636 -- highlight BufferVisibleBtn -- highlight BufferDefaultVisibleCHANGED guibg=#003636 -- highlight BufferVisibleCHANGED guibg=#003636 -- highlight BufferDefaultVisibleDELETED guibg=#003636 -- highlight BufferVisibleDELETED guibg=#003636 -- highlight BufferDefaultVisibleERROR guibg=#003636 -- highlight BufferVisibleERROR guibg=#003636 -- highlight BufferDefaultVisibleHINT guibg=#003636 -- highlight BufferVisibleHINT guibg=#003636 -- highlight BufferDefaultVisibleIcon guibg=#003636 -- highlight BufferVisibleIcon guibg=#003636 -- highlight BufferDefaultVisibleIndex guibg=#003636 -- highlight BufferVisibleIndex guibg=#003636 -- highlight BufferDefaultVisibleINFO guibg=#003636 -- highlight BufferVisibleINFO guibg=#003636 -- highlight BufferDefaultVisibleMod guibg=#003636 -- highlight BufferVisibleMod -- highlight BufferDefaultVisibleModBtn guibg=#003636 -- highlight BufferVisibleModBtn guibg=#003636 -- highlight BufferDefaultVisibleNumber guibg=#003636 -- highlight BufferVisibleNumber guibg=#003636 -- highlight BufferDefaultVisiblePin guibg=#003636 -- highlight BufferVisiblePin -- highlight BufferDefaultVisiblePinBtn guibg=#003636 -- highlight BufferVisiblePinBtn guibg=#003636 -- highlight BufferDefaultVisibleSign guibg=#003636 -- highlight BufferVisibleSign guibg=#003636 -- highlight BufferDefaultVisibleSignRight guibg=#003636 -- highlight BufferVisibleSignRight guibg=#003636 -- highlight BufferDefaultVisibleTarget guibg=#003636 -- highlight BufferVisibleTarget guibg=#003636 -- highlight BufferDefaultVisibleWARN guibg=#003636 -- highlight BufferVisibleWARN guibg=#003636 -- ]] -- vim.schedule(function() -- local old_color, new_color = "#4f5258", "#003636" -- -- for _, group in ipairs(vim.fn.getcompletion('', 'highlight')) do -- local hl = vim.api.nvim_get_hl(0, { name = group }) -- local changed = false -- -- if hl.fg == old_color then hl.fg = new_color; changed = true end -- if hl.bg == old_color then hl.bg = new_color; changed = true end -- -- if changed then vim.api.nvim_set_hl(0, group, hl) end -- end -- end) -- -- Override after colourscheme -- -- After your colourscheme and require("barbar").setup(...) -- vim.cmd [[ -- " Standard buffer highlights -- highlight BufferCurrent guibg=#003636 -- highlight BufferCurrentMod guibg=#003636 -- highlight BufferVisible guibg=#003636 -- highlight BufferVisibleMod guibg=#003636 -- highlight BufferInactive guibg=#003636 -- highlight BufferInactiveMod guibg=#003636 -- highlight BufferAlternate guibg=#003636 -- highlight BufferAlternateMod guibg=#003636 -- -- " Separator / empty space highlights -- highlight BufferCurrentSign guibg=#003636 -- highlight BufferCurrentSignRight guibg=#003636 -- highlight BufferVisibleSign guibg=#003636 -- highlight BufferVisibleSignRight guibg=#003636 -- highlight BufferInactiveSign guibg=#003636 -- highlight BufferInactiveSignRight guibg=#003636 -- highlight BufferAlternateSign guibg=#003636 -- highlight BufferAlternateSignRight guibg=#003636 -- ]] -- -- -- Transparent backgrounds (if you also want that) -- -- vim.cmd [[ -- -- highlight BufferCurrent guibg=NONE -- -- highlight BufferCurrentMod guibg=NONE -- -- highlight BufferVisible guibg=NONE -- -- highlight BufferVisibleMod guibg=NONE -- -- highlight BufferInactive guibg=NONE -- -- highlight BufferInactiveMod guibg=NONE -- -- highlight BufferAlternate guibg=NONE -- -- highlight BufferAlternateMod guibg=NONE -- -- ]] -- -- -- -- Function to toggle visibility -- -- local function toggle_barbar() -- -- -- count *listed* buffers with a window open -- -- local count = 0 -- -- for _, buf in ipairs(vim.fn.getbufinfo({buflisted = 1})) do -- -- if vim.fn.bufwinnr(buf.bufnr) ~= -1 then -- -- count = count + 1 -- -- end -- -- end -- -- -- -- if count <= 1 then -- -- -- Only one visible buffer: hide barbar tabline -- -- vim.cmd("BarbarDisable") -- -- -- Optionally also hide native tabline -- -- vim.o.showtabline = 0 -- -- else -- -- vim.cmd("BarbarEnable") -- -- vim.o.showtabline = 2 -- -- end -- -- end -- -- -- -- -- Autocommands to trigger -- -- vim.api.nvim_create_autocmd({ "BufAdd", "BufDelete", "BufEnter", "VimEnter" }, { -- -- callback = toggle_barbar, -- -- })