496 lines
26 KiB
Plaintext
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
|