.dotfiles/.config/hyde/wallbash/always/vim.dcol
2026-01-18 21:08:16 -07:00

496 lines
26 KiB
Plaintext

${XDG_CONFIG_HOME:-$HOME/.config}/vim/colors/wallbash.vim
" Name: wallbash
" Description: wallbash template
" Author: The HyDE Project
" License: Same as Vim
" Last Change: April 2025
if exists('g:loaded_wallbash') | finish | endif
let g:loaded_wallbash = 1
" Detect background based on terminal colors
if $BACKGROUND =~# 'light'
set background=light
else
set background=dark
endif
" hi clear
let g:colors_name = 'wallbash'
let s:t_Co = &t_Co
" Terminal color setup
if (has('termguicolors') && &termguicolors) || has('gui_running')
let s:is_dark = &background == 'dark'
" Define terminal colors based on the background
if s:is_dark
let g:terminal_ansi_colors = ['<wallbash_pry1>', '<wallbash_4xa5>', '<wallbash_1xa6>', '<wallbash_3xa6>',
\ '<wallbash_2xa5>', '<wallbash_3xa7>', '<wallbash_1xa7>', '<wallbash_txt3>',
\ '<wallbash_pry2>', '<wallbash_4xa6>', '<wallbash_1xa7>', '<wallbash_3xa8>',
\ '<wallbash_2xa6>', '<wallbash_3xa8>', '<wallbash_1xa8>', '<wallbash_txt1>']
else
" Lighter colors for light theme
let g:terminal_ansi_colors = ['<wallbash_txt1>', '<wallbash_4xa7>', '<wallbash_1xa8>', '<wallbash_3xa8>',
\ '<wallbash_2xa7>', '<wallbash_3xa9>', '<wallbash_1xa9>', '<wallbash_pry3>',
\ '<wallbash_txt3>', '<wallbash_4xa8>', '<wallbash_1xa9>', '<wallbash_3xa9>',
\ '<wallbash_2xa8>', '<wallbash_3xa9>', '<wallbash_1xa9>', '<wallbash_pry1>']
endif
" Nvim uses g:terminal_color_{0-15} instead
for i in range(g:terminal_ansi_colors->len())
let g:terminal_color_{i} = g:terminal_ansi_colors[i]
endfor
endif
" For Neovim compatibility
if has('nvim')
" Set Neovim specific terminal colors
let g:terminal_color_0 = '#' . g:terminal_ansi_colors[0]
let g:terminal_color_1 = '#' . g:terminal_ansi_colors[1]
let g:terminal_color_2 = '#' . g:terminal_ansi_colors[2]
let g:terminal_color_3 = '#' . g:terminal_ansi_colors[3]
let g:terminal_color_4 = '#' . g:terminal_ansi_colors[4]
let g:terminal_color_5 = '#' . g:terminal_ansi_colors[5]
let g:terminal_color_6 = '#' . g:terminal_ansi_colors[6]
let g:terminal_color_7 = '#' . g:terminal_ansi_colors[7]
let g:terminal_color_8 = '#' . g:terminal_ansi_colors[8]
let g:terminal_color_9 = '#' . g:terminal_ansi_colors[9]
let g:terminal_color_10 = '#' . g:terminal_ansi_colors[10]
let g:terminal_color_11 = '#' . g:terminal_ansi_colors[11]
let g:terminal_color_12 = '#' . g:terminal_ansi_colors[12]
let g:terminal_color_13 = '#' . g:terminal_ansi_colors[13]
let g:terminal_color_14 = '#' . g:terminal_ansi_colors[14]
let g:terminal_color_15 = '#' . g:terminal_ansi_colors[15]
endif
" Function to dynamically invert colors for UI elements
function! s:inverse_color(color)
" This function takes a hex color (without #) and returns its inverse
" Convert hex to decimal values
let r = str2nr(a:color[0:1], 16)
let g = str2nr(a:color[2:3], 16)
let b = str2nr(a:color[4:5], 16)
" Calculate inverse (255 - value)
let r_inv = 255 - r
let g_inv = 255 - g
let b_inv = 255 - b
" Convert back to hex
return printf('%02x%02x%02x', r_inv, g_inv, b_inv)
endfunction
" Function to be called for selection background
function! InverseSelectionBg()
if &background == 'dark'
return '<wallbash_1xa9>'
else
return '<wallbash_2xa1>'
endif
endfunction
" Add high-contrast dynamic selection highlighting using the inverse color function
augroup WallbashDynamicHighlight
autocmd!
" Update selection highlight when wallbash colors change
autocmd ColorScheme wallbash call s:update_dynamic_highlights()
augroup END
function! s:update_dynamic_highlights()
let l:bg_color = synIDattr(synIDtrans(hlID('Normal')), 'bg#')
if l:bg_color != ''
let l:bg_color = l:bg_color[1:] " Remove # from hex color
let l:inverse = s:inverse_color(l:bg_color)
" Apply inverse color to selection highlights
execute 'highlight! CursorSelection guifg=' . l:bg_color . ' guibg=#' . l:inverse
" Link dynamic highlights to various selection groups
highlight! link NeoTreeCursorLine CursorSelection
highlight! link TelescopeSelection CursorSelection
highlight! link CmpItemSelected CursorSelection
highlight! link PmenuSel CursorSelection
highlight! link WinSeparator VertSplit
endif
endfunction
" Make selection visible right away for current colorscheme
call s:update_dynamic_highlights()
" Conditional highlighting based on background
if &background == 'dark'
" Base UI elements with transparent backgrounds
hi Normal guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi Pmenu guibg=#<wallbash_pry3> guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi StatusLine guifg=#<wallbash_txt1> guibg=#<wallbash_pry3> gui=NONE cterm=NONE
hi StatusLineNC guifg=#<wallbash_txt2> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi VertSplit guifg=#<wallbash_1xa5> guibg=NONE gui=NONE cterm=NONE
hi LineNr guifg=#<wallbash_1xa5> guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#<wallbash_txt2> guibg=NONE gui=NONE cterm=NONE
" NeoTree with transparent background including unfocused state
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeFloatNormal guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeFloatBorder guifg=#<wallbash_1xa5> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeWinSeparator guifg=#<wallbash_pry2> guibg=NONE gui=NONE cterm=NONE
" NeoTree with transparent background
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeRootName guifg=#<wallbash_1xa9> guibg=NONE gui=bold cterm=bold
" TabLine highlighting with complementary accents
hi TabLine guifg=#<wallbash_txt2> guibg=#<wallbash_pry3> gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=NONE gui=NONE cterm=NONE
hi TabLineSel guifg=#<wallbash_pry1> guibg=#<wallbash_1xa9> gui=bold cterm=bold
hi TabLineSeparator guifg=#<wallbash_1xa5> guibg=#<wallbash_pry3> gui=NONE cterm=NONE
" Interactive elements with dynamic contrast
hi Search guifg=#<wallbash_pry2> guibg=#<wallbash_1xa8> gui=NONE cterm=NONE
hi Visual guifg=#<wallbash_pry2> guibg=#<wallbash_1xa7> gui=NONE cterm=NONE
hi MatchParen guifg=#<wallbash_pry2> guibg=#<wallbash_1xa9> gui=bold cterm=bold
" Menu item hover highlight
hi CmpItemAbbrMatch guifg=#<wallbash_1xa9> guibg=NONE gui=bold cterm=bold
hi CmpItemAbbrMatchFuzzy guifg=#<wallbash_1xa8> guibg=NONE gui=bold cterm=bold
hi CmpItemMenu guifg=#<wallbash_txt2> guibg=NONE gui=italic cterm=italic
hi CmpItemAbbr guifg=#<wallbash_txt1> guibg=NONE gui=NONE cterm=NONE
hi CmpItemAbbrDeprecated guifg=#<wallbash_txt3> guibg=NONE gui=strikethrough cterm=strikethrough
" Specific menu highlight groups
hi WhichKey guifg=#<wallbash_1xa9> guibg=NONE gui=NONE cterm=NONE
hi WhichKeySeparator guifg=#<wallbash_txt3> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyGroup guifg=#<wallbash_1xa7> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyDesc guifg=#<wallbash_1xa8> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyFloat guibg=#<wallbash_pry2> guifg=NONE gui=NONE cterm=NONE
" Selection and hover highlights with inverted colors
hi CursorColumn guifg=NONE guibg=#<wallbash_pry3> gui=NONE cterm=NONE
hi Cursor guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi lCursor guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi CursorIM guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi TermCursor guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi TermCursorNC guibg=#<wallbash_txt2> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi CursorLine guibg=NONE ctermbg=NONE gui=underline cterm=underline
hi CursorLineNr guifg=#<wallbash_1xa9> guibg=NONE gui=bold cterm=bold
hi QuickFixLine guifg=#<wallbash_pry2> guibg=#<wallbash_1xa7> gui=NONE cterm=NONE
hi IncSearch guifg=#<wallbash_pry2> guibg=#<wallbash_1xa9> gui=NONE cterm=NONE
hi NormalNC guibg=#<wallbash_pry2> guifg=#<wallbash_txt2> gui=NONE cterm=NONE
hi Directory guifg=#<wallbash_1xa8> guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#<wallbash_pry2> guibg=#<wallbash_1xa9> gui=bold cterm=bold
" Add highlight groups for focused items with inverted colors
hi CursorLineFold guifg=#<wallbash_1xa9> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi FoldColumn guifg=#<wallbash_txt2> guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#<wallbash_txt1> guibg=#<wallbash_pry3> gui=italic cterm=italic
" File explorer specific highlights
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi NeoTreeRootName guifg=#<wallbash_1xa9> guibg=NONE gui=bold cterm=bold
hi NeoTreeFileName guifg=#<wallbash_txt1> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeFileIcon guifg=#<wallbash_1xa8> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeDirectoryName guifg=#<wallbash_1xa8> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeDirectoryIcon guifg=#<wallbash_1xa8> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitModified guifg=#<wallbash_1xa7> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitAdded guifg=#<wallbash_1xa6> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitDeleted guifg=#<wallbash_4xa5> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitUntracked guifg=#<wallbash_3xa6> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeIndentMarker guifg=#<wallbash_1xa4> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeSymbolicLinkTarget guifg=#<wallbash_1xa7> guibg=NONE gui=NONE cterm=NONE
" File explorer cursor highlights with strong contrast
" hi NeoTreeCursorLine guibg=#<wallbash_1xa7> guifg=#<wallbash_pry1> gui=bold cterm=bold
" hi! link NeoTreeCursor NeoTreeCursorLine
" hi! link NeoTreeCursorLineSign NeoTreeCursorLine
" Use wallbash colors for explorer snack in dark mode
hi WinBar guifg=#<wallbash_txt1> guibg=#<wallbash_pry3> gui=bold cterm=bold
hi WinBarNC guifg=#<wallbash_txt2> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi ExplorerSnack guibg=#<wallbash_1xa9> guifg=#<wallbash_pry1> gui=bold cterm=bold
hi BufferTabpageFill guibg=#<wallbash_pry1> guifg=#<wallbash_txt3> gui=NONE cterm=NONE
hi BufferCurrent guifg=#<wallbash_txt1> guibg=#<wallbash_1xa9> gui=bold cterm=bold
hi BufferCurrentMod guifg=#<wallbash_txt1> guibg=#<wallbash_1xa7> gui=bold cterm=bold
hi BufferCurrentSign guifg=#<wallbash_1xa9> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi BufferVisible guifg=#<wallbash_txt1> guibg=#<wallbash_pry3> gui=NONE cterm=NONE
hi BufferVisibleMod guifg=#<wallbash_txt2> guibg=#<wallbash_pry3> gui=NONE cterm=NONE
hi BufferVisibleSign guifg=#<wallbash_1xa7> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi BufferInactive guifg=#<wallbash_txt3> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi BufferInactiveMod guifg=#<wallbash_1xa5> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
hi BufferInactiveSign guifg=#<wallbash_1xa5> guibg=#<wallbash_pry2> gui=NONE cterm=NONE
" Fix link colors to make them more visible
hi link Hyperlink NONE
hi link markdownLinkText NONE
hi Underlined guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline
hi Special guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownUrl guifg=#FF00FF guibg=NONE gui=underline cterm=underline
hi markdownLinkText guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi htmlLink guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline
" Add more direct highlights for badges in markdown
hi markdownH1 guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownLinkDelimiter guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownLinkTextDelimiter guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownIdDeclaration guifg=#FF00FF guibg=NONE gui=bold cterm=bold
else
" Light theme with transparent backgrounds
hi Normal guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi Pmenu guibg=#<wallbash_txt3> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi StatusLine guifg=#<wallbash_txt1> guibg=#<wallbash_3xa3> gui=NONE cterm=NONE
hi StatusLineNC guifg=#<wallbash_pry1> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi VertSplit guifg=#<wallbash_3xa3> guibg=NONE gui=NONE cterm=NONE
hi LineNr guifg=#<wallbash_3xa3> guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#<wallbash_pry2> guibg=NONE gui=NONE cterm=NONE
" NeoTree with transparent background including unfocused state
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeFloatNormal guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeFloatBorder guifg=#<wallbash_2xa3> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeWinSeparator guifg=#<wallbash_txt2> guibg=NONE gui=NONE cterm=NONE
" NeoTree with transparent background
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeRootName guifg=#<wallbash_2xa1> guibg=NONE gui=bold cterm=bold
" TabLine highlighting with complementary accents
hi TabLine guifg=#<wallbash_pry1> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=NONE gui=NONE cterm=NONE
hi TabLineSel guifg=#<wallbash_txt1> guibg=#<wallbash_2xa1> gui=bold cterm=bold
hi TabLineSeparator guifg=#<wallbash_3xa3> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
" Interactive elements with complementary contrast
hi Search guifg=#<wallbash_txt1> guibg=#<wallbash_2xa2> gui=NONE cterm=NONE
hi Visual guifg=#<wallbash_txt1> guibg=#<wallbash_3xa3> gui=NONE cterm=NONE
hi MatchParen guifg=#<wallbash_txt1> guibg=#<wallbash_2xa1> gui=bold cterm=bold
" Menu item hover highlight
hi CmpItemAbbrMatch guifg=#<wallbash_2xa1> guibg=NONE gui=bold cterm=bold
hi CmpItemAbbrMatchFuzzy guifg=#<wallbash_2xa2> guibg=NONE gui=bold cterm=bold
hi CmpItemMenu guifg=#<wallbash_pry2> guibg=NONE gui=italic cterm=italic
hi CmpItemAbbr guifg=#<wallbash_pry1> guibg=NONE gui=NONE cterm=NONE
hi CmpItemAbbrDeprecated guifg=#<wallbash_pry3> guibg=NONE gui=strikethrough cterm=strikethrough
" Specific menu highlight groups
hi WhichKey guifg=#<wallbash_2xa1> guibg=NONE gui=NONE cterm=NONE
hi WhichKeySeparator guifg=#<wallbash_pry3> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyGroup guifg=#<wallbash_2xa3> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyDesc guifg=#<wallbash_2xa2> guibg=NONE gui=NONE cterm=NONE
hi WhichKeyFloat guibg=#<wallbash_txt2> guifg=NONE gui=NONE cterm=NONE
" Selection and hover highlights with inverted colors
hi CursorColumn guifg=NONE guibg=#<wallbash_txt3> gui=NONE cterm=NONE
hi Cursor guibg=#<wallbash_pry1> guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi lCursor guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi CursorIM guibg=#<wallbash_txt1> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi TermCursor guibg=#<wallbash_pry1> guifg=#<wallbash_txt1> gui=NONE cterm=NONE
hi TermCursorNC guibg=#<wallbash_txt2> guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi CursorLine guibg=NONE ctermbg=NONE gui=underline cterm=underline
hi CursorLineNr guifg=#<wallbash_2xa1> guibg=NONE gui=bold cterm=bold
hi QuickFixLine guifg=#<wallbash_txt1> guibg=#<wallbash_2xa2> gui=NONE cterm=NONE
hi IncSearch guifg=#<wallbash_txt1> guibg=#<wallbash_2xa1> gui=NONE cterm=NONE
hi NormalNC guibg=#<wallbash_txt1> guifg=#<wallbash_pry2> gui=NONE cterm=NONE
hi Directory guifg=#<wallbash_2xa1> guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#<wallbash_txt1> guibg=#<wallbash_2xa1> gui=bold cterm=bold
" Add highlight groups for focused items with inverted colors
hi CursorLineFold guifg=#<wallbash_2xa1> guibg=#<wallbash_txt1> gui=NONE cterm=NONE
hi FoldColumn guifg=#<wallbash_pry2> guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#<wallbash_pry1> guibg=#<wallbash_txt3> gui=italic cterm=italic
" File explorer specific highlights
hi NeoTreeNormal guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_pry1> gui=NONE cterm=NONE
hi NeoTreeRootName guifg=#<wallbash_2xa1> guibg=NONE gui=bold cterm=bold
hi NeoTreeFileName guifg=#<wallbash_pry1> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeFileIcon guifg=#<wallbash_2xa2> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeDirectoryName guifg=#<wallbash_2xa2> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeDirectoryIcon guifg=#<wallbash_2xa2> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitModified guifg=#<wallbash_2xa3> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitAdded guifg=#<wallbash_3xa4> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitDeleted guifg=#<wallbash_4xa5> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeGitUntracked guifg=#<wallbash_3xa6> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeIndentMarker guifg=#<wallbash_2xa4> guibg=NONE gui=NONE cterm=NONE
hi NeoTreeSymbolicLinkTarget guifg=#<wallbash_2xa3> guibg=NONE gui=NONE cterm=NONE
" File explorer cursor highlights with strong contrast
" hi NeoTreeCursorLine guibg=#<wallbash_2xa2> guifg=#<wallbash_txt1> gui=bold cterm=bold
" hi! link NeoTreeCursor NeoTreeCursorLine
" hi! link NeoTreeCursorLineSign NeoTreeCursorLine
" Use wallbash colors for explorer snack in light mode
hi WinBar guifg=#<wallbash_pry1> guibg=#<wallbash_txt3> gui=bold cterm=bold
hi WinBarNC guifg=#<wallbash_pry2> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi ExplorerSnack guibg=#<wallbash_2xa1> guifg=#<wallbash_txt1> gui=bold cterm=bold
hi BufferTabpageFill guibg=#<wallbash_txt1> guifg=#<wallbash_pry3> gui=NONE cterm=NONE
hi BufferCurrent guifg=#<wallbash_txt1> guibg=#<wallbash_2xa1> gui=bold cterm=bold
hi BufferCurrentMod guifg=#<wallbash_txt1> guibg=#<wallbash_2xa3> gui=bold cterm=bold
hi BufferCurrentSign guifg=#<wallbash_2xa1> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi BufferVisible guifg=#<wallbash_pry1> guibg=#<wallbash_txt3> gui=NONE cterm=NONE
hi BufferVisibleMod guifg=#<wallbash_pry2> guibg=#<wallbash_txt3> gui=NONE cterm=NONE
hi BufferVisibleSign guifg=#<wallbash_2xa3> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi BufferInactive guifg=#<wallbash_pry3> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi BufferInactiveMod guifg=#<wallbash_2xa5> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
hi BufferInactiveSign guifg=#<wallbash_2xa5> guibg=#<wallbash_txt2> gui=NONE cterm=NONE
" Fix link colors to make them more visible
hi link Hyperlink NONE
hi link markdownLinkText NONE
hi Underlined guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline
hi Special guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownUrl guifg=#FF00FF guibg=NONE gui=underline cterm=underline
hi markdownLinkText guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi htmlLink guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline
" Add more direct highlights for badges in markdown
hi markdownH1 guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownLinkDelimiter guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownLinkTextDelimiter guifg=#FF00FF guibg=NONE gui=bold cterm=bold
hi markdownIdDeclaration guifg=#FF00FF guibg=NONE gui=bold cterm=bold
endif
" UI elements that are the same in both themes with transparent backgrounds
hi NormalFloat guibg=NONE guifg=NONE gui=NONE cterm=NONE
hi FloatBorder guifg=#<wallbash_3xa3> guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#<wallbash_txt1> guibg=#<wallbash_1xa6> gui=NONE cterm=NONE
hi DiffChange guifg=#<wallbash_txt1> guibg=#<wallbash_3xa5> gui=NONE cterm=NONE
hi DiffDelete guifg=#<wallbash_txt1> guibg=#<wallbash_4xa5> gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=NONE gui=NONE cterm=NONE
" Fix selection highlighting with proper color derivatives
hi TelescopeSelection guibg=#<wallbash_3xa9> guifg=#<wallbash_pry1> gui=bold cterm=bold
hi TelescopeSelectionCaret guifg=#<wallbash_txt1> guibg=#<wallbash_3xa9> gui=bold cterm=bold
hi TelescopeMultiSelection guibg=#<wallbash_3xa7> guifg=#<wallbash_pry1> gui=bold cterm=bold
hi TelescopeMatching guifg=#<wallbash_4xa6> guibg=NONE gui=bold cterm=bold
" Minimal fix for explorer selection highlighting
hi NeoTreeCursorLine guibg=#<wallbash_3xa9> guifg=#<wallbash_pry1> gui=bold
" Fix for LazyVim menu selection highlighting
hi Visual guibg=#<wallbash_4xa9> guifg=#<wallbash_pry1> gui=bold
hi CursorLine guibg=NONE ctermbg=NONE gui=underline cterm=underline
hi PmenuSel guibg=#<wallbash_4xa9> guifg=#<wallbash_pry1> gui=bold
hi WildMenu guibg=#<wallbash_4xa9> guifg=#<wallbash_pry1> gui=bold
" Create improved autocommands to ensure highlighting persists with NeoTree focus fixes
augroup WallbashSelectionFix
autocmd!
" Force these persistent highlights with transparent backgrounds where possible
autocmd ColorScheme * if &background == 'dark' |
\ hi Normal guibg=NONE |
\ hi NeoTreeNormal guibg=NONE |
\ hi SignColumn guibg=NONE |
\ hi NormalFloat guibg=NONE |
\ hi FloatBorder guibg=NONE |
\ hi TabLineFill guibg=NONE |
\ else |
\ hi Normal guibg=NONE |
\ hi NeoTreeNormal guibg=NONE |
\ hi SignColumn guibg=NONE |
\ hi NormalFloat guibg=NONE |
\ hi FloatBorder guibg=NONE |
\ hi TabLineFill guibg=NONE |
\ endif
" Force NeoTree background to be transparent even when unfocused
autocmd WinEnter,WinLeave,BufEnter,BufLeave * if &ft == 'neo-tree' || &ft == 'NvimTree' |
\ hi NeoTreeNormal guibg=NONE |
\ hi NeoTreeEndOfBuffer guibg=NONE |
\ endif
" Fix NeoTree unfocus issue specifically in LazyVim
autocmd VimEnter,ColorScheme * hi link NeoTreeNormalNC NeoTreeNormal
" Make CursorLine less obtrusive by using underline instead of background
autocmd ColorScheme * hi CursorLine guibg=NONE ctermbg=NONE gui=underline cterm=underline
" Make links visible across modes
autocmd ColorScheme * if &background == 'dark' |
\ hi Underlined guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline |
\ hi Special guifg=#FF00FF guibg=NONE gui=bold cterm=bold |
\ else |
\ hi Underlined guifg=#FF00FF guibg=NONE gui=bold,underline cterm=bold,underline |
\ hi Special guifg=#FF00FF guibg=NONE gui=bold cterm=bold |
\ endif
" Fix markdown links specifically
autocmd FileType markdown hi markdownUrl guifg=#FF00FF guibg=NONE gui=underline,bold
autocmd FileType markdown hi markdownLinkText guifg=#FF00FF guibg=NONE gui=bold
autocmd FileType markdown hi markdownIdDeclaration guifg=#FF00FF guibg=NONE gui=bold
autocmd FileType markdown hi htmlLink guifg=#FF00FF guibg=NONE gui=bold,underline
augroup END
" Create a more aggressive fix for NeoTree background in LazyVim
augroup FixNeoTreeBackground
autocmd!
" Force NONE background for NeoTree at various points to override tokyonight fallback
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NeoTreeNormal guibg=NONE guifg=#<wallbash_txt1> ctermbg=NONE
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NeoTreeNormalNC guibg=NONE guifg=#<wallbash_txt2> ctermbg=NONE
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NeoTreeEndOfBuffer guibg=NONE guifg=#<wallbash_txt1> ctermbg=NONE
" Also fix NvimTree for NvChad
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NvimTreeNormal guibg=NONE guifg=#<wallbash_txt1> ctermbg=NONE
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NvimTreeNormalNC guibg=NONE guifg=#<wallbash_txt2> ctermbg=NONE
autocmd ColorScheme,VimEnter,WinEnter,BufEnter * hi NvimTreeEndOfBuffer guibg=NONE guifg=#<wallbash_txt1> ctermbg=NONE
" Apply highlight based on current theme
autocmd ColorScheme,VimEnter * if &background == 'dark' |
\ hi NeoTreeCursorLine guibg=#<wallbash_3xa9> guifg=#<wallbash_pry1> gui=bold cterm=bold |
\ hi NvimTreeCursorLine guibg=#<wallbash_3xa9> guifg=#<wallbash_pry1> gui=bold cterm=bold |
\ else |
\ hi NeoTreeCursorLine guibg=#<wallbash_2xa1> guifg=#<wallbash_txt1> gui=bold cterm=bold |
\ hi NvimTreeCursorLine guibg=#<wallbash_2xa1> guifg=#<wallbash_txt1> gui=bold cterm=bold |
\ endif
" Force execution after other plugins have loaded
autocmd VimEnter * doautocmd ColorScheme
augroup END
" Add custom autocommand specifically for LazyVim markdown links
augroup LazyVimMarkdownFix
autocmd!
" Force link visibility in LazyVim with stronger override
autocmd FileType markdown,markdown.mdx,markdown.gfm hi! def link markdownUrl MagentaLink
autocmd FileType markdown,markdown.mdx,markdown.gfm hi! def link markdownLinkText MagentaLink
autocmd FileType markdown,markdown.mdx,markdown.gfm hi! def link markdownLink MagentaLink
autocmd FileType markdown,markdown.mdx,markdown.gfm hi! def link markdownLinkDelimiter MagentaLink
autocmd FileType markdown,markdown.mdx,markdown.gfm hi! MagentaLink guifg=#FF00FF gui=bold,underline
" Apply when LazyVim is detected
autocmd User LazyVimStarted doautocmd FileType markdown
autocmd VimEnter * if exists('g:loaded_lazy') | doautocmd FileType markdown | endif
augroup END
" Add custom autocommand specifically for markdown files with links
augroup MarkdownLinkFix
autocmd!
" Use bright hardcoded magenta that will definitely be visible
autocmd FileType markdown hi markdownUrl guifg=#FF00FF guibg=NONE gui=underline,bold
autocmd FileType markdown hi markdownLinkText guifg=#FF00FF guibg=NONE gui=bold
autocmd FileType markdown hi markdownIdDeclaration guifg=#FF00FF guibg=NONE gui=bold
autocmd FileType markdown hi htmlLink guifg=#FF00FF guibg=NONE gui=bold,underline
" Force these highlights right after vim loads
autocmd VimEnter * if &ft == 'markdown' | doautocmd FileType markdown | endif
augroup END
" Remove possibly conflicting previous autocommands
augroup LazyVimFix
autocmd!
augroup END
augroup MinimalExplorerFix
autocmd!
augroup END