From 56e16603121f94b6ea4b7125c596a09540569841 Mon Sep 17 00:00:00 2001
From: Gustaf Rydholm <gustaf.rydholm@gmail.com>
Date: Thu, 8 Jul 2021 15:28:34 +0200
Subject: Latest updates from LunarVim, new handrolled colorscheme

---
 .config/nvim/colors/dark.vim              | 486 +++++++++++++++---------------
 .config/nvim/config.lua                   |  15 +-
 .config/nvim/init.lua                     |   3 -
 .config/nvim/lua/cfg/barbar/init.lua      |  27 ++
 .config/nvim/lua/cfg/dashboard/init.lua   |  11 +-
 .config/nvim/lua/cfg/galaxyline/init.lua  | 106 +++++--
 .config/nvim/lua/cfg/neoformat/init.lua   |  29 +-
 .config/nvim/lua/cfg/telescope/init.lua   |   2 +-
 .config/nvim/lua/cfg/themes/dark.lua      | 367 ++++++++++++++++++++++
 .config/nvim/lua/cfg/themes/spacegray.lua | 373 -----------------------
 .config/nvim/lua/cfg/utils/init.lua       |  20 +-
 .config/nvim/lua/cfg/vimtex/init.lua      |  10 +
 .config/nvim/lua/cfg/which-key/init.lua   |  47 +--
 .config/nvim/lua/default-config.lua       |   3 +
 .config/nvim/lua/keymappings.lua          |  27 +-
 .config/nvim/lua/plugins.lua              |  41 ++-
 .config/nvim/lua/settings.lua             |  71 ++---
 17 files changed, 860 insertions(+), 778 deletions(-)
 create mode 100644 .config/nvim/lua/cfg/barbar/init.lua
 create mode 100644 .config/nvim/lua/cfg/themes/dark.lua
 delete mode 100644 .config/nvim/lua/cfg/themes/spacegray.lua

(limited to '.config/nvim')

diff --git a/.config/nvim/colors/dark.vim b/.config/nvim/colors/dark.vim
index be065c2..65b4cff 100644
--- a/.config/nvim/colors/dark.vim
+++ b/.config/nvim/colors/dark.vim
@@ -1,259 +1,259 @@
-"Theme built with Lush.nvim, exported at Sun 04 Jul 2021 02:47:35 PM EDT
-highlight StatusLineLspDiagnosticsHint guifg=#4DC1FF guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight BufferInactive guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight markdownCode guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link DiffviewStatusRenamed SignChange
-highlight! link StorageClass Type
-highlight! link SpecialChar Character
-highlight FoldColumn guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight TabLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight TelescopeSelection guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSMethod Function
-highlight Identifier guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeRootFolder guifg=#3B6AA0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight GitSignsChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSLabel Label
-highlight! link TSComment Comment
-highlight! link LspDiagnosticsWarning LspDiagnosticsSignWarning
-highlight SignAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link IncSearch Search
-highlight WhichKey guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSLiteral String
-highlight BufferCurrent guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight Todo guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight! link TSParameterReference TSParameter
-highlight NvimTreeOpenedFolderName guifg=#4E99BC guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight! link MsgSeparator Normal
-highlight! link TermCursor Cursor
-highlight LspDiagnosticsFloatingHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSConstBuiltin Constant
-highlight TSStrike guifg=NONE guibg=NONE guisp=NONE gui=strikethrough blend=NONE
-highlight Number guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link WildMenu PmenuSel
-highlight DiffText guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SignDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Normal guifg=#C7C8D1 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Type guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Float guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight CompeDocumentation guifg=NONE guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight Ignore guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight GitSignsDelete guifg=#93151B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TSConstant Constant
-highlight StatusLineSeparator guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSConstructor Type
-highlight! link Substitute Search
-highlight StatusLineGitDelete guifg=#AF4B57 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight StatusLineLspDiagnosticsError guifg=#F44848 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight WhichKeyFloat guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight markdownItalic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight Pmenu guifg=#C7C8D1 guibg=#393E46 guisp=NONE gui=NONE blend=NONE
-highlight! link TabLineWarning LspDiagnosticsSignWarning
-highlight PmenuSel guifg=#262626 guibg=#67899E guisp=NONE gui=NONE blend=NONE
-highlight! link Typedef Type
-highlight! link Define PreProc
-highlight TSError guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Directory guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DashboardFooter guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight WhichKeyGroup guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TermCursorNC Cursor
-highlight MatchParen guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSOperator Operator
-highlight TSVariableBuiltin guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitDirty guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleIndex guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsFloatingError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight WarningMsg guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight DashboardCenter guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Conceal guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeVertSplit guifg=#292929 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsUnderlineHint guifg=NONE guibg=NONE guisp=#87B479 gui=underline blend=NONE
-highlight Visual guifg=NONE guibg=#2C2F35 guisp=NONE gui=NONE blend=NONE
-highlight Tag guifg=#7299EE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TelescopeMatching guifg=#AF4B57 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight LspDiagnosticsDefaultInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight WhichKeySeperator guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link htmlH1 Title
-highlight! link TSParameter TSField
-highlight! link LspDiagnosticsVirtualTextWarning LspDiagnosticsDefaultWarning
+"Theme built with Lush.nvim, exported at Thu 08 Jul 2021 03:26:03 PM CEST
+highlight! link TSStringEscape Character
+highlight! link TSSymbol Identifier
+highlight! link TSTag Tag
 highlight! link TSTagDelimiter Delimiter
-highlight BufferInactiveTarget guifg=#AF4B57 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsVirtualTextInformation LspDiagnosticsDefaultInformation
-highlight StatusLineLspDiagnosticsWarning guifg=#FF8800 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link CursorIM Cursor
-highlight! link TSFloat Float
-highlight! link markdownIdDelimiter Delimiter
-highlight BufferCurrentMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight Whitespace guifg=#575757 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Repeat Keyword
-highlight NvimTreeIndentMarker guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Character guifg=#B1D67A guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitRenamed guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveMod guifg=#FFCC66 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link DiffviewFilePanelDeletion SignDelete
-highlight StatusLineTreeSitter guifg=#87B479 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight SpecialKey guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight DiffAdd guifg=NONE guibg=#5A7D0C guisp=NONE gui=NONE blend=NONE
-highlight CursorLine guifg=NONE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSPunctSpecial Delimiter
-highlight! link QuickFixLine CursorLine
-highlight! link Label Keyword
+highlight TSText guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight TSEmphasis guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight Error guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSUnderline guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
+highlight Comment guifg=#4F4F4F guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight TSStrike guifg=NONE guibg=NONE guisp=NONE gui=strikethrough blend=NONE
+highlight ErrorMsg guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSTitle Title
+highlight! link TSLiteral String
+highlight TSURI guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight! link TSWarning Todo
-highlight! link TSNumber Number
-highlight BufferVisible guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight SpellRare guifg=#C7C8D1 guibg=NONE guisp=#5486C0 gui=underline blend=NONE
-highlight LspDiagnosticsDefaultError guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Question MoreMsg
-highlight Operator guifg=#67899E guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse blend=NONE
-highlight BufferCurrentIndex guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight! link CursorColumn CursorLine
 highlight! link TSType Type
-highlight StatusLine guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsUnderlineInformation guifg=NONE guibg=NONE guisp=#5486C0 gui=underline blend=NONE
-highlight! link NormalNC Normal
-highlight! link TSRepeat Repeat
-highlight NvimTreeNormal guifg=#B1B3BE guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight ErrorMsg guifg=#F44848 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitMerge guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Directory guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Italic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight Ignore guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Todo guifg=#AA4142 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight SignAdd guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SignChange guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SignDelete guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TelescopeSelection guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TelescopeMatching guifg=#AA4142 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight NvimTreeNormal guifg=#DBDBDB guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitDelete guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeVertSplit guifg=#0D0D0D guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight TabLine guifg=#F5F5F5 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight TabLineFill guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight TabLineSel guifg=#0D0D0D guibg=#F5F5F5 guisp=NONE gui=NONE blend=NONE
+highlight BufferCurrent guifg=NONE guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferCurrentIndex guifg=#A3D6FF guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferCurrentMod guifg=#F4C076 guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferCurrentSign guifg=#A3D6FF guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferCurrentTarget guifg=#AA4142 guibg=#0A0A0A guisp=NONE gui=bold blend=NONE
+highlight BufferVisible guifg=NONE guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleIndex guifg=NONE guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleMod guifg=#F4C076 guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleSign guifg=#F4C076 guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight BufferVisibleTarget guifg=#AA4142 guibg=#0A0A0A guisp=NONE gui=bold blend=NONE
+highlight BufferInactiveIndex guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveMod guifg=#F4C076 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveSign guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight BufferInactiveTarget guifg=#AA4142 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight! link htmlH1 Title
+highlight mkdLink guifg=#A3D6FF guibg=NONE guisp=NONE gui=underline blend=NONE
 highlight mkdLineBreak guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitNew guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsHint LspDiagnosticsSignHint
+highlight mkdHeading guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link mkdInlineURL mkdLink
+highlight mkdUnderline guifg=#4F4F4F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link markdownUrl mkdLink
+highlight markdownCode guifg=#FFA557 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link markdownLinkTextDelimiter Delimiter
+highlight! link markdownLinkDelimiter Delimiter
+highlight! link markdownIdDelimiter Delimiter
+highlight markdownLinkText guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight markdownItalic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
+highlight FlutterWidgetGuides guifg=#616161 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspTroubleIndent guifg=#616161 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TabLineError LspDiagnosticsSignError
+highlight! link TabLineWarning LspDiagnosticsSignWarning
+highlight! link TabLineHint LspDiagnosticsSignHint
+highlight! link TabLineInformation LspDiagnosticsSignInformation
+highlight WhichKey guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeyGroup guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeyDesc guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeyFloat guifg=NONE guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight CompeDocumentation guifg=NONE guibg=#212121 guisp=NONE gui=NONE blend=NONE
 highlight! link DiffviewNormal NvimTreeNormal
-highlight! link PreCondit PreProc
-highlight! link Macro PreProc
-highlight NormalFloat guifg=NONE guibg=#292D32 guisp=NONE gui=NONE blend=NONE
-highlight! link TSStringRegex TSString
-highlight FlutterWidgetGuides guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Debug guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSAttribute guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveIndex guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSKeyword Keyword
-highlight mkdHeading guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsVirtualTextError LspDiagnosticsDefaultError
-highlight Function guifg=#EEBA59 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight StatusLineNC guifg=#C7C8C0 guibg=#292929 guisp=NONE gui=NONE blend=NONE
 highlight! link DiffviewStatusAdded SignAdd
-highlight! link TSString String
-highlight TSText guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link DiffviewFilePanelInsertion SignAdd
-highlight! link TSTag Tag
-highlight! link LspDiagnosticsInformation LspDiagnosticsSignInformation
-highlight! link TSKeywordFunction Keyword
-highlight LspDiagnosticsDefaultHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight! link DiffviewStatusModified SignChange
-highlight DiffviewVertSplit guifg=#858585 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeGitStaged guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link NonText EndOfBuffer
-highlight NvimTreeSpecialFile guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SpecialComment guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Exception Keyword
-highlight PreProc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link markdownUrl mkdLink
-highlight LspDiagnosticsFloatingWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSNamespace guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight VertSplit guifg=#393E46 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
-highlight FloatBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TabLineHint LspDiagnosticsSignHint
-highlight BufferVisibleSign guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight BufferVisibleMod guifg=#FFCC66 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight TSUnderline guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight LspTroubleIndent guifg=#919191 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight EndOfBuffer guifg=#212121 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TabLineError LspDiagnosticsSignError
-highlight! link LspDiagnosticsVirtualTextHint LspDiagnosticsDefaultHint
-highlight! link Structure Type
-highlight CodiVirtualText guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link DiffviewStatusRenamed SignChange
 highlight! link DiffviewStatusDeleted SignDelete
-highlight! link TSFuncBuiltin Function
+highlight! link DiffviewFilePanelInsertion SignAdd
+highlight! link DiffviewFilePanelDeletion SignDelete
+highlight DiffviewVertSplit guifg=#4F4F4F guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight DashboardHeader guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight DashboardCenter guifg=#AA749F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight DashboardFooter guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight IndentBlanklineContextChar guifg=#404040 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight CodiVirtualText guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NormalFloat guifg=NONE guibg=#171717 guisp=NONE gui=NONE blend=NONE
+highlight! link SignColumn Normal
+highlight! link ModeMsg Normal
+highlight! link MsgArea Normal
+highlight! link MsgSeparator Normal
+highlight SpellBad guifg=#F5F5F5 guibg=NONE guisp=#AA4142 gui=underline blend=NONE
+highlight SpellCap guifg=#F5F5F5 guibg=NONE guisp=#F4C076 gui=underline blend=NONE
+highlight SpellLocal guifg=#F5F5F5 guibg=NONE guisp=#A2B66D gui=underline blend=NONE
+highlight SpellRare guifg=#F5F5F5 guibg=NONE guisp=#A3D6FF gui=underline blend=NONE
+highlight! link NormalNC Normal
+highlight Pmenu guifg=#F5F5F5 guibg=#212121 guisp=NONE gui=NONE blend=NONE
+highlight PmenuSel guifg=#0D0D0D guibg=#A3D6FF guisp=NONE gui=NONE blend=NONE
+highlight! link WildMenu PmenuSel
+highlight CursorLineNr guifg=#D1D1D1 guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight Folded guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight FoldColumn guifg=#4F4F4F guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight LineNr guifg=#4F4F4F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight FloatBorder guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight Whitespace guifg=#333333 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link ColorColumn CursorLine
+highlight Visual guifg=NONE guibg=#1A1A1A guisp=NONE gui=NONE blend=NONE
+highlight! link VisualNOS Visual
+highlight DiffText guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link QuickFixLine CursorLine
+highlight PmenuSbar guifg=NONE guibg=#424242 guisp=NONE gui=NONE blend=NONE
+highlight PmenuThumb guifg=NONE guibg=#F5F5F5 guisp=NONE gui=NONE blend=NONE
+highlight MatchParen guifg=NONE guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight Cursor guifg=NONE guibg=NONE guisp=NONE gui=reverse blend=NONE
 highlight! link lCursor Cursor
-highlight DiffDelete guifg=NONE guibg=#93151B guisp=NONE gui=NONE blend=NONE
-highlight markdownLinkText guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link CursorIM Cursor
+highlight! link TermCursor Cursor
+highlight! link TermCursorNC Cursor
+highlight Conceal guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsDefaultHint guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Title guifg=#A3D6FF guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight LspDiagnosticsDefaultWarning guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsDefaultInformation guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsVirtualTextHint LspDiagnosticsDefaultHint
+highlight! link LspDiagnosticsVirtualTextError LspDiagnosticsDefaultError
+highlight! link LspDiagnosticsVirtualTextWarning LspDiagnosticsDefaultWarning
+highlight! link LspDiagnosticsVirtualTextInformation LspDiagnosticsDefaultInformation
+highlight LspDiagnosticsUnderlineHint guifg=NONE guibg=NONE guisp=#A2B66D gui=underline blend=NONE
+highlight LspDiagnosticsUnderlineError guifg=NONE guibg=NONE guisp=#AA4142 gui=underline blend=NONE
+highlight LspDiagnosticsUnderlineWarning guifg=NONE guibg=NONE guisp=#F4C076 gui=underline blend=NONE
+highlight LspDiagnosticsUnderlineInformation guifg=NONE guibg=NONE guisp=#A3D6FF gui=underline blend=NONE
+highlight LspDiagnosticsFloatingHint guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsFloatingError guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsFloatingWarning guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsFloatingInformation guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignHint guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WhichKeySeperator guifg=#4F4F4F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignWarning guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignInformation guifg=#F4C076 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link NonText EndOfBuffer
+highlight Error guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight StatusLineSeparator guifg=NONE guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineNC guifg=#D1D1D1 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineGit guifg=#FFA557 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight DiffAdd guifg=NONE guibg=#A2B66D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineGitAdd guifg=#A2B66D guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineGitChange guifg=#A3D6FF guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineGitDelete guifg=#AA4142 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineTreeSitter guifg=#A2B66D guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineLspDiagnosticsError guifg=#AA4142 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
 highlight! link TSTypeBuiltin Type
-highlight! link TSFuncMacro Macro
-highlight BufferCurrentTarget guifg=#AF4B57 guibg=#212121 guisp=NONE gui=bold blend=NONE
-highlight! link TSPunctDelimiter Delimiter
-highlight! link TSException Exception
-highlight TSProperty guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeImageFile guifg=#BF85C1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSVariable guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsUnderlineWarning guifg=NONE guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
-highlight DashboardHeader guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TabLineFill guifg=#C7C8D1 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsSignHint guifg=#4DC1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight String guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link TabLineInformation LspDiagnosticsSignInformation
-highlight mkdLink guifg=#64A6C4 guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight! link TSFunction Function
-highlight NvimTreeFolderIcon guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Title guifg=#5486C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight! link SignColumn Normal
+highlight StatusLineLspDiagnosticsWarning guifg=#F4C076 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight TSVariable guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight StatusLineLspDiagnosticsInformation guifg=#F4C076 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight StatusLineLspDiagnosticsHint guifg=#A3D6FF guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight Constant guifg=#FFA557 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Operator guifg=#FFA557 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Normal guifg=#F5F5F5 guibg=#0A0A0A guisp=NONE gui=NONE blend=NONE
+highlight Function guifg=#FFA557 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight CursorLine guifg=NONE guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight VertSplit guifg=#212121 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link CursorColumn CursorLine
+highlight Keyword guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Character guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight String guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Number guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Include Keyword
+highlight! link Structure Type
+highlight! link Define PreProc
+highlight! link LspDiagnosticsInformation LspDiagnosticsSignInformation
+highlight! link Conditional Keyword
+highlight StatusLine guifg=#F5F5F5 guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight! link IncSearch Search
+highlight luaTSConstructor guifg=#B8B8B8 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Question MoreMsg
+highlight NvimTreeFolderIcon guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight BufferInactive guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstant Constant
+highlight GitSignsDelete guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight GitSignsAdd guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link LspDiagnosticsHint LspDiagnosticsSignHint
+highlight! link LspDiagnosticsWarning LspDiagnosticsSignWarning
+highlight! link LspDiagnosticsError LspDiagnosticsSignError
 highlight! link TSPunctBracket Delimiter
+highlight Delimiter guifg=#B8B8B8 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Substitute Search
+highlight! link TSComment Comment
+highlight NvimTreeGitStaged guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitDirty guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitNew guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitMerge guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeGitRenamed guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Type guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Debug guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link Typedef Type
+highlight! link SpecialChar Character
+highlight! link Repeat Keyword
+highlight! link Label Keyword
+highlight! link Exception Keyword
+highlight! link Macro PreProc
+highlight PreProc guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight LspDiagnosticsSignError guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight! link TSCharacter Character
-highlight luaTSConstructor guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Keyword guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Statement Keyword
-highlight MoreMsg guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSURI guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight SpellCap guifg=#C7C8D1 guibg=NONE guisp=#EEBA59 gui=underline blend=NONE
-highlight GitSignsAdd guifg=#5A7D0C guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LspDiagnosticsFloatingInformation guifg=#FFCC66 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Special guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Comment guifg=#858585 guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight Folded guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSStringEscape Character
-highlight! link markdownLinkDelimiter Delimiter
-highlight LspDiagnosticsDefaultWarning guifg=#FF8800 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link Conditional Keyword
-highlight Search guifg=#C7C8D1 guibg=#67899E guisp=NONE gui=NONE blend=NONE
-highlight Italic guifg=NONE guibg=NONE guisp=NONE gui=italic blend=NONE
-highlight CursorLineNr guifg=#C7C8C0 guibg=NONE guisp=NONE gui=bold blend=NONE
-highlight! link VisualNOS Visual
-highlight DiffChange guifg=NONE guibg=#0C7D9D guisp=NONE gui=NONE blend=NONE
-highlight! link ColorColumn CursorLine
+highlight Boolean guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSAnnotation guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight SpecialComment guifg=#4F4F4F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSAttribute guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight! link TSBoolean Boolean
-highlight! link markdownLinkTextDelimiter Delimiter
-highlight SpellBad guifg=#C7C8D1 guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
-highlight StatusLineGitChange guifg=#5486C0 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link TSInclude Include
-highlight! link Include Keyword
-highlight SpellLocal guifg=#C7C8D1 guibg=NONE guisp=#87B479 gui=underline blend=NONE
-highlight! link NvimTreeOpenedFile NvimTreeOpenedFolderName
-highlight! link TSSymbol Identifier
+highlight NvimTreeRootFolder guifg=#52B1FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeIndentMarker guifg=#4F4F4F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSConditional Conditional
+highlight TelescopeBorder guifg=#4F4F4F guibg=#0D0D0D guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeFolderName guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstBuiltin Constant
+highlight NvimTreeOpenedFolderName guifg=#7AC3FF guibg=NONE guisp=NONE gui=italic blend=NONE
 highlight! link TSConstMacro Macro
-highlight! link TSTitle Title
-highlight PmenuThumb guifg=NONE guibg=#C7C8D1 guisp=NONE gui=NONE blend=NONE
-highlight SignChange guifg=#0C7D9D guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Delimiter guifg=#9092A2 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TelescopeBorder guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight NvimTreeFolderName guifg=#5486C0 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight WarningMsg guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSConstructor Type
+highlight NvimTreeSpecialFile guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeExecFile guifg=#A2B66D guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight NvimTreeImageFile guifg=#AA749F guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link NvimTreeOpenedFile NvimTreeOpenedFolderName
+highlight! link TSFloat Float
+highlight! link TSFunction Function
+highlight Identifier guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSFuncBuiltin Function
+highlight EndOfBuffer guifg=#0A0A0A guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSFuncMacro Macro
+highlight! link TSInclude Include
+highlight DiffChange guifg=NONE guibg=#A3D6FF guisp=NONE gui=NONE blend=NONE
+highlight! link TSKeyword Keyword
+highlight Float guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSKeywordFunction Keyword
+highlight LspDiagnosticsDefaultError guifg=#AA4142 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSField guifg=#F5F5F5 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSException Exception
+highlight TSError guifg=NONE guibg=NONE guisp=NONE gui=NONE blend=NONE
 highlight Underlined guifg=NONE guibg=NONE guisp=NONE gui=underline blend=NONE
-highlight! link ModeMsg Normal
-highlight LspDiagnosticsUnderlineError guifg=NONE guibg=NONE guisp=#AF4B57 gui=underline blend=NONE
-highlight NvimTreeExecFile guifg=#87B479 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight IndentBlanklineContextChar guifg=#6B6B6B guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link MsgArea Normal
-highlight TabLineSel guifg=#292929 guibg=#5486C0 guisp=NONE gui=NONE blend=NONE
-highlight! link TSConditional Conditional
-highlight BufferCurrentSign guifg=#64A6C4 guibg=#212121 guisp=NONE gui=NONE blend=NONE
-highlight TSField guifg=#C7C8D1 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight LineNr guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight WhichKeyDesc guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight Constant guifg=#C67158 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight TSAnnotation guifg=#64A6C4 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight BufferInactiveSign guifg=#858585 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight! link mkdInlineURL mkdLink
-highlight mkdUnderline guifg=#858585 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight! link LspDiagnosticsError LspDiagnosticsSignError
-highlight Boolean guifg=#AF4B57 guibg=NONE guisp=NONE gui=NONE blend=NONE
-highlight PmenuSbar guifg=NONE guibg=#535A65 guisp=NONE gui=NONE blend=NONE
-highlight StatusLineGit guifg=#C67158 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight StatusLineGitAdd guifg=#87B479 guibg=#292929 guisp=NONE gui=NONE blend=NONE
-highlight StatusLineLspDiagnosticsInformation guifg=#FFCC66 guibg=#292929 guisp=NONE gui=NONE blend=NONE
+highlight! link TSLabel Label
+highlight! link TSMethod Function
+highlight Tag guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight TSNamespace guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight Special guifg=#FFA557 guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link PreCondit PreProc
+highlight! link TSNumber Number
+highlight DiffDelete guifg=NONE guibg=#AA4142 guisp=NONE gui=NONE blend=NONE
+highlight! link TSOperator Operator
+highlight! link TSParameter TSField
+highlight! link Statement Keyword
+highlight! link TSParameterReference TSParameter
+highlight! link StorageClass Type
+highlight TSProperty guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight MoreMsg guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSPunctDelimiter Delimiter
+highlight SpecialKey guifg=#A3D6FF guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight Search guifg=#F5F5F5 guibg=#A3D6FF guisp=NONE gui=NONE blend=NONE
+highlight Bold guifg=NONE guibg=NONE guisp=NONE gui=bold blend=NONE
+highlight! link TSPunctSpecial Delimiter
+highlight! link TSRepeat Repeat
+highlight! link TSString String
+highlight GitSignsChange guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
+highlight! link TSStringRegex TSString
+highlight TSVariableBuiltin guifg=#A3D6FF guibg=NONE guisp=NONE gui=NONE blend=NONE
diff --git a/.config/nvim/config.lua b/.config/nvim/config.lua
index f3a5f26..e82c3c8 100644
--- a/.config/nvim/config.lua
+++ b/.config/nvim/config.lua
@@ -3,19 +3,24 @@
 -- general
 O.auto_complete = true
 O.relative_number = true
-O.colorscheme = 'spacegray'
+O.colorscheme = 'dark'
 O.timeoutlen = 100
 O.leader_key = ' '
 
 -- After changing plugin config it is recommended to run :PackerCompile
+O.plugin.colorizer.active = true
 O.plugin.dashboard.active = true
+O.plugin.diffview.active = true
 O.plugin.hop.active = true
-O.plugin.colorizer.active = true
+O.plugin.indent_line.active = true
+O.plugin.lush.active = true
+O.plugin.sanegx.active = false
+O.plugin.symbol_outline.active = false
+O.plugin.telescope_fzy.active = true
 O.plugin.trouble.active = true
-O.plugin.lazygit.active = true
+O.plugin.ts_autotag.active = true
 O.plugin.zen.active = true
-O.plugin.vim_rooter.active = true
--- O.plugin.markdown_preview.active = true
+O.plugin.vim_rooter.active = false
 
 -- if you don't want all the parsers change this to a table of the ones you want
 O.treesitter.ensure_installed = "all"
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index d5ff96d..ab3dc41 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -4,10 +4,7 @@ vim.cmd("luafile " .. CONFIG_PATH .. "/config.lua")
 require "settings"
 require "plugins"
 require "cfg.utils"
-require "cfg.galaxyline"
 require "cfg.treesitter"
-require "cfg.which-key"
-require "cfg.neoformat"
 if O.plugin.dashboard.active then
   require("cfg.dashboard").config()
 end
diff --git a/.config/nvim/lua/cfg/barbar/init.lua b/.config/nvim/lua/cfg/barbar/init.lua
new file mode 100644
index 0000000..5257de5
--- /dev/null
+++ b/.config/nvim/lua/cfg/barbar/init.lua
@@ -0,0 +1,27 @@
+vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true })
+vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true })
+
+O.user_which_key["b"] = {
+  name = "Buffers",
+  j = { "<cmd>BufferPick<cr>", "jump to buffer" },
+  f = { "<cmd>Telescope buffers<cr>", "Find buffer" },
+  w = { "<cmd>BufferWipeout<cr>", "wipeout buffer" },
+  e = {
+    "<cmd>BufferCloseAllButCurrent<cr>",
+    "close all but current buffer",
+  },
+  h = { "<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left" },
+  l = {
+    "<cmd>BufferCloseBuffersRight<cr>",
+    "close all BufferLines to the right",
+  },
+  D = {
+    "<cmd>BufferOrderByDirectory<cr>",
+    "sort BufferLines automatically by directory",
+  },
+  L = {
+    "<cmd>BufferOrderByLanguage<cr>",
+    "sort BufferLines automatically by language",
+  },
+}
diff --git a/.config/nvim/lua/cfg/dashboard/init.lua b/.config/nvim/lua/cfg/dashboard/init.lua
index bac9081..770bb5a 100644
--- a/.config/nvim/lua/cfg/dashboard/init.lua
+++ b/.config/nvim/lua/cfg/dashboard/init.lua
@@ -1,4 +1,3 @@
-
 local M = {}
 
 M.config = function()
@@ -17,15 +16,15 @@ M.config = function()
       description = { "  Recently Used Files" },
       command = "Telescope oldfiles",
     },
+    -- c = {
+    --   description = { "  Load Last Session  " },
+    --   command = "SessionLoad",
+    -- },
     c = {
-      description = { "  Load Last Session  " },
-      command = "SessionLoad",
-    },
-    d = {
       description = { "  Find Word          " },
       command = "Telescope live_grep",
     },
-    e = {
+    d = {
       description = { "  Settings           " },
       command = ":e " .. CONFIG_PATH .. "/config.lua",
     },
diff --git a/.config/nvim/lua/cfg/galaxyline/init.lua b/.config/nvim/lua/cfg/galaxyline/init.lua
index 536144d..c59d4f4 100644
--- a/.config/nvim/lua/cfg/galaxyline/init.lua
+++ b/.config/nvim/lua/cfg/galaxyline/init.lua
@@ -1,23 +1,30 @@
-local gl = require('galaxyline')
+-- if not package.loaded['galaxyline'] then
+--   return
+-- end
+local status_ok, gl = pcall(require, "galaxyline")
+if not status_ok then
+  return
+end
 -- get my theme in galaxyline repo
+-- local colors = require('galaxyline.theme').default
 local colors = {
-    bg = '#080808',
-    yellow = '#DCDCAA',
-    dark_yellow = '#D7BA7D',
-    cyan = '#4EC9B0',
-    green = '#608B4E',
-    light_green = '#B5CEA8',
-    string_orange = '#CE9178',
-    orange = '#FF8800',
-    purple = '#C586C0',
-    magenta = '#D16D9E',
-    grey = '#858585',
-    blue = '#569CD6',
-    vivid_blue = '#4FC1FF',
-    light_blue = '#9CDCFE',
-    red = '#D16969',
-    error_red = '#F44747',
-    info_yellow = '#FFCC66'
+  bg = "#0A0A0A",
+  yellow = "#DCDCAA",
+  dark_yellow = "#D7BA7D",
+  cyan = "#4EC9B0",
+  green = "#608B4E",
+  light_green = "#B5CEA8",
+  string_orange = "#CE9178",
+  orange = "#FF8800",
+  purple = "#C586C0",
+  magenta = "#D16D9E",
+  grey = "#858585",
+  blue = "#569CD6",
+  vivid_blue = "#4FC1FF",
+  light_blue = "#9CDCFE",
+  red = "#D16969",
+  error_red = "#F44747",
+  info_yellow = "#FFCC66",
 }
 
 local condition = require "galaxyline.condition"
@@ -51,8 +58,9 @@ table.insert(gls.left, {
         t = colors.blue,
       }
       vim.api.nvim_command("hi GalaxyViMode guifg=" .. mode_color[vim.fn.mode()])
-      return "▎"
+      return "▊"
     end,
+    separator_highlight = "StatusLineSeparator",
     highlight = "StatusLineNC",
   },
 })
@@ -108,6 +116,60 @@ table.insert(gls.left, {
   },
 })
 
+table.insert(gls.left, {
+  Filler = {
+    provider = function()
+      return " "
+    end,
+    highlight = "StatusLineGitDelete",
+  },
+})
+-- get output from shell command
+function os.capture(cmd, raw)
+  local f = assert(io.popen(cmd, "r"))
+  local s = assert(f:read "*a")
+  f:close()
+  if raw then
+    return s
+  end
+  s = string.gsub(s, "^%s+", "")
+  s = string.gsub(s, "%s+$", "")
+  s = string.gsub(s, "[\n\r]+", " ")
+  return s
+end
+-- cleanup virtual env
+local function env_cleanup(venv)
+  if string.find(venv, "/") then
+    local final_venv = venv
+    for w in venv:gmatch "([^/]+)" do
+      final_venv = w
+    end
+    venv = final_venv
+  end
+  return venv
+end
+local PythonEnv = function()
+  if vim.bo.filetype == "python" then
+    local venv = os.getenv "CONDA_DEFAULT_ENV"
+    if venv ~= nil then
+      return "🅒 (" .. env_cleanup(venv) .. ")"
+    end
+    venv = os.getenv "VIRTUAL_ENV"
+    if venv ~= nil then
+      return "  (" .. env_cleanup(venv) .. ")"
+    end
+    return ""
+  end
+  return ""
+end
+table.insert(gls.left, {
+  VirtualEnv = {
+    provider = PythonEnv,
+    highlight = "StatusLineTreeSitter",
+    event = "BufEnter",
+  },
+})
+
 table.insert(gls.right, {
   DiagnosticError = {
     provider = "DiagnosticError",
@@ -157,7 +219,7 @@ table.insert(gls.right, {
 })
 
 local get_lsp_client = function(msg)
-  msg = msg or "No Active LSP Client"
+  msg = msg or "LSP Inactive"
   local buf_ft = vim.api.nvim_buf_get_option(0, "filetype")
   local clients = vim.lsp.get_active_clients()
   if next(clients) == nil then
@@ -173,7 +235,7 @@ local get_lsp_client = function(msg)
         lsps = client.name
       else
         lsps = lsps .. ", " .. client.name
-       -- print("more", lsps)
+        -- print("more", lsps)
       end
     end
   end
@@ -277,3 +339,5 @@ table.insert(gls.short_line_left, {
     highlight = "StatusLineNC",
   },
 })
+
+--table.insert(gls.short_line_right[1] = {BufferIcon = {provider = 'BufferIcon', highlight = {colors.grey, colors.bg}}})
diff --git a/.config/nvim/lua/cfg/neoformat/init.lua b/.config/nvim/lua/cfg/neoformat/init.lua
index eb9596e..9a5ac76 100644
--- a/.config/nvim/lua/cfg/neoformat/init.lua
+++ b/.config/nvim/lua/cfg/neoformat/init.lua
@@ -1,12 +1,23 @@
 -- autoformat
 if O.format_on_save then
-  require("cfg.utils").define_augroups {
-    autoformat = {
-      {
-        "BufWritePre",
-        "*",
-        [[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]],
-      },
-    },
-  }
+	require("cfg.utils").define_augroups({
+		autoformat = {
+			{
+				"BufWritePre",
+				"*",
+				[[try | undojoin | Neoformat | catch /^Vim\%((\a\+)\)\=:E790/ | finally | silent Neoformat | endtry]],
+			},
+		},
+	})
+end
+
+vim.g.neoformat_run_all_formatters = 0
+
+vim.g.neoformat_enabled_python = { "flake8", "black", "docformatter" }
+vim.g.neoformat_enabled_javascript = { "prettier" }
+
+if not O.format_on_save then
+	vim.cmd([[if exists('#autoformat#BufWritePre')
+	:autocmd! autoformat
+	endif]])
 end
diff --git a/.config/nvim/lua/cfg/telescope/init.lua b/.config/nvim/lua/cfg/telescope/init.lua
index 5411c32..9e0c45f 100644
--- a/.config/nvim/lua/cfg/telescope/init.lua
+++ b/.config/nvim/lua/cfg/telescope/init.lua
@@ -36,7 +36,7 @@ telescope.setup {
     file_sorter = require("telescope.sorters").get_fzy_sorter,
     file_ignore_patterns = {},
     generic_sorter = require("telescope.sorters").get_generic_fuzzy_sorter,
-    shorten_path = true,
+    path_display = {"shorten"},
     winblend = 0,
     border = {},
     borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
diff --git a/.config/nvim/lua/cfg/themes/dark.lua b/.config/nvim/lua/cfg/themes/dark.lua
new file mode 100644
index 0000000..fe2ff03
--- /dev/null
+++ b/.config/nvim/lua/cfg/themes/dark.lua
@@ -0,0 +1,367 @@
+local lush = require "lush"
+local hsl = lush.hsl
+
+local theme = lush(function()
+  local c = {
+    bg = hsl "#0A0A0A",
+    bg1 = hsl "#0D0D0D",
+    bg2 = hsl "#202020",
+
+    white = hsl "#f5f5f5",
+
+    gray = hsl "#505050",
+    light_gray = hsl "#D0D0D0",
+
+    error_red = hsl "#AC4142",
+    warning_orange = hsl "#F4BF75",
+    info_yellow = hsl "#F4BF75",
+    hint_blue = hsl "#A5D6FF",
+
+    red = hsl "#AC4142",
+
+    blue = hsl "#A5D6FF",
+    gray_blue = hsl "#A5D6FF",
+
+    yellow = hsl "#F4BF75",
+
+    orange = hsl "#FFA657",
+
+    green = hsl "#A1B56C",
+    light_green = hsl "#A1B56C",
+
+    aqua = hsl "#A5D6FF",
+
+    purple = hsl "#AA759F",
+    pale_purple = hsl "#A5D6FF",
+
+    sign_add = hsl "#A1B56C",
+    sign_change = hsl "#A5D6FF",
+    sign_delete = hsl "#AC4142",
+  }
+  return {
+    Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn'
+    SignColumn { Normal },
+    ModeMsg { Normal },
+    MsgArea { Normal },
+    MsgSeparator { Normal },
+    SpellBad { bg = "NONE", fg = c.white, gui = "underline", sp = c.red },
+    SpellCap { bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow },
+    SpellLocal { bg = "NONE", fg = c.white, gui = "underline", sp = c.green },
+    SpellRare { bg = "NONE", fg = c.white, gui = "underline", sp = c.blue },
+    NormalNC { Normal },
+    Pmenu { bg = c.bg2, fg = c.white, gui = "NONE" },
+    PmenuSel { bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE" },
+    WildMenu { PmenuSel }, -- Non Defaults
+    CursorLineNr { bg = "NONE", fg = c.light_gray, gui = "bold" },
+    Comment { bg = "NONE", fg = c.gray, gui = "italic" }, -- any comment
+    Folded { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    FoldColumn { Normal, fg = c.gray, gui = "NONE" },
+    LineNr { bg = "NONE", fg = c.gray, gui = "NONE" },
+    FloatBorder { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    Whitespace { bg = "NONE", fg = c.gray.da(35), gui = "NONE" },
+    VertSplit { bg = "NONE", fg = c.bg2, gui = "NONE" },
+    CursorLine { bg = c.bg1, fg = "NONE", gui = "NONE" },
+    CursorColumn { CursorLine },
+    ColorColumn { CursorLine },
+    NormalFloat { bg = c.bg2.da(30), fg = "NONE", gui = "NONE" },
+    Visual { bg = c.bg2.da(25), fg = "NONE", gui = "NONE" },
+    VisualNOS { Visual },
+    WarningMsg { bg = "NONE", fg = c.red, gui = "NONE" },
+    DiffText { bg = "NONE", fg = "NONE", gui = "NONE" },
+    DiffAdd { bg = c.sign_add, fg = "NONE", gui = "NONE" },
+    DiffChange { bg = c.sign_change, fg = "NONE", gui = "NONE" },
+    DiffDelete { bg = c.sign_delete, fg = "NONE", gui = "NONE" },
+    QuickFixLine { CursorLine },
+    PmenuSbar { bg = c.bg2.li(15), fg = "NONE", gui = "NONE" },
+    PmenuThumb { bg = c.white, fg = "NONE", gui = "NONE" },
+    MatchParen { CursorLine, fg = "NONE", gui = "NONE" },
+    Cursor { fg = "NONE", bg = "NONE", gui = "reverse" },
+    lCursor { Cursor },
+    CursorIM { Cursor },
+    TermCursor { Cursor },
+    TermCursorNC { Cursor },
+    Conceal { bg = "NONE", fg = c.blue, gui = "NONE" },
+    Directory { bg = "NONE", fg = c.blue, gui = "NONE" },
+    SpecialKey { bg = "NONE", fg = c.blue, gui = "bold" },
+    Title { bg = "NONE", fg = c.blue, gui = "bold" },
+    ErrorMsg { bg = "NONE", fg = c.error_red, gui = "NONE" },
+    Search { bg = c.gray_blue, fg = c.white },
+    IncSearch { Search },
+    Substitute { Search },
+    MoreMsg { bg = "NONE", fg = c.aqua, gui = "NONE" },
+    Question { MoreMsg },
+    EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" },
+    NonText { EndOfBuffer },
+
+    String { fg = c.blue },
+    Character { fg = c.light_green },
+    Constant { fg = c.orange },
+    Number { fg = c.red },
+    Boolean { fg = c.red },
+    Float { fg = c.red },
+
+    Identifier { fg = c.white },
+    Function { fg = c.orange },
+    Operator { fg = c.orange },
+
+    Type { fg = c.blue },
+    StorageClass { Type },
+    Structure { Type },
+    Typedef { Type },
+
+    Keyword { fg = c.blue },
+    Statement { Keyword },
+    Conditional { Keyword },
+    Repeat { Keyword },
+    Label { Keyword },
+    Exception { Keyword },
+
+    Include { Keyword },
+    PreProc { fg = c.aqua },
+    Define { PreProc },
+    Macro { PreProc },
+    PreCondit { PreProc },
+
+    Special { fg = c.orange },
+    SpecialChar { Character },
+    Tag { fg = c.pale_purple },
+    Debug { fg = c.red },
+    Delimiter { fg = c.white.da(25) },
+    SpecialComment { fg = c.gray },
+    Underlined { fg = "NONE", gui = "underline" },
+    Bold { fg = "NONE", gui = "bold" },
+    Italic { fg = "NONE", gui = "italic" },
+
+    -- Todo
+    -- ("Ignore", below, may be invisible...)
+    Ignore { fg = c.white },
+    Todo { bg = "NONE", fg = c.red, gui = "bold" },
+    Error { fg = c.error_red },
+
+    -- Treesitter
+    TSComment { Comment }, -- comment blocks.
+    luaTSConstructor { bg = "NONE", fg = c.white.da(25) }, -- override Lua curly braces
+    TSAnnotation { bg = "NONE", fg = c.aqua }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
+    TSAttribute { bg = "NONE", fg = c.aqua }, -- (unstable) TODO: docs
+    TSConstructor { Type }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
+    TSType { Type }, -- types.
+    TSTypeBuiltin { Type }, -- builtin types.
+    TSConditional { Conditional }, -- keywords related to conditionnals.
+    TSException { Exception }, -- exception related keywords.
+    TSInclude { Include }, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
+    TSKeyword { Keyword }, -- keywords that don't fall in previous categories.
+    TSKeywordFunction { Keyword }, -- keywords used to define a fuction.
+    TSLabel { Label }, -- labels: `label:` in C and `:label:` in Lua.
+    TSNamespace { bg = "NONE", fg = c.blue }, -- For identifiers referring to modules and namespaces.
+    TSRepeat { Repeat }, -- keywords related to loops.
+    TSConstant { Constant }, -- constants
+    TSConstBuiltin { Constant }, -- constant that are built in the language: `nil` in Lua.
+    TSFloat { Float }, -- floats.
+    TSNumber { Number }, -- all numbers
+    TSBoolean { Boolean }, -- booleans.
+    TSCharacter { Character }, -- characters.
+    TSError { bg = "NONE", fg = "NONE" }, -- For syntax/parser errors.
+    TSFunction { Function }, -- function (calls and definitions).
+    TSFuncBuiltin { Function }, -- builtin functions: `table.insert` in Lua.
+    TSMethod { Function }, -- method calls and definitions.
+    TSConstMacro { Macro }, -- constants that are defined by macros: `NULL` in C.
+    TSFuncMacro { Macro }, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
+    TSVariableBuiltin { bg = "NONE", fg = c.aqua }, -- Variable names that are defined by the languages, like `this` or `self`.
+    TSProperty { fg = c.aqua },
+    TSOperator { Operator }, -- any operator: `+`, but also `->` and `*` in C.
+    TSVariable { bg = "NONE", fg = c.white }, -- Any variable name that does not have another highlight.
+    TSField { bg = "NONE", fg = c.white }, -- For fields.
+    TSParameter { TSField }, -- parameters of a function.
+    TSParameterReference { TSParameter }, -- references to parameters of a function.
+    TSSymbol { Identifier }, -- identifiers referring to symbols or atoms.
+    TSText { fg = c.white }, -- strings considered text in a markup language.
+    TSPunctDelimiter { Delimiter }, -- delimiters ie: `.`
+    TSTagDelimiter { Delimiter }, -- Tag delimiter like `<` `>` `/`
+    TSPunctBracket { Delimiter }, -- brackets and parens.
+    TSPunctSpecial { Delimiter }, -- special punctutation that does not fall in the catagories before.
+    TSString { String }, -- strings.
+    TSStringRegex { TSString }, -- regexes.
+    TSStringEscape { Character }, -- escape characters within a string.
+    TSWarning { Todo }, -- Variable names that are defined by the languages, like `this` or `self`.
+    TSTag { Tag }, -- Tags like html tag names.
+    TSEmphasis { gui = "italic" }, -- text to be represented with emphasis.
+    TSUnderline { gui = "underline" }, -- text to be represented with an underline.
+    TSStrike { gui = "strikethrough" }, -- strikethrough text.
+    TSTitle { Title }, -- Text that is part of a title.
+    TSLiteral { String }, -- Literal text.
+    TSURI { fg = c.aqua }, -- Any URI like a link or email.
+    -- TSNone                { },    -- TODO: docs
+
+    -- These groups are for the native LSP client. Some other LSP clients may
+    -- use these groups, or use their own. Consult your LSP client's
+    -- documentation.
+
+    LspDiagnosticsDefaultError { bg = "NONE", fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsDefaultWarning { bg = "NONE", fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsDefaultInformation { bg = "NONE", fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsDefaultHint { bg = "NONE", fg = c.hint_blue, gui = "NONE" },
+
+    LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError },
+    LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning },
+    LspDiagnosticsVirtualTextInformation { LspDiagnosticsDefaultInformation },
+    LspDiagnosticsVirtualTextHint { LspDiagnosticsDefaultHint },
+
+    LspDiagnosticsFloatingError { fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsFloatingWarning { fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsFloatingInformation { fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsFloatingHint { fg = c.hint_blue, gui = "NONE" },
+
+    LspDiagnosticsSignError { fg = c.error_red, gui = "NONE" },
+    LspDiagnosticsSignWarning { fg = c.warning_orange, gui = "NONE" },
+    LspDiagnosticsSignInformation { fg = c.info_yellow, gui = "NONE" },
+    LspDiagnosticsSignHint { fg = c.hint_blue, gui = "NONE" }, -- Tree-Sitter
+
+    LspDiagnosticsError { LspDiagnosticsSignError },
+    LspDiagnosticsWarning { LspDiagnosticsSignWarning },
+    LspDiagnosticsInformation { LspDiagnosticsSignInformation },
+    LspDiagnosticsHint { LspDiagnosticsSignHint },
+
+    -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
+    -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
+    -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
+
+    LspDiagnosticsUnderlineError { fg = "NONE", gui = "underline", sp = c.red },
+    LspDiagnosticsUnderlineWarning { fg = "NONE", gui = "underline", sp = c.yellow },
+    LspDiagnosticsUnderlineInformation { fg = "NONE", gui = "underline", sp = c.blue },
+    LspDiagnosticsUnderlineHint { fg = "NONE", gui = "underline", sp = c.green },
+
+    -- gitsigns.nvim
+    SignAdd { fg = c.sign_add },
+    SignChange { fg = c.sign_change },
+    SignDelete { fg = c.sign_delete }, -- Any URI like a link or email.
+    GitSignsAdd { fg = c.sign_add },
+    GitSignsChange { fg = c.sign_change },
+    GitSignsDelete { fg = c.sign_delete },
+
+    -- telescope.nvim
+    TelescopeSelection { bg = "NONE", fg = c.aqua },
+    TelescopeMatching { bg = "NONE", fg = c.red, gui = "bold" },
+    TelescopeBorder { bg = c.bg1, fg = c.gray }, -- nvim-tree.lua
+
+    -- Nvimtree
+    NvimTreeFolderIcon { fg = c.blue },
+    NvimTreeIndentMarker { fg = c.gray },
+    NvimTreeNormal { fg = c.white.da(10), bg = c.bg1 },
+    NvimTreeFolderName { fg = c.blue },
+    NvimTreeOpenedFolderName { fg = c.aqua.da(10), gui = "italic" },
+    NvimTreeOpenedFile { NvimTreeOpenedFolderName },
+    NvimTreeRootFolder { fg = c.blue.da(20) },
+    NvimTreeExecFile { fg = c.green },
+    NvimTreeImageFile { fg = c.purple },
+    NvimTreeSpecialFile { fg = c.aqua },
+
+    NvimTreeGitStaged { fg = c.sign_add },
+    NvimTreeGitNew { fg = c.sign_add },
+    NvimTreeGitDirty { fg = c.sign_add },
+    NvimTreeGitRenamed { fg = c.sign_change },
+    NvimTreeGitMerge { fg = c.sign_change },
+    NvimTreeGitDelete { fg = c.sign_delete },
+    NvimTreeVertSplit { fg = c.bg1, bg = c.bg1 },
+
+    -- BarBar
+    TabLine { bg = c.bg1, fg = c.white, gui = "NONE" },
+    TabLineFill { bg = c.bg1, fg = c.gray, gui = "NONE" },
+    TabLineSel { bg = c.white, fg = c.bg1, gui = "NONE" },
+
+    BufferCurrent { fg = c.fg, bg = c.bg },
+    BufferCurrentIndex { fg = c.aqua, bg = c.bg },
+    BufferCurrentMod { fg = c.info_yellow, bg = c.bg },
+    BufferCurrentSign { fg = c.aqua, bg = c.bg },
+    BufferCurrentTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+    BufferVisible { fg = c.fg, bg = c.bg },
+    BufferVisibleIndex { fg = c.fg, bg = c.bg },
+    BufferVisibleMod { fg = c.info_yellow, bg = c.bg },
+    BufferVisibleSign { fg = c.info_yellow, bg = c.bg },
+    BufferVisibleTarget { fg = c.red, bg = c.bg, gui = "bold" },
+
+    BufferInactive { fg = c.gray, bg = c.bg1 },
+    BufferInactiveIndex { fg = c.gray, bg = c.bg1 },
+    BufferInactiveMod { fg = c.info_yellow, bg = c.bg1 },
+    BufferInactiveSign { fg = c.gray, bg = c.bg1 },
+    BufferInactiveTarget { fg = c.red, bg = c.bg1 },
+
+    -- some fix for html related stuff
+    htmlH1 { Title }, -- markdown stuff
+    mkdLink { fg = c.aqua, gui = "underline" },
+    mkdLineBreak { bg = "NONE", fg = "NONE", gui = "NONE" },
+    mkdHeading { fg = c.white },
+    mkdInlineURL { mkdLink },
+    mkdUnderline { fg = c.gray },
+    markdownUrl { mkdLink },
+    markdownCode { fg = c.orange, bg = "NONE" },
+    markdownLinkTextDelimiter { Delimiter },
+    markdownLinkDelimiter { Delimiter },
+    markdownIdDelimiter { Delimiter },
+    markdownLinkText { fg = c.aqua },
+    markdownItalic { fg = "NONE", gui = "italic" }, -- flutter-tools.nvim
+    FlutterWidgetGuides { fg = c.gray.li(10) }, -- statusline
+
+    StatusLine { bg = c.bg1, fg = c.white }, -- status line of current window
+    StatusLineNC { bg = c.bg1, fg = c.light_gray }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
+    StatusLineSeparator { bg = c.bg1, fg = "NONE" },
+    StatusLineGit { bg = c.bg1, fg = c.orange },
+    StatusLineGitAdd { bg = c.bg1, fg = c.green },
+    StatusLineGitChange { bg = c.bg1, fg = c.blue },
+    StatusLineGitDelete { bg = c.bg1, fg = c.red },
+    StatusLineLspDiagnosticsError { bg = c.bg1, fg = c.error_red, gui = "NONE" },
+    StatusLineLspDiagnosticsWarning { bg = c.bg1, fg = c.warning_orange, gui = "NONE" },
+    StatusLineLspDiagnosticsInformation { bg = c.bg1, fg = c.info_yellow, gui = "NONE" },
+    StatusLineLspDiagnosticsHint { bg = c.bg1, fg = c.hint_blue, gui = "NONE" },
+    StatusLineTreeSitter { bg = c.bg1, fg = c.green },
+
+    -- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
+    -- StatusLineDeco {bg = c.bg2, fg = c.yellow},
+    -- StatusLineLCol {bg = c.bg2, fg = c.white},
+    -- StatusLineLColAlt {bg = c.bg1, fg = c.white},
+    -- StatusLineFT {bg = c.bg2, fg = c.white},
+    -- StatusLineFTAlt {bg = c.bg2, fg = c.white},
+    -- StatusLineGitAlt {bg = c.gray, fg = c.bg},
+    -- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
+    -- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
+
+    -- lsp-trouble.nvim
+    LspTroubleIndent { fg = c.gray.li(10) }, -- tabline stuff
+
+    -- tabline diagnostic
+    TabLineError { LspDiagnosticsSignError },
+    TabLineWarning { LspDiagnosticsSignWarning },
+    TabLineHint { LspDiagnosticsSignHint },
+    TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim
+
+    WhichKey { fg = c.white }, -- nvim-compe
+    WhichKeySeperator { fg = c.gray }, -- nvim-compe
+    WhichKeyGroup { fg = c.blue }, -- nvim-compe
+    WhichKeyDesc { fg = c.aqua }, -- nvim-compe
+    WhichKeyFloat { bg = c.bg1 }, -- nvim-compe
+
+    CompeDocumentation { Pmenu, fg = "NONE" }, -- diffview
+
+    DiffviewNormal { NvimTreeNormal },
+    DiffviewStatusAdded { SignAdd },
+    DiffviewStatusModified { SignChange },
+    DiffviewStatusRenamed { SignChange },
+    DiffviewStatusDeleted { SignDelete },
+    DiffviewFilePanelInsertion { SignAdd },
+    DiffviewFilePanelDeletion { SignDelete },
+    DiffviewVertSplit { fg = c.gray, bg = c.bg },
+
+    DashboardHeader { fg = c.blue },
+    DashboardCenter { fg = c.purple },
+    DashboardFooter { fg = c.aqua },
+
+    IndentBlanklineContextChar { fg = c.gray.da(20) },
+
+    CodiVirtualText { fg = c.hint_blue },
+  }
+end)
+
+-- return our parsed theme for extension or use else where.
+return theme
+
+-- vi:nowrap
diff --git a/.config/nvim/lua/cfg/themes/spacegray.lua b/.config/nvim/lua/cfg/themes/spacegray.lua
deleted file mode 100644
index 0bb695c..0000000
--- a/.config/nvim/lua/cfg/themes/spacegray.lua
+++ /dev/null
@@ -1,373 +0,0 @@
-local lush = require "lush"
-local hsl = lush.hsl
-
-local theme = lush(function()
-  local c = {
-    bg = hsl "#212121",
-    bg1 = hsl "#2a2a2a",
-    -- bg2 = hsl("#3a3a3a"),
-    bg2 = hsl "#383d45",
-
-    white = hsl "#c8c9d1",
-
-    gray = hsl "#858585",
-    light_gray = hsl "#c8c9c1",
-
-    error_red = hsl "#F44747",
-    warning_orange = hsl "#ff8800",
-    info_yellow = hsl "#ffcc66",
-    hint_blue = hsl "#4fc1ff",
-
-    red = hsl "#b04b57",
-
-    blue = hsl "#5486c0",
-    gray_blue = hsl "#66899d",
-
-    -- yellow = hsl("#ffcb6b"),
-    yellow = hsl "#eeba5a",
-
-    -- orange = hsl("#c98a75"),
-    orange = hsl "#c6735a",
-
-    green = hsl "#87b379",
-    light_green = hsl "#b2d77c",
-
-    -- aqua = hsl("#46b1d0"),
-    aqua = hsl "#65a7c5",
-
-    purple = hsl "#bf83c1",
-    pale_purple = hsl "#7199ee",
-
-    sign_add = hsl "#587C0C",
-    sign_change = hsl "#0C7D9D",
-    sign_delete = hsl "#94151B",
-
-    test = hsl "#ff00ff",
-  }
-  return {
-    Normal { bg = c.bg, fg = c.white, gui = "NONE" }, -- used for the columns set with 'colorcolumn'
-    SignColumn { Normal },
-    ModeMsg { Normal },
-    MsgArea { Normal },
-    MsgSeparator { Normal },
-    SpellBad { bg = "NONE", fg = c.white, gui = "underline", sp = c.red },
-    SpellCap { bg = "NONE", fg = c.white, gui = "underline", sp = c.yellow },
-    SpellLocal { bg = "NONE", fg = c.white, gui = "underline", sp = c.green },
-    SpellRare { bg = "NONE", fg = c.white, gui = "underline", sp = c.blue },
-    NormalNC { Normal },
-    Pmenu { bg = c.bg2, fg = c.white, gui = "NONE" },
-    PmenuSel { bg = c.gray_blue, fg = c.bg1.da(5), gui = "NONE" },
-    WildMenu { PmenuSel }, -- Non Defaults
-    CursorLineNr { bg = "NONE", fg = c.light_gray, gui = "bold" },
-    Comment { bg = "NONE", fg = c.gray, gui = "italic" }, -- any comment
-    Folded { bg = c.bg1, fg = c.gray, gui = "NONE" },
-    FoldColumn { Normal, fg = c.gray, gui = "NONE" },
-    LineNr { bg = "NONE", fg = c.gray, gui = "NONE" },
-    FloatBorder { bg = c.bg1, fg = c.gray, gui = "NONE" },
-    Whitespace { bg = "NONE", fg = c.gray.da(35), gui = "NONE" },
-    VertSplit { bg = "NONE", fg = c.bg2, gui = "NONE" },
-    CursorLine { bg = c.bg1, fg = "NONE", gui = "NONE" },
-    CursorColumn { CursorLine },
-    ColorColumn { CursorLine },
-    NormalFloat { bg = c.bg2.da(30), fg = "NONE", gui = "NONE" },
-    Visual { bg = c.bg2.da(25), fg = "NONE", gui = "NONE" },
-    VisualNOS { Visual },
-    WarningMsg { bg = "NONE", fg = c.red, gui = "NONE" },
-    DiffText { bg = "NONE", fg = "NONE", gui = "NONE" },
-    DiffAdd { bg = c.sign_add, fg = "NONE", gui = "NONE" },
-    DiffChange { bg = c.sign_change, fg = "NONE", gui = "NONE" },
-    DiffDelete { bg = c.sign_delete, fg = "NONE", gui = "NONE" },
-    QuickFixLine { CursorLine },
-    PmenuSbar { bg = c.bg2.li(15), fg = "NONE", gui = "NONE" },
-    PmenuThumb { bg = c.white, fg = "NONE", gui = "NONE" },
-    MatchParen { CursorLine, fg = "NONE", gui = "NONE" },
-    Cursor { fg = "NONE", bg = "NONE", gui = "reverse" },
-    lCursor { Cursor },
-    CursorIM { Cursor },
-    TermCursor { Cursor },
-    TermCursorNC { Cursor },
-    Conceal { bg = "NONE", fg = c.blue, gui = "NONE" },
-    Directory { bg = "NONE", fg = c.blue, gui = "NONE" },
-    SpecialKey { bg = "NONE", fg = c.blue, gui = "bold" },
-    Title { bg = "NONE", fg = c.blue, gui = "bold" },
-    ErrorMsg { bg = "NONE", fg = c.error_red, gui = "NONE" },
-    Search { bg = c.gray_blue, fg = c.white },
-    IncSearch { Search },
-    Substitute { Search },
-    MoreMsg { bg = "NONE", fg = c.aqua, gui = "NONE" },
-    Question { MoreMsg },
-    EndOfBuffer { bg = "NONE", fg = c.bg, gui = "NONE" },
-    NonText { EndOfBuffer },
-
-    String { fg = c.green },
-    Character { fg = c.light_green },
-    Constant { fg = c.orange },
-    Number { fg = c.red },
-    Boolean { fg = c.red },
-    Float { fg = c.red },
-
-    Identifier { fg = c.white },
-    Function { fg = c.yellow },
-    Operator { fg = c.gray_blue },
-
-    Type { fg = c.purple },
-    StorageClass { Type },
-    Structure { Type },
-    Typedef { Type },
-
-    Keyword { fg = c.blue },
-    Statement { Keyword },
-    Conditional { Keyword },
-    Repeat { Keyword },
-    Label { Keyword },
-    Exception { Keyword },
-
-    Include { Keyword },
-    PreProc { fg = c.aqua },
-    Define { PreProc },
-    Macro { PreProc },
-    PreCondit { PreProc },
-
-    Special { fg = c.orange },
-    SpecialChar { Character },
-    Tag { fg = c.pale_purple },
-    Debug { fg = c.red },
-    Delimiter { fg = c.white.da(25) },
-    SpecialComment { fg = c.gray },
-    Underlined { fg = "NONE", gui = "underline" },
-    Bold { fg = "NONE", gui = "bold" },
-    Italic { fg = "NONE", gui = "italic" },
-
-    -- Todo
-    -- ("Ignore", below, may be invisible...)
-    Ignore { fg = c.white },
-    Todo { bg = "NONE", fg = c.red, gui = "bold" },
-    Error { fg = c.error_red },
-
-    -- Treesitter
-    TSComment { Comment }, -- comment blocks.
-    luaTSConstructor { bg = "NONE", fg = c.white.da(25) }, -- override Lua curly braces
-    TSAnnotation { bg = "NONE", fg = c.aqua }, -- For C++/Dart attributes, annotations that can be attached to the code to denote some kind of meta information.
-    TSAttribute { bg = "NONE", fg = c.aqua }, -- (unstable) TODO: docs
-    TSConstructor { Type }, -- For constructor calls and definitions: `{ }` in Lua, and Java constructors.
-    TSType { Type }, -- types.
-    TSTypeBuiltin { Type }, -- builtin types.
-    TSConditional { Conditional }, -- keywords related to conditionnals.
-    TSException { Exception }, -- exception related keywords.
-    TSInclude { Include }, -- includes: `#include` in C, `use` or `extern crate` in Rust, or `require` in Lua.
-    TSKeyword { Keyword }, -- keywords that don't fall in previous categories.
-    TSKeywordFunction { Keyword }, -- keywords used to define a fuction.
-    TSLabel { Label }, -- labels: `label:` in C and `:label:` in Lua.
-    TSNamespace { bg = "NONE", fg = c.blue }, -- For identifiers referring to modules and namespaces.
-    TSRepeat { Repeat }, -- keywords related to loops.
-    TSConstant { Constant }, -- constants
-    TSConstBuiltin { Constant }, -- constant that are built in the language: `nil` in Lua.
-    TSFloat { Float }, -- floats.
-    TSNumber { Number }, -- all numbers
-    TSBoolean { Boolean }, -- booleans.
-    TSCharacter { Character }, -- characters.
-    TSError { bg = "NONE", fg = "NONE" }, -- For syntax/parser errors.
-    TSFunction { Function }, -- function (calls and definitions).
-    TSFuncBuiltin { Function }, -- builtin functions: `table.insert` in Lua.
-    TSMethod { Function }, -- method calls and definitions.
-    TSConstMacro { Macro }, -- constants that are defined by macros: `NULL` in C.
-    TSFuncMacro { Macro }, -- macro defined fuctions (calls and definitions): each `macro_rules` in Rust.
-    TSVariableBuiltin { bg = "NONE", fg = c.aqua }, -- Variable names that are defined by the languages, like `this` or `self`.
-    TSProperty { fg = c.aqua },
-    TSOperator { Operator }, -- any operator: `+`, but also `->` and `*` in C.
-    TSVariable { bg = "NONE", fg = c.white }, -- Any variable name that does not have another highlight.
-    TSField { bg = "NONE", fg = c.white }, -- For fields.
-    TSParameter { TSField }, -- parameters of a function.
-    TSParameterReference { TSParameter }, -- references to parameters of a function.
-    TSSymbol { Identifier }, -- identifiers referring to symbols or atoms.
-    TSText { fg = c.white }, -- strings considered text in a markup language.
-    TSPunctDelimiter { Delimiter }, -- delimiters ie: `.`
-    TSTagDelimiter { Delimiter }, -- Tag delimiter like `<` `>` `/`
-    TSPunctBracket { Delimiter }, -- brackets and parens.
-    TSPunctSpecial { Delimiter }, -- special punctutation that does not fall in the catagories before.
-    TSString { String }, -- strings.
-    TSStringRegex { TSString }, -- regexes.
-    TSStringEscape { Character }, -- escape characters within a string.
-    TSWarning { Todo }, -- Variable names that are defined by the languages, like `this` or `self`.
-    TSTag { Tag }, -- Tags like html tag names.
-    TSEmphasis { gui = "italic" }, -- text to be represented with emphasis.
-    TSUnderline { gui = "underline" }, -- text to be represented with an underline.
-    TSStrike { gui = "strikethrough" }, -- strikethrough text.
-    TSTitle { Title }, -- Text that is part of a title.
-    TSLiteral { String }, -- Literal text.
-    TSURI { fg = c.aqua }, -- Any URI like a link or email.
-    -- TSNone                { },    -- TODO: docs
-
-    -- These groups are for the native LSP client. Some other LSP clients may
-    -- use these groups, or use their own. Consult your LSP client's
-    -- documentation.
-
-    LspDiagnosticsDefaultError { bg = "NONE", fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsDefaultWarning { bg = "NONE", fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsDefaultInformation { bg = "NONE", fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsDefaultHint { bg = "NONE", fg = c.hint_blue, gui = "NONE" },
-
-    LspDiagnosticsVirtualTextError { LspDiagnosticsDefaultError },
-    LspDiagnosticsVirtualTextWarning { LspDiagnosticsDefaultWarning },
-    LspDiagnosticsVirtualTextInformation { LspDiagnosticsDefaultInformation },
-    LspDiagnosticsVirtualTextHint { LspDiagnosticsDefaultHint },
-
-    LspDiagnosticsFloatingError { fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsFloatingWarning { fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsFloatingInformation { fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsFloatingHint { fg = c.hint_blue, gui = "NONE" },
-
-    LspDiagnosticsSignError { fg = c.error_red, gui = "NONE" },
-    LspDiagnosticsSignWarning { fg = c.warning_orange, gui = "NONE" },
-    LspDiagnosticsSignInformation { fg = c.info_yellow, gui = "NONE" },
-    LspDiagnosticsSignHint { fg = c.hint_blue, gui = "NONE" }, -- Tree-Sitter
-
-    LspDiagnosticsError { LspDiagnosticsSignError },
-    LspDiagnosticsWarning { LspDiagnosticsSignWarning },
-    LspDiagnosticsInformation { LspDiagnosticsSignInformation },
-    LspDiagnosticsHint { LspDiagnosticsSignHint },
-
-    -- LspReferenceText {bg = c.bg1, fg = "NONE", gui = "underline"},
-    -- LspReferenceRead {bg = c.bg1, fg = "NONE", gui = "underline"},
-    -- LspReferenceWrite {bg = c.bg1, fg = "NONE", gui = "underline"},
-
-    LspDiagnosticsUnderlineError { fg = "NONE", gui = "underline", sp = c.red },
-    LspDiagnosticsUnderlineWarning { fg = "NONE", gui = "underline", sp = c.yellow },
-    LspDiagnosticsUnderlineInformation { fg = "NONE", gui = "underline", sp = c.blue },
-    LspDiagnosticsUnderlineHint { fg = "NONE", gui = "underline", sp = c.green },
-
-    -- gitsigns.nvim
-    SignAdd { fg = c.sign_add },
-    SignChange { fg = c.sign_change },
-    SignDelete { fg = c.sign_delete }, -- Any URI like a link or email.
-    GitSignsAdd { fg = c.sign_add },
-    GitSignsChange { fg = c.sign_change },
-    GitSignsDelete { fg = c.sign_delete },
-
-    -- telescope.nvim
-    TelescopeSelection { bg = "NONE", fg = c.aqua },
-    TelescopeMatching { bg = "NONE", fg = c.red, gui = "bold" },
-    TelescopeBorder { bg = c.bg1, fg = c.gray }, -- nvim-tree.lua
-
-    -- Nvimtree
-    NvimTreeFolderIcon { fg = c.blue },
-    NvimTreeIndentMarker { fg = c.gray },
-    NvimTreeNormal { fg = c.white.da(10), bg = c.bg1 },
-    NvimTreeFolderName { fg = c.blue },
-    NvimTreeOpenedFolderName { fg = c.aqua.da(10), gui = "italic" },
-    NvimTreeOpenedFile { NvimTreeOpenedFolderName },
-    NvimTreeRootFolder { fg = c.blue.da(20) },
-    NvimTreeExecFile { fg = c.green },
-    NvimTreeImageFile { fg = c.purple },
-    NvimTreeSpecialFile { fg = c.aqua },
-
-    NvimTreeGitStaged { fg = c.sign_add },
-    NvimTreeGitNew { fg = c.sign_add },
-    NvimTreeGitDirty { fg = c.sign_add },
-    NvimTreeGitRenamed { fg = c.sign_change },
-    NvimTreeGitMerge { fg = c.sign_change },
-    NvimTreeGitDelete { fg = c.sign_delete },
-    NvimTreeVertSplit { fg = c.bg1, bg = c.bg1 },
-
-    -- BarBar
-    TabLine { bg = c.bg1, fg = c.white, gui = "NONE" },
-    TabLineFill { bg = c.bg1, fg = c.white, gui = "NONE" },
-    TabLineSel { bg = c.blue, fg = c.bg1, gui = "NONE" },
-
-    BufferCurrent { fg = c.fg, bg = c.bg },
-    BufferCurrentIndex { fg = c.aqua, bg = c.bg },
-    BufferCurrentMod { fg = c.info_yellow, bg = c.bg },
-    BufferCurrentSign { fg = c.aqua, bg = c.bg },
-    BufferCurrentTarget { fg = c.red, bg = c.bg, gui = "bold" },
-
-    BufferVisible { fg = c.fg, bg = c.bg },
-    BufferVisibleIndex { fg = c.fg, bg = c.bg },
-    BufferVisibleMod { fg = c.info_yellow, bg = c.bg },
-    BufferVisibleSign { fg = c.info_yellow, bg = c.bg },
-    BufferVisibleTarget { fg = c.red, bg = c.bg, gui = "bold" },
-
-    BufferInactive { fg = c.gray, bg = c.bg1 },
-    BufferInactiveIndex { fg = c.gray, bg = c.bg1 },
-    BufferInactiveMod { fg = c.info_yellow, bg = c.bg1 },
-    BufferInactiveSign { fg = c.gray, bg = c.bg1 },
-    BufferInactiveTarget { fg = c.red, bg = c.bg1 },
-
-    -- some fix for html related stuff
-    htmlH1 { Title }, -- markdown stuff
-    mkdLink { fg = c.aqua, gui = "underline" },
-    mkdLineBreak { bg = "NONE", fg = "NONE", gui = "NONE" },
-    mkdHeading { fg = c.white },
-    mkdInlineURL { mkdLink },
-    mkdUnderline { fg = c.gray },
-    markdownUrl { mkdLink },
-    markdownCode { fg = c.orange, bg = "NONE" },
-    markdownLinkTextDelimiter { Delimiter },
-    markdownLinkDelimiter { Delimiter },
-    markdownIdDelimiter { Delimiter },
-    markdownLinkText { fg = c.aqua },
-    markdownItalic { fg = "NONE", gui = "italic" }, -- flutter-tools.nvim
-    FlutterWidgetGuides { fg = c.gray.li(10) }, -- statusline
-
-    StatusLine { bg = c.bg1, fg = c.white }, -- status line of current window
-    StatusLineNC { bg = c.bg1, fg = c.light_gray }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
-    StatusLineSeparator { bg = c.bg1, fg = "NONE" },
-    StatusLineGit { bg = c.bg1, fg = c.orange },
-    StatusLineGitAdd { bg = c.bg1, fg = c.green },
-    StatusLineGitChange { bg = c.bg1, fg = c.blue },
-    StatusLineGitDelete { bg = c.bg1, fg = c.red },
-    StatusLineLspDiagnosticsError { bg = c.bg1, fg = c.error_red, gui = "NONE" },
-    StatusLineLspDiagnosticsWarning { bg = c.bg1, fg = c.warning_orange, gui = "NONE" },
-    StatusLineLspDiagnosticsInformation { bg = c.bg1, fg = c.info_yellow, gui = "NONE" },
-    StatusLineLspDiagnosticsHint { bg = c.bg1, fg = c.hint_blue, gui = "NONE" },
-    StatusLineTreeSitter { bg = c.bg1, fg = c.green },
-
-    -- StatusLineMode {bg = c.gray, fg = c.bg, gui = "bold"},
-    -- StatusLineDeco {bg = c.bg2, fg = c.yellow},
-    -- StatusLineLCol {bg = c.bg2, fg = c.white},
-    -- StatusLineLColAlt {bg = c.bg1, fg = c.white},
-    -- StatusLineFT {bg = c.bg2, fg = c.white},
-    -- StatusLineFTAlt {bg = c.bg2, fg = c.white},
-    -- StatusLineGitAlt {bg = c.gray, fg = c.bg},
-    -- StatusLineLSP {bg = c.bg1, fg = c.gray.li(25)},
-    -- StatusLineFileName {bg = c.bg1, fg = c.white, gui = "bold"},
-
-    -- lsp-trouble.nvim
-    LspTroubleIndent { fg = c.gray.li(10) }, -- tabline stuff
-
-    -- tabline diagnostic
-    TabLineError { LspDiagnosticsSignError },
-    TabLineWarning { LspDiagnosticsSignWarning },
-    TabLineHint { LspDiagnosticsSignHint },
-    TabLineInformation { LspDiagnosticsSignInformation }, -- which-key.nvim
-
-    WhichKey { fg = c.purple }, -- nvim-compe
-    WhichKeySeperator { fg = c.green }, -- nvim-compe
-    WhichKeyGroup { fg = c.blue }, -- nvim-compe
-    WhichKeyDesc { fg = c.aqua }, -- nvim-compe
-    WhichKeyFloat { bg = c.bg1 }, -- nvim-compe
-
-    CompeDocumentation { Pmenu, fg = "NONE" }, -- diffview
-
-    DiffviewNormal { NvimTreeNormal },
-    DiffviewStatusAdded { SignAdd },
-    DiffviewStatusModified { SignChange },
-    DiffviewStatusRenamed { SignChange },
-    DiffviewStatusDeleted { SignDelete },
-    DiffviewFilePanelInsertion { SignAdd },
-    DiffviewFilePanelDeletion { SignDelete },
-    DiffviewVertSplit { fg = c.gray, bg = c.bg },
-
-    DashboardHeader { fg = c.blue },
-    DashboardCenter { fg = c.purple },
-    DashboardFooter { fg = c.aqua },
-
-    IndentBlanklineContextChar { fg = c.gray.da(20) },
-
-    CodiVirtualText { fg = c.hint_blue },
-  }
-end)
-
--- return our parsed theme for extension or use else where.
-return theme
-
--- vi:nowrap
diff --git a/.config/nvim/lua/cfg/utils/init.lua b/.config/nvim/lua/cfg/utils/init.lua
index f8ed082..2fe3331 100644
--- a/.config/nvim/lua/cfg/utils/init.lua
+++ b/.config/nvim/lua/cfg/utils/init.lua
@@ -3,7 +3,7 @@ local utils = {}
 function utils.reload_config()
   vim.cmd "source ~/.config/nvim/config.lua"
   vim.cmd "source ~/.config/nvim/lua/plugins.lua"
-  vim.cmd "source ~/.config/nvim/lua/neoformat/init.lua"
+  vim.cmd "source ~/.config/nvim/lua/cfg/neoformat/init.lua"
   vim.cmd ":PackerCompile"
   vim.cmd ":PackerInstall"
 end
@@ -54,7 +54,7 @@ utils.define_augroups {
       "*",
       "setlocal formatoptions-=c formatoptions-=r formatoptions-=o",
     },
-    { "BufWritePost", "config.lua", "lua require('utils').reload_config()" },
+    { "BufWritePost", "config.lua", "lua require('cfg.utils').reload_config()" },
     { "VimLeavePre", "*", "set title set titleold=" },
   },
   -- _solidity = {
@@ -74,7 +74,11 @@ utils.define_augroups {
   },
   _auto_resize = {
     -- will cause split windows to be resized evenly if main window is resized
-    { "VimResized ", "*", "wincmd =" },
+    { "VimResized", "*", "wincmd =" },
+  },
+  _packer_compile = {
+    -- will cause split windows to be resized evenly if main window is resized
+    { "BufWritePost", "plugins.lua", "PackerCompile" },
   },
   -- _mode_switching = {
   --   -- will switch between absolute and relative line numbers depending on mode
@@ -85,4 +89,14 @@ utils.define_augroups {
   -- },
 }
 
+vim.cmd [[
+  function! QuickFixToggle()
+    if empty(filter(getwininfo(), 'v:val.quickfix'))
+      copen
+    else
+      cclose
+    endif
+endfunction
+]]
+
 return utils
diff --git a/.config/nvim/lua/cfg/vimtex/init.lua b/.config/nvim/lua/cfg/vimtex/init.lua
index 11ed68b..4d7b93b 100644
--- a/.config/nvim/lua/cfg/vimtex/init.lua
+++ b/.config/nvim/lua/cfg/vimtex/init.lua
@@ -2,6 +2,16 @@ vim.g.vimtex_compiler_method = "latexmk"
 vim.g.vimtex_view_method = "zathura"
 vim.g.vimtex_fold_enabled = 0
 
+O.user_which_key["L"] = {
+  name = "+Latex",
+  c = { "<cmd>VimtexCompile<cr>", "Toggle Compilation Mode" },
+  f = { "<cmd>call vimtex#fzf#run()<cr>", "Fzf Find" },
+  i = { "<cmd>VimtexInfo<cr>", "Project Information" },
+  s = { "<cmd>VimtexStop<cr>", "Stop Project Compilation" },
+  t = { "<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content" },
+  v = { "<cmd>VimtexView<cr>", "View PDF" },
+}
+
 -- Compile on initialization, cleanup on quit
 vim.api.nvim_exec(
   [[
diff --git a/.config/nvim/lua/cfg/which-key/init.lua b/.config/nvim/lua/cfg/which-key/init.lua
index 2a22c9c..993018c 100644
--- a/.config/nvim/lua/cfg/which-key/init.lua
+++ b/.config/nvim/lua/cfg/which-key/init.lua
@@ -99,7 +99,7 @@ vim.api.nvim_set_keymap(
 
 local mappings = {
 
-  ["."] = "LunarConfig",
+  ["."] = "Config",
   ["k"] = "Comment",
   ["c"] = "Close Buffer",
   ["e"] = "Explorer",
@@ -108,29 +108,6 @@ local mappings = {
   [";"] = "Dashboard",
   ["v"] = "Vertical Split",
   ["h"] = "Horizontal Split",
-  b = {
-    name = "Buffers",
-    j = { "<cmd>BufferPick<cr>", "jump to buffer" },
-    f = { "<cmd>Telescope buffers<cr>", "Find buffer" },
-    w = { "<cmd>BufferWipeout<cr>", "wipeout buffer" },
-    e = {
-      "<cmd>BufferCloseAllButCurrent<cr>",
-      "close all but current buffer",
-    },
-    h = { "<cmd>BufferCloseBuffersLeft<cr>", "close all buffers to the left" },
-    l = {
-      "<cmd>BufferCloseBuffersRight<cr>",
-      "close all BufferLines to the right",
-    },
-    D = {
-      "<cmd>BufferOrderByDirectory<cr>",
-      "sort BufferLines automatically by directory",
-    },
-    L = {
-      "<cmd>BufferOrderByLanguage<cr>",
-      "sort BufferLines automatically by language",
-    },
-  },
   p = {
     name = "Packer",
     c = { "<cmd>PackerCompile<cr>", "Compile" },
@@ -198,11 +175,6 @@ local mappings = {
     R = { "<cmd>Telescope registers<cr>", "Registers" },
     t = { "<cmd>Telescope live_grep<cr>", "Text" },
   },
-  S = {
-    name = "Session",
-    s = { "<cmd>SessionSave<cr>", "Save Session" },
-    l = { "<cmd>SessionLoad<cr>", "Load Session" },
-  },
   T = {
     name = "Treesitter",
     i = { ":TSConfigInfo<cr>", "Info" },
@@ -235,18 +207,6 @@ if O.plugin.telescope_project.active then
   mappings["P"] = "Projects"
 end
 
-if O.lang.latex.active then
-  mappings["L"] = {
-    name = "+Latex",
-    c = { "<cmd>VimtexCompile<cr>", "Toggle Compilation Mode" },
-    f = { "<cmd>call vimtex#fzf#run()<cr>", "Fzf Find" },
-    i = { "<cmd>VimtexInfo<cr>", "Project Information" },
-    s = { "<cmd>VimtexStop<cr>", "Stop Project Compilation" },
-    t = { "<cmd>VimtexTocToggle<cr>", "Toggle Table Of Content" },
-    v = { "<cmd>VimtexView<cr>", "View PDF" },
-  }
-end
-
 if O.lushmode then
   mappings["L"] = {
     name = "+Lush",
@@ -257,13 +217,8 @@ if O.lushmode then
   }
 end
 
--- for _, v in pairs(O.user_which_key) do
--- end
 for k, v in pairs(O.user_which_key) do
   mappings[k] = v
-  -- table.insert(mappings, O.user_which_key[1])
-  -- print(k)
-  --   print(v)
 end
 
 local wk = require "which-key"
diff --git a/.config/nvim/lua/default-config.lua b/.config/nvim/lua/default-config.lua
index fce3caf..2f5a674 100644
--- a/.config/nvim/lua/default-config.lua
+++ b/.config/nvim/lua/default-config.lua
@@ -8,10 +8,13 @@ O = {
   auto_close_tree = 0,
   auto_complete = true,
   colorscheme = "lunar",
+  clipboard = "unnamedplus",
   hidden_files = true,
   wrap_lines = false,
   number = true,
   relative_number = true,
+  number_width = 4,
+  cmdheight = 2,
   cursorline = true,
   shell = "zsh",
   timeoutlen = 100,
diff --git a/.config/nvim/lua/keymappings.lua b/.config/nvim/lua/keymappings.lua
index 3b6a95a..4dfcbb0 100644
--- a/.config/nvim/lua/keymappings.lua
+++ b/.config/nvim/lua/keymappings.lua
@@ -4,19 +4,16 @@ vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", { silent = true })
 vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", { silent = true })
 vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", { silent = true })
 
--- TODO fix this
 -- Terminal window navigation
-vim.cmd [[
-  tnoremap <C-h> <C-\><C-N><C-w>h
-  tnoremap <C-j> <C-\><C-N><C-w>j
-  tnoremap <C-k> <C-\><C-N><C-w>k
-  tnoremap <C-l> <C-\><C-N><C-w>l
-  inoremap <C-h> <C-\><C-N><C-w>h
-  inoremap <C-j> <C-\><C-N><C-w>j
-  inoremap <C-k> <C-\><C-N><C-w>k
-  inoremap <C-l> <C-\><C-N><C-w>l
-  tnoremap <Esc> <C-\><C-n>
-]]
+vim.api.nvim_set_keymap("t", "<C-h>", "<C-\\><C-N><C-w>h", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("t", "<C-j>", "<C-\\><C-N><C-w>j", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("i", "<C-h>", "<C-\\><C-N><C-w>h", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("i", "<C-j>", "<C-\\><C-N><C-w>j", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("i", "<C-k>", "<C-\\><C-N><C-w>k", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("i", "<C-l>", "<C-\\><C-N><C-w>l", {silent = true, noremap = true})
+vim.api.nvim_set_keymap("t", "<Esc>", "<C-\\><C-n>", {silent = true, noremap = true})
 
 -- TODO fix this
 -- resize with arrows
@@ -70,9 +67,3 @@ vim.cmd 'vnoremap P "0P'
 
 -- Toggle the QuickFix window
 vim.api.nvim_set_keymap("", "<C-q>", ":call QuickFixToggle()<CR>", { noremap = true, silent = true })
-
--- Telescope stuff
--- vim.api.nvim_set_keymap("n", "<Leader>fb", "<cmd>lua require'telescope.builtin'.buffers{}<CR>", { noremap = true, silent = true })                   -- search open buffers
--- vim.api.nvim_set_keymap("n", "<Leader>fl", "<cmd>lua require'telescope.builtin'.current_buffer_fuzzy_find{}<CR>", { noremap = true, silent = true }) -- search lines in current buffer
--- vim.api.nvim_set_keymap("n", "<Leader>gg", "<cmd>lua require'telescope.builtin'.live_grep{}<CR>", { noremap = true, silent = true })                 -- search all lines in project
--- vim.api.nvim_set_keymap("n", "<Leader>fr", "<cmd>lua require'telescope.builtin'.lsp_references{}<CR>", { noremap = true, silent = true })            -- search references to symbol under cursor
diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua
index fcd5239..1f9e4a3 100644
--- a/.config/nvim/lua/plugins.lua
+++ b/.config/nvim/lua/plugins.lua
@@ -22,8 +22,6 @@ packer.init {
   },
 }
 
-vim.cmd "autocmd BufWritePost plugins.lua PackerCompile"
-
 return require("packer").startup(function(use)
   -- Packer can manage itself as an optional plugin
   use "wbthomason/packer.nvim"
@@ -38,7 +36,7 @@ return require("packer").startup(function(use)
   use {
     "nvim-telescope/telescope.nvim",
     config = [[require('cfg.telescope')]],
-    event = "BufEnter",
+    -- event = "BufEnter",
   }
 
   -- Autocomplete
@@ -57,7 +55,13 @@ return require("packer").startup(function(use)
   use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }
 
   -- Neoformat
-  use { "sbdchd/neoformat" }
+  use {
+    "sbdchd/neoformat",
+    config = function()
+      require "cfg.neoformat"
+    end,
+    event = "BufRead",
+  }
 
   use {
     "kyazdani42/nvim-tree.lua",
@@ -71,7 +75,6 @@ return require("packer").startup(function(use)
 
   use {
     "lewis6991/gitsigns.nvim",
-
     config = function()
       require("cfg.gitsigns").config()
     end,
@@ -79,7 +82,13 @@ return require("packer").startup(function(use)
   }
 
   -- whichkey
-  use { "folke/which-key.nvim" }
+  use {
+    "folke/which-key.nvim",
+    config = function()
+      require "cfg.which-key"
+    end,
+    event = "BufWinEnter",
+  }
 
   -- Autopairs
   use {
@@ -94,8 +103,7 @@ return require("packer").startup(function(use)
   -- Comments
   use {
     "terrortylor/nvim-comment",
-    event = "BufRead",
-    -- cmd = "CommentToggle",
+    event = "BufWinEnter",
     config = function()
       local status_ok, nvim_comment = pcall(require, "nvim_comment")
       if not status_ok then
@@ -112,16 +120,20 @@ return require("packer").startup(function(use)
   use { "kyazdani42/nvim-web-devicons" }
 
   -- Status Line and Bufferline
-  use { "glepnir/galaxyline.nvim" }
+  use {
+    "glepnir/galaxyline.nvim",
+    config = function()
+      require "cfg.galaxyline"
+    end,
+    -- event = "VimEnter",
+  }
 
   use {
     "romgrk/barbar.nvim",
     config = function()
-      vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true })
-      vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true })
-      vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true })
+      require "cfg.barbar"
     end,
-    -- event = "BufRead",
+    event = "BufWinEnter",
   }
 
   -- Builtins, these do not load by default
@@ -146,10 +158,9 @@ return require("packer").startup(function(use)
 
   use {
     "norcalli/nvim-colorizer.lua",
-    event = "BufRead",
+    event = "BufWinEnter",
     config = function()
       require "cfg.colorizer"
-      vim.cmd "ColorizerReloadAllBuffers"
     end,
     disable = not O.plugin.colorizer.active,
   }
diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua
index 371cdb0..914561d 100644
--- a/.config/nvim/lua/settings.lua
+++ b/.config/nvim/lua/settings.lua
@@ -21,40 +21,41 @@ vim.g.colors_name = O.colorscheme
 
 ---  SETTINGS  ---
 
-opt.backup = false -- creates a backup file
-opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
-opt.cmdheight = 2 -- more space in the neovim command line for displaying messages
-opt.colorcolumn = "99999" -- fix indentline for now
+opt.backup = false                            -- creates a backup file
+opt.clipboard = O.clipboard                   -- allows neovim to access the system clipboard
+opt.cmdheight = O.cmdheight                   -- more space in the neovim command line for displaying messages
+opt.colorcolumn = "99999"                     -- fix indentline for now
 opt.completeopt = { "menuone", "noselect" }
-opt.conceallevel = 0 -- so that `` is visible in markdown files
-opt.fileencoding = "utf-8" -- the encoding written to a file
-opt.guifont = "monospace:h17" -- the font used in graphical neovim applications
-opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers
-opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern
-opt.ignorecase = O.ignore_case -- ignore case in search patterns
-opt.mouse = "a" -- allow the mouse to be used in neovim
-opt.pumheight = 10 -- pop up menu height
-opt.showmode = false -- we don't need to see things like -- INSERT -- anymore
-opt.showtabline = 2 -- always show tabs
-opt.smartcase = O.smart_case -- smart case
-opt.smartindent = true -- make indenting smarter again
-opt.splitbelow = true -- force all horizontal splits to go below current window
-opt.splitright = true -- force all vertical splits to go to the right of current window
-opt.swapfile = false -- creates a swapfile
-opt.termguicolors = true -- set term gui colors (most terminals support this)
-opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds)
-opt.title = true -- set the title of window to the value of the titlestring
-opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to
-opt.undodir = CACHE_PATH .. "/undo" -- set an undo directory
-opt.undofile = true -- enable persisten undo
-opt.updatetime = 300 -- faster completion
-opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
-opt.expandtab = true -- convert tabs to spaces
-opt.shiftwidth = 4 -- the number of spaces inserted for each indentation
+opt.conceallevel = 0                          -- so that `` is visible in markdown files
+opt.fileencoding = "utf-8"                    -- the encoding written to a file
+opt.guifont = "monospace:h17"                 -- the font used in graphical neovim applications
+opt.hidden = O.hidden_files                   -- required to keep multiple buffers and open multiple buffers
+opt.hlsearch = O.hl_search                    -- highlight all matches on previous search pattern
+opt.ignorecase = O.ignore_case                -- ignore case in search patterns
+opt.mouse = "a"                               -- allow the mouse to be used in neovim
+opt.pumheight = 10                            -- pop up menu height
+opt.showmode = false                          -- we don't need to see things like -- INSERT -- anymore
+opt.showtabline = 2                           -- always show tabs
+opt.smartcase = O.smart_case                  -- smart case
+opt.smartindent = true                        -- make indenting smarter again
+opt.splitbelow = true                         -- force all horizontal splits to go below current window
+opt.splitright = true                         -- force all vertical splits to go to the right of current window
+opt.swapfile = false                          -- creates a swapfile
+opt.termguicolors = true                      -- set term gui colors (most terminals support this)
+opt.timeoutlen = O.timeoutlen                 -- time to wait for a mapped sequence to complete (in milliseconds)
+opt.title = true                              -- set the title of window to the value of the titlestring
+opt.titlestring = "%<%F%=%l/%L - nvim"        -- what the title of the window will be set to
+opt.undodir = CACHE_PATH .. "/undo"           -- set an undo directory
+opt.undofile = true                           -- enable persisten undo
+opt.updatetime = 300                          -- faster completion
+opt.writebackup = false                       -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
+opt.expandtab = true                          -- convert tabs to spaces
+opt.shiftwidth = 4                            -- the number of spaces inserted for each indentation
 opt.shortmess:append "c"
-opt.tabstop = 4 -- insert 4 spaces for a tab
-opt.cursorline = O.cursorline -- highlight the current line
-opt.number = O.number -- set numbered lines
-opt.relativenumber = O.relative_number -- set relative numbered lines
-opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
-opt.wrap = O.wrap_lines -- display lines as one long line
+opt.tabstop = 4                               -- insert 4 spaces for a tab
+opt.cursorline = O.cursorline                 -- highlight the current line
+opt.number = O.number                         -- set numbered lines
+opt.relativenumber = O.relative_number        -- set relative numbered lines
+opt.numberwidth = O.number_width              -- set number column width to 2 {default 4}
+opt.signcolumn = "yes"                        -- always show the sign column, otherwise it would shift the text each time
+opt.wrap = O.wrap_lines                       -- display lines as one long line
-- 
cgit v1.2.3-70-g09d2