73 changed files with 2542 additions and 568 deletions
@ -1,34 +0,0 @@ |
|||||
function! Title_level(lnum) |
|
||||
let l:line = getline(a:lnum) |
|
||||
let l:hash = matchstr(l:line, '^#*') |
|
||||
let l:count = len(l:hash) |
|
||||
return l:count |
|
||||
endfunction |
|
||||
|
|
||||
function! Is_empty(lnum) |
|
||||
let l:line = getline(a:lnum) |
|
||||
if match(l:line, '^\s*$') != -1 |
|
||||
return 1 |
|
||||
endif |
|
||||
return 0 |
|
||||
endfunction |
|
||||
|
|
||||
function! Markdown_fold(lnum) |
|
||||
let l:level = Title_level(a:lnum) |
|
||||
if l:level != 0 |
|
||||
return max([l:level - 1, 0]) |
|
||||
endif |
|
||||
let l:empty = Is_empty(a:lnum) |
|
||||
if l:empty == 1 |
|
||||
let l:next_level = Title_level(a:lnum + 1) |
|
||||
if l:next_level != 0 |
|
||||
return max([l:next_level - 2, 0]) |
|
||||
endif |
|
||||
endif |
|
||||
let l:prev_fold = foldlevel(a:lnum - 1) |
|
||||
" return l:prev_fold |
|
||||
return "=" |
|
||||
endfunction |
|
||||
|
|
||||
setlocal foldmethod=expr |
|
||||
setlocal foldexpr=Markdown_fold(v:lnum) |
|
@ -1,4 +0,0 @@ |
|||||
set expandtab |
|
||||
let g:ale_python_flake8_options = '--ignore=E501,E402' |
|
||||
let b:ale_linters = ['flake8'] |
|
||||
let b:ale_fixers = ['black', 'remove_trailing_lines', 'trim_whitespace'] |
|
@ -1,4 +0,0 @@ |
|||||
let b:ale_linters = ['lintr'] |
|
||||
let b:ale_fixers = ['styler'] |
|
||||
let b:ale_fix_on_save = 1 |
|
||||
let R_assign=0 |
|
@ -1,6 +0,0 @@ |
|||||
function! RMarkdown() |
|
||||
let filename = expand("%:t") |
|
||||
execute '!echo "suppressMessages(require(rmarkdown));render('."'".filename."'".')" | '.g:R_ENV.' --vanilla --quiet' |
|
||||
endfunction |
|
||||
command! -nargs=0 RMarkdown :call RMarkdown() |
|
||||
nnoremap <buffer> <leader>p :RMarkdown<CR> |
|
@ -0,0 +1,8 @@ |
|||||
|
; extends |
||||
|
((pseudo_class_selector) @type (#set! "priority" 125)) |
||||
|
((class_selector) @type (#set! "priority" 125)) |
||||
|
((plain_value) @constant (#set! "priority" 125)) |
||||
|
((id_selector) @constructor (#set! "priority" 125)) |
||||
|
(tag_name) @tag |
||||
|
(unit) @keyword |
||||
|
(property_name) @field |
@ -0,0 +1,5 @@ |
|||||
|
; extends |
||||
|
|
||||
|
(jsx_self_closing_element (identifier) @tag (#set! "priority" 127)) |
||||
|
(jsx_opening_element (identifier) @tag (#set! "priority" 127)) |
||||
|
(jsx_closing_element (identifier) @tag (#set! "priority" 127)) |
@ -0,0 +1,3 @@ |
|||||
|
; extends |
||||
|
|
||||
|
(function_call (identifier) @function (#set! "priority" 130)) |
@ -0,0 +1,2 @@ |
|||||
|
; extends |
||||
|
((nesting_selector) @keyword (#set! "priority" 125)) |
@ -0,0 +1,5 @@ |
|||||
|
; extends |
||||
|
|
||||
|
(jsx_self_closing_element (identifier) @tag (#set! "priority" 127)) |
||||
|
(jsx_opening_element (identifier) @tag (#set! "priority" 127)) |
||||
|
(jsx_closing_element (identifier) @tag (#set! "priority" 127)) |
@ -1,7 +0,0 @@ |
|||||
hi! link DirvishGitModified orange |
|
||||
hi! link DirvishGitStaged yellow |
|
||||
hi! link DirvishGitRenamed magenta |
|
||||
hi! link DirvishGitUnmerged violet |
|
||||
hi! link DirvishGitIgnored base2 |
|
||||
hi! link DirvishGitUntracked base2 |
|
||||
hi! link DirvishGitUntrackedDir DirvishPathTail |
|
@ -1,178 +0,0 @@ |
|||||
" Read the HTML syntax to start with |
|
||||
if v:version < 600 |
|
||||
so <sfile>:p:h/html.vim |
|
||||
else |
|
||||
runtime! syntax/html.vim |
|
||||
|
|
||||
if exists('b:current_syntax') |
|
||||
unlet b:current_syntax |
|
||||
endif |
|
||||
endif |
|
||||
|
|
||||
if v:version < 600 |
|
||||
syntax clear |
|
||||
elseif exists('b:current_syntax') |
|
||||
finish |
|
||||
endif |
|
||||
|
|
||||
" don't use standard HiLink, it will not work with included syntax files |
|
||||
if v:version < 508 |
|
||||
command! -nargs=+ HtmlHiLink hi link <args> |
|
||||
else |
|
||||
command! -nargs=+ HtmlHiLink hi def link <args> |
|
||||
endif |
|
||||
|
|
||||
syn spell toplevel |
|
||||
syn case ignore |
|
||||
syn sync linebreaks=1 |
|
||||
|
|
||||
let s:conceal = '' |
|
||||
let s:concealends = '' |
|
||||
let s:concealcode = '' |
|
||||
if has('conceal') && get(g:, 'vim_markdown_conceal', 1) |
|
||||
let s:conceal = ' conceal' |
|
||||
let s:concealends = ' concealends' |
|
||||
endif |
|
||||
if has('conceal') && get(g:, 'vim_markdown_conceal_code_blocks', 1) |
|
||||
let s:concealcode = ' concealends' |
|
||||
endif |
|
||||
|
|
||||
" additions to HTML groups |
|
||||
if get(g:, 'vim_markdown_emphasis_multiline', 1) |
|
||||
let s:oneline = '' |
|
||||
else |
|
||||
let s:oneline = ' oneline' |
|
||||
endif |
|
||||
syn region mkdItalic matchgroup=mkdItalic start="\%(\*\|_\)" end="\%(\*\|_\)" |
|
||||
syn region mkdBold matchgroup=mkdBold start="\%(\*\*\|__\)" end="\%(\*\*\|__\)" |
|
||||
syn region mkdBoldItalic matchgroup=mkdBoldItalic start="\%(\*\*\*\|___\)" end="\%(\*\*\*\|___\)" |
|
||||
execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs\*\ze[^\\\*\t ]\%(\%([^*]\|\\\*\|\n\)*[^\\\*\t ]\)\?\*\_W" end="[^\\\*\t ]\zs\*\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
execute 'syn region htmlItalic matchgroup=mkdItalic start="\%(^\|\s\)\zs_\ze[^\\_\t ]" end="[^\\_\t ]\zs_\ze\_W" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs\*\*\ze\S" end="\S\zs\*\*" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
execute 'syn region htmlBold matchgroup=mkdBold start="\%(^\|\s\)\zs__\ze\S" end="\S\zs__" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs\*\*\*\ze\S" end="\S\zs\*\*\*" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
execute 'syn region htmlBoldItalic matchgroup=mkdBoldItalic start="\%(^\|\s\)\zs___\ze\S" end="\S\zs___" keepend contains=@Spell' . s:oneline . s:concealends |
|
||||
|
|
||||
" [link](URL) | [link][id] | [link][] |  |
|
||||
syn region mkdFootnotes matchgroup=mkdDelimiter start="\[^" end="\]" |
|
||||
execute 'syn region mkdID matchgroup=mkdDelimiter start="\[" end="\]" contained oneline' . s:conceal |
|
||||
execute 'syn region mkdURL matchgroup=mkdDelimiter start="(" end=")" contained oneline' . s:conceal |
|
||||
execute 'syn region mkdLink matchgroup=mkdDelimiter start="\\\@<!!\?\[\ze[^]\n]*\n\?[^]\n]*\][[(]" end="\]" contains=@mkdNonListItem,@Spell nextgroup=mkdURL,mkdID skipwhite' . s:concealends |
|
||||
|
|
||||
" Autolink without angle brackets. |
|
||||
" mkd inline links: protocol optional user:pass@ sub/domain .com, .co.uk, etc optional port path/querystring/hash fragment |
|
||||
" ------------ _____________________ ----------------------------- _________________________ ----------------- __ |
|
||||
syn match mkdInlineURL /https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z0-9][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?[^] \t]*/ |
|
||||
|
|
||||
" Autolink with parenthesis. |
|
||||
syn region mkdInlineURL matchgroup=mkdDelimiter start="(\(https\?:\/\/\(\w\+\(:\w\+\)\?@\)\?\([A-Za-z0-9][-_0-9A-Za-z]*\.\)\{1,}\(\w\{2,}\.\?\)\{1,}\(:[0-9]\{1,5}\)\?[^] \t]*)\)\@=" end=")" |
|
||||
|
|
||||
" Autolink with angle brackets. |
|
||||
syn region mkdInlineURL matchgroup=mkdDelimiter start="\\\@<!<\ze[a-z][a-z0-9,.-]\{1,22}:\/\/[^> ]*>" end=">" |
|
||||
|
|
||||
" Link definitions: [id]: URL (Optional Title) |
|
||||
syn region mkdLinkDef matchgroup=mkdDelimiter start="^ \{,3}\zs\[\^\@!" end="]:" oneline nextgroup=mkdLinkDefTarget skipwhite |
|
||||
syn region mkdLinkDefTarget start="<\?\zs\S" excludenl end="\ze[>[:space:]\n]" contained nextgroup=mkdLinkTitle,mkdLinkDef skipwhite skipnl oneline |
|
||||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+"+ end=+"+ contained |
|
||||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+'+ end=+'+ contained |
|
||||
syn region mkdLinkTitle matchgroup=mkdDelimiter start=+(+ end=+)+ contained |
|
||||
|
|
||||
"HTML headings |
|
||||
syn region htmlH1 matchgroup=mkdHeading start="^\s*#" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn region htmlH2 matchgroup=mkdHeading start="^\s*##" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn region htmlH3 matchgroup=mkdHeading start="^\s*###" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn region htmlH4 matchgroup=mkdHeading start="^\s*####" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn region htmlH5 matchgroup=mkdHeading start="^\s*#####" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn region htmlH6 matchgroup=mkdHeading start="^\s*######" end="$" contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn match htmlH1 /^.\+\n=\+$/ contains=mkdLink,mkdInlineURL,@Spell |
|
||||
syn match htmlH2 /^.\+\n-\+$/ contains=mkdLink,mkdInlineURL,@Spell |
|
||||
|
|
||||
"define Markdown groups |
|
||||
syn match mkdLineBreak / \+$/ |
|
||||
syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLink,mkdInlineURL,mkdLineBreak,@Spell |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/\(\([^\\]\|^\)\\\)\@<!`/ end=/`/' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/\(\([^\\]\|^\)\\\)\@<!``/ skip=/[^`]`[^`]/ end=/``/' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/^\s*\z(`\{3,}\)[^`]*$/ end=/^\s*\z1`*\s*$/' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/\(\([^\\]\|^\)\\\)\@<!\~\~/ end=/\(\([^\\]\|^\)\\\)\@<!\~\~/' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start=/^\s*\z(\~\{3,}\)\s*[0-9A-Za-z_+-]*\s*$/ end=/^\s*\z1\~*\s*$/' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start="<pre\(\|\_s[^>]*\)\\\@<!>" end="</pre>"' . s:concealcode |
|
||||
execute 'syn region mkdCode matchgroup=mkdCodeDelimiter start="<code\(\|\_s[^>]*\)\\\@<!>" end="</code>"' . s:concealcode |
|
||||
syn region mkdFootnote start="\[^" end="\]" |
|
||||
syn match mkdCode /^\s*\n\(\(\s\{8,}[^ ]\|\t\t\+[^\t]\).*\n\)\+/ |
|
||||
syn match mkdCode /\%^\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ |
|
||||
syn match mkdCode /^\s*\n\(\(\s\{4,}[^ ]\|\t\+[^\t]\).*\n\)\+/ contained |
|
||||
syn match mkdListItem /^\s*\%([-*+]\|\d\+\.\)\ze\s\+/ contained nextgroup=mkdListItemCheckbox |
|
||||
syn match mkdListItemCheckbox /\[[xXoO ]\]\ze\s\+/ contained contains=mkdListItem |
|
||||
syn region mkdListItemLine start="^\s*\%([-*+]\|\d\+\.\)\s\+" end="$" oneline contains=@mkdNonListItem,mkdListItem,mkdListItemCheckbox,@Spell |
|
||||
syn region mkdNonListItemBlock start="\(\%^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@!\|\n\(\_^\_$\|\s\{4,}[^ ]\|\t+[^\t]\)\@!\)" end="^\(\s*\([-*+]\|\d\+\.\)\s\+\)\@=" contains=@mkdNonListItem,@Spell |
|
||||
syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*\(\*\|\s\)*$/ |
|
||||
syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-\(-\|\s\)*$/ |
|
||||
syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_\(_\|\s\)*$/ |
|
||||
|
|
||||
" YAML frontmatter |
|
||||
if get(g:, 'vim_markdown_frontmatter', 0) |
|
||||
syn include @yamlTop syntax/yaml.vim |
|
||||
syn region Comment matchgroup=mkdDelimiter start="\%^---$" end="^\(---\|\.\.\.\)$" contains=@yamlTop keepend |
|
||||
unlet! b:current_syntax |
|
||||
endif |
|
||||
|
|
||||
if get(g:, 'vim_markdown_toml_frontmatter', 0) |
|
||||
try |
|
||||
syn include @tomlTop syntax/toml.vim |
|
||||
syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" transparent contains=@tomlTop keepend |
|
||||
unlet! b:current_syntax |
|
||||
catch /E484/ |
|
||||
syn region Comment matchgroup=mkdDelimiter start="\%^+++$" end="^+++$" |
|
||||
endtry |
|
||||
endif |
|
||||
|
|
||||
if get(g:, 'vim_markdown_json_frontmatter', 0) |
|
||||
try |
|
||||
syn include @jsonTop syntax/json.vim |
|
||||
syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" contains=@jsonTop keepend |
|
||||
unlet! b:current_syntax |
|
||||
catch /E484/ |
|
||||
syn region Comment matchgroup=mkdDelimiter start="\%^{$" end="^}$" |
|
||||
endtry |
|
||||
endif |
|
||||
|
|
||||
if get(g:, 'vim_markdown_math', 0) |
|
||||
syn include @tex syntax/tex.vim |
|
||||
syn region mkdMath start="\\\@<!\$" end="\$" skip="\\\$" contains=@tex keepend |
|
||||
syn region mkdMath start="\\\@<!\$\$" end="\$\$" skip="\\\$" contains=@tex keepend |
|
||||
endif |
|
||||
|
|
||||
" Strike through |
|
||||
if get(g:, 'vim_markdown_strikethrough', 0) |
|
||||
execute 'syn region mkdStrike matchgroup=htmlStrike start="\%(\~\~\)" end="\%(\~\~\)"' . s:concealends |
|
||||
HtmlHiLink mkdStrike htmlStrike |
|
||||
endif |
|
||||
|
|
||||
syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike |
|
||||
|
|
||||
"highlighting for Markdown groups |
|
||||
HtmlHiLink mkdString String |
|
||||
HtmlHiLink mkdCode String |
|
||||
HtmlHiLink mkdCodeDelimiter String |
|
||||
HtmlHiLink mkdCodeStart String |
|
||||
HtmlHiLink mkdCodeEnd String |
|
||||
HtmlHiLink mkdFootnote Comment |
|
||||
HtmlHiLink mkdBlockquote Comment |
|
||||
HtmlHiLink mkdListItem Identifier |
|
||||
HtmlHiLink mkdListItemCheckbox Identifier |
|
||||
HtmlHiLink mkdRule Identifier |
|
||||
HtmlHiLink mkdLineBreak Visual |
|
||||
HtmlHiLink mkdFootnotes htmlLink |
|
||||
HtmlHiLink mkdLink htmlLink |
|
||||
HtmlHiLink mkdURL htmlString |
|
||||
HtmlHiLink mkdInlineURL htmlLink |
|
||||
HtmlHiLink mkdID Identifier |
|
||||
HtmlHiLink mkdLinkDef mkdID |
|
||||
HtmlHiLink mkdLinkDefTarget mkdURL |
|
||||
HtmlHiLink mkdLinkTitle htmlString |
|
||||
HtmlHiLink mkdDelimiter Delimiter |
|
||||
|
|
||||
let b:current_syntax = 'mkd' |
|
||||
|
|
||||
delcommand HtmlHiLink |
|
||||
" vim: ts=8 |
|
@ -1 +0,0 @@ |
|||||
set colorcolumn=89 |
|
@ -0,0 +1 @@ |
|||||
|
require('solarized.config').load() |
@ -1,318 +0,0 @@ |
|||||
hi clear |
|
||||
if exists("syntax_on") |
|
||||
syntax reset |
|
||||
endif |
|
||||
|
|
||||
let g:colors_name = "solarized" |
|
||||
let g:solarized_termcolors = 16 |
|
||||
|
|
||||
" colors {{{ |
|
||||
let g:base02 = "0" |
|
||||
let g:red = "1" |
|
||||
let g:green = "2" |
|
||||
let g:yellow = "3" |
|
||||
let g:blue = "4" |
|
||||
let g:magenta = "5" |
|
||||
let g:cyan = "6" |
|
||||
let g:base2 = "7" |
|
||||
|
|
||||
let g:base03 = "8" |
|
||||
let g:orange = "9" |
|
||||
let g:base01 = "10" |
|
||||
let g:base00 = "11" |
|
||||
let g:base0 = "12" |
|
||||
let g:violet = "13" |
|
||||
let g:base1 = "14" |
|
||||
let g:base3 = "15" |
|
||||
|
|
||||
" }}} |
|
||||
" reference highlighting {{{ |
|
||||
exe "hi! base01 cterm=NONE ctermfg=".g:base01." ctermbg=NONE" |
|
||||
exe "hi! base02 cterm=NONE ctermfg=".g:base02." ctermbg=NONE" |
|
||||
exe "hi! base03 cterm=NONE ctermfg=".g:base03." ctermbg=NONE" |
|
||||
exe "hi! base0 cterm=NONE ctermfg=".g:base0." ctermbg=NONE" |
|
||||
exe "hi! base1 cterm=NONE ctermfg=".g:base1." ctermbg=NONE" |
|
||||
exe "hi! base2 cterm=NONE ctermfg=".g:base2." ctermbg=NONE" |
|
||||
exe "hi! base3 cterm=NONE ctermfg=".g:base3." ctermbg=NONE" |
|
||||
exe "hi! blue cterm=NONE ctermfg=".g:blue." ctermbg=NONE" |
|
||||
exe "hi! green cterm=NONE ctermfg=".g:green." ctermbg=NONE" |
|
||||
exe "hi! violet cterm=NONE ctermfg=".g:violet." ctermbg=NONE" |
|
||||
exe "hi! magenta cterm=NONE ctermfg=".g:magenta." ctermbg=NONE" |
|
||||
exe "hi! green cterm=NONE ctermfg=".g:green." ctermbg=NONE" |
|
||||
exe "hi! orange cterm=NONE ctermfg=".g:orange." ctermbg=NONE" |
|
||||
exe "hi! yellow cterm=NONE ctermfg=".g:yellow." ctermbg=NONE" |
|
||||
exe "hi! red cterm=NONE ctermfg=".g:red." ctermbg=NONE" |
|
||||
exe "hi! cyan cterm=NONE ctermfg=".g:cyan." ctermbg=NONE" |
|
||||
|
|
||||
exe "hi! base01u cterm=underline ctermfg=".g:base01." ctermbg=NONE" |
|
||||
exe "hi! base02u cterm=underline ctermfg=".g:base02." ctermbg=NONE" |
|
||||
exe "hi! base03u cterm=underline ctermfg=".g:base03." ctermbg=NONE" |
|
||||
exe "hi! base0u cterm=underline ctermfg=".g:base0." ctermbg=NONE" |
|
||||
exe "hi! base1u cterm=underline ctermfg=".g:base1." ctermbg=NONE" |
|
||||
exe "hi! base2u cterm=underline ctermfg=".g:base2." ctermbg=NONE" |
|
||||
exe "hi! base3u cterm=underline ctermfg=".g:base3." ctermbg=NONE" |
|
||||
exe "hi! blueu cterm=underline ctermfg=".g:blue." ctermbg=NONE" |
|
||||
exe "hi! greenu cterm=underline ctermfg=".g:green." ctermbg=NONE" |
|
||||
exe "hi! violetu cterm=underline ctermfg=".g:violet." ctermbg=NONE" |
|
||||
exe "hi! magentau cterm=underline ctermfg=".g:magenta." ctermbg=NONE" |
|
||||
exe "hi! greenu cterm=underline ctermfg=".g:green." ctermbg=NONE" |
|
||||
exe "hi! orangeu cterm=underline ctermfg=".g:orange." ctermbg=NONE" |
|
||||
exe "hi! yellowu cterm=underline ctermfg=".g:yellow." ctermbg=NONE" |
|
||||
exe "hi! redu cterm=underline ctermfg=".g:red." ctermbg=NONE" |
|
||||
exe "hi! cyanu cterm=underline ctermfg=".g:cyan." ctermbg=NONE" |
|
||||
|
|
||||
exe "hi! base01bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base01 |
|
||||
exe "hi! base02bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base02 |
|
||||
exe "hi! base03bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base03 |
|
||||
exe "hi! base0bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base0 |
|
||||
exe "hi! base1bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base1 |
|
||||
exe "hi! base2bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base2 |
|
||||
exe "hi! base3bg cterm=underline ctermfg=".g:base03." ctermbg=".g:base3 |
|
||||
exe "hi! bluebg cterm=underline ctermfg=".g:base03." ctermbg=".g:blue |
|
||||
exe "hi! greenbg cterm=underline ctermfg=".g:base03." ctermbg=".g:green |
|
||||
exe "hi! violetbg cterm=underline ctermfg=".g:base03." ctermbg=".g:violet |
|
||||
exe "hi! magentabg cterm=underline ctermfg=".g:base03." ctermbg=".g:magenta |
|
||||
exe "hi! greenbg cterm=underline ctermfg=".g:base03." ctermbg=".g:green |
|
||||
exe "hi! orangebg cterm=underline ctermfg=".g:base03." ctermbg=".g:orange |
|
||||
exe "hi! yellowbg cterm=underline ctermfg=".g:base03." ctermbg=".g:yellow |
|
||||
exe "hi! redbg cterm=underline ctermfg=".g:base03." ctermbg=".g:red |
|
||||
exe "hi! cyanbg cterm=underline ctermfg=".g:base03." ctermbg=".g:cyan |
|
||||
|
|
||||
" }}} |
|
||||
" highlighting {{{ |
|
||||
exe "hi IndentGuidesOdd cterm=NONE ctermbg=".g:base03." " |
|
||||
exe "hi IndentGuidesEven cterm=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! Normal cterm=NONE ctermfg=".g:base0." ctermbg=".g:base03." " |
|
||||
exe "hi! ColorColumn cterm=NONE ctermfg=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! Comment cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! ConId cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! Conceal cterm=NONE ctermfg=".g:base3." ctermbg=NONE " |
|
||||
exe "hi! Constant cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! Cursor cterm=NONE ctermfg=".g:base03." ctermbg=".g:base0." " |
|
||||
exe "hi! CursorColumn cterm=NONE ctermfg=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! CursorLine cterm=NONE ctermfg=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! CursorLineNr cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! DiffAdd cterm=NONE ctermfg=".g:green." ctermbg=".g:base02." " |
|
||||
exe "hi! DiffChange cterm=NONE ctermfg=".g:yellow." ctermbg=".g:base02." " |
|
||||
exe "hi! DiffDelete cterm=NONE ctermfg=".g:red." ctermbg=".g:base02." " |
|
||||
exe "hi! DiffText cterm=NONE ctermfg=".g:blue." ctermbg=".g:base02." " |
|
||||
exe "hi! Directory cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! Error cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! ErrorMsg cterm=reverse ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! FoldColumn cterm=bold ctermfg=".g:base1." ctermbg=".g:base02." " |
|
||||
exe "hi! Folded cterm=NONE ctermfg=".g:base2." ctermbg=NONE" |
|
||||
exe "hi! Identifier cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! Ignore cterm=NONE ctermfg=NONE ctermbg=NONE " |
|
||||
exe "hi! IncSearch cterm=bold,reverse ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! LineNr cterm=NONE ctermfg=".g:base01." ctermbg=".g:base02." " |
|
||||
exe "hi! MatchParen cterm=bold ctermfg=".g:base2." ctermbg=".g:magenta." " |
|
||||
exe "hi! ModeMsg cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! MoreMsg cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! NonText cterm=bold ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! Pmenu cterm=reverse ctermfg=".g:base0." ctermbg=".g:base02." " |
|
||||
exe "hi! PmenuSbar cterm=reverse ctermfg=".g:base2." ctermbg=".g:base0." " |
|
||||
exe "hi! PmenuSel cterm=reverse ctermfg=".g:base01." ctermbg=".g:base2." " |
|
||||
exe "hi! PmenuThumb cterm=reverse ctermfg=".g:base0." ctermbg=".g:base03." " |
|
||||
exe "hi! PreProc cterm=NONE ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! Question cterm=bold ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! QuickFixLine cterm=NONE ctermfg=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! Search cterm=reverse ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! SignColumn cterm=NONE ctermfg=".g:base0." ctermbg=".g:base02." " |
|
||||
exe "hi! Special cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! SpecialKey cterm=bold ctermfg=".g:base00." ctermbg=".g:base02." " |
|
||||
exe "hi! SpellBad cterm=underline ctermfg=NONE ctermbg=NONE " |
|
||||
exe "hi! SpellCap cterm=underline ctermfg=NONE ctermbg=NONE " |
|
||||
exe "hi! SpellLocal cterm=underline ctermfg=NONE ctermbg=NONE " |
|
||||
exe "hi! SpellRare cterm=underline ctermfg=NONE ctermbg=NONE " |
|
||||
exe "hi! Statement cterm=NONE ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! StatusLine cterm=reverse ctermfg=".g:base1." ctermbg=".g:base03." " |
|
||||
exe "hi! StatusLineNC cterm=reverse ctermfg=".g:base00." ctermbg=".g:base02." " |
|
||||
exe "hi! TabLine cterm=underline ctermfg=".g:base0." ctermbg=".g:base02." " |
|
||||
exe "hi! TabLineFill cterm=underline ctermfg=".g:base0." ctermbg=".g:base02." " |
|
||||
exe "hi! TabLineSel cterm=underline,reverse ctermfg=".g:base01." ctermbg=".g:base2." " |
|
||||
exe "hi! Title cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! Todo cterm=bold ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! Type cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! Underlined cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! VarId cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! VertSplit cterm=NONE ctermfg=".g:base00." ctermbg=".g:base00." " |
|
||||
exe "hi! Visual cterm=reverse ctermfg=".g:base01." ctermbg=".g:base03." " |
|
||||
exe "hi! VisualNOS cterm=reverse ctermfg=NONE ctermbg=".g:base02." " |
|
||||
exe "hi! WarningMsg cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! WildMenu cterm=reverse ctermfg=".g:base2." ctermbg=".g:base02." " |
|
||||
exe "hi! cPreCondit cterm=NONE ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! gitcommitBranch cterm=bold ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! gitcommitComment cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! gitcommitDiscardedFile cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! gitcommitDiscardedType cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! gitcommitFile cterm=bold ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! gitcommitHeader cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! gitcommitOnBranch cterm=bold ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! gitcommitSelectedFile cterm=bold ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! gitcommitSelectedType cterm=NONE ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! gitcommitUnmerged cterm=bold ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! gitcommitUnmergedFile cterm=bold ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! gitcommitUntrackedFile cterm=bold ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! helpExample cterm=NONE ctermfg=".g:base1." ctermbg=NONE " |
|
||||
exe "hi! helpHyperTextEntry cterm=NONE ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! helpHyperTextJump cterm=underline ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! helpNote cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! helpOption cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! helpVim cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! hsImport cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! hsImportLabel cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hsModuleName cterm=underline ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! hsModuleStartLabel cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! hsNiceOperator cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hsStatement cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hsString cterm=NONE ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! hsStructure cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hsType cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! hsTypedef cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hsVarSym cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! hs_DeclareFunction cterm=NONE ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! hs_OpFunctionName cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! hs_hlFunctionName cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! htmlArg cterm=NONE ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! htmlEndTag cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! htmlSpecialTagName cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! htmlTag cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! htmlTagN cterm=bold ctermfg=".g:base1." ctermbg=NONE " |
|
||||
exe "hi! htmlTagName cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! javaScript cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuote cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader1 cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader2 cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader4 cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader5 cterm=NONE ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocBlockQuoteLeader6 cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocCitation cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocCitationDelim cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocCitationID cterm=underline ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocCitationRef cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocComment cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocDefinitionBlock cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocDefinitionIndctr cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocDefinitionTerm cterm=bold,reverse ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasis cterm=NONE ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisDefinition cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisNested cterm=bold ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisNestedDefinition cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisNestedHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisNestedTable cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocEmphasisTable cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocEscapePair cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocFootnote cterm=NONE ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! pandocFootnoteDefLink cterm=bold ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! pandocFootnoteInline cterm=bold,underline ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! pandocFootnoteLink cterm=underline ctermfg=".g:green." ctermbg=NONE " |
|
||||
exe "hi! pandocHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocHeadingMarker cterm=bold ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! pandocImageCaption cterm=bold,underline ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkDefinition cterm=underline ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkDefinitionID cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkDelim cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkLabel cterm=underline ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkText cterm=bold,underline ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkTitle cterm=underline ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkTitleDelim cterm=underline ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocLinkURL cterm=underline ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! pandocListMarker cterm=NONE ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocListReference cterm=underline ctermfg=".g:magenta." ctermbg=NONE " |
|
||||
exe "hi! pandocMetadata cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocMetadataDelim cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocMetadataKey cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocNonBreakingSpace cterm=reverse ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocRule cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocRuleLine cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocStrikeout cterm=reverse ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocStrikeoutDefinition cterm=reverse ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocStrikeoutHeading cterm=reverse ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocStrikeoutTable cterm=reverse ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasis cterm=bold ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisDefinition cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisEmphasis cterm=bold ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisEmphasisDefinition cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisEmphasisHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisEmphasisTable cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisNested cterm=bold ctermfg=".g:base0." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisNestedDefinition cterm=bold ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisNestedHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisNestedTable cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocStrongEmphasisTable cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocStyleDelim cterm=NONE ctermfg=".g:base01." ctermbg=NONE " |
|
||||
exe "hi! pandocSubscript cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocSubscriptDefinition cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocSubscriptHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocSubscriptTable cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocSuperscript cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocSuperscriptDefinition cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocSuperscriptHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocSuperscriptTable cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocTable cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocTableStructure cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocTableZebraDark cterm=NONE ctermfg=".g:blue." ctermbg=".g:base02." " |
|
||||
exe "hi! pandocTableZebraLight cterm=NONE ctermfg=".g:blue." ctermbg=".g:base03." " |
|
||||
exe "hi! pandocTitleBlock cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocTitleBlockTitle cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocTitleComment cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! pandocVerbatimBlock cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! pandocVerbatimInline cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! pandocVerbatimInlineDefinition cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! pandocVerbatimInlineHeading cterm=bold ctermfg=".g:orange." ctermbg=NONE " |
|
||||
exe "hi! pandocVerbatimInlineTable cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! perlHereDoc cterm=NONE ctermfg=".g:base1." ctermbg=".g:base03." " |
|
||||
exe "hi! perlStatementFileDesc cterm=NONE ctermfg=".g:cyan." ctermbg=".g:base03." " |
|
||||
exe "hi! perlVarPlain cterm=NONE ctermfg=".g:yellow." ctermbg=".g:base03." " |
|
||||
exe "hi! rubyDefine cterm=bold ctermfg=".g:base1." ctermbg=".g:base03." " |
|
||||
exe "hi! texMathMatcher cterm=NONE ctermfg=".g:yellow." ctermbg=".g:base03." " |
|
||||
exe "hi! texMathZoneX cterm=NONE ctermfg=".g:yellow." ctermbg=".g:base03." " |
|
||||
exe "hi! texRefLabel cterm=NONE ctermfg=".g:yellow." ctermbg=".g:base03." " |
|
||||
exe "hi! texStatement cterm=NONE ctermfg=".g:cyan." ctermbg=".g:base03." " |
|
||||
exe "hi! vimCmdSep cterm=bold ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! vimCommand cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! vimCommentString cterm=NONE ctermfg=".g:red." ctermbg=NONE " |
|
||||
exe "hi! vimGroup cterm=bold,underline ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! vimHiGroup cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! vimHiLink cterm=NONE ctermfg=".g:blue." ctermbg=NONE " |
|
||||
exe "hi! vimIsCommand cterm=NONE ctermfg=".g:base00." ctermbg=NONE " |
|
||||
exe "hi! vimSynMtchOpt cterm=NONE ctermfg=".g:yellow." ctermbg=NONE " |
|
||||
exe "hi! vimSynType cterm=NONE ctermfg=".g:cyan." ctermbg=NONE " |
|
||||
|
|
||||
" }}} |
|
||||
" link {{{ |
|
||||
hi! link diffAdded Statement |
|
||||
hi! link diffLine Identifier |
|
||||
hi! link gitcommitDiscarded gitcommitComment |
|
||||
hi! link gitcommitDiscardedArrow gitcommitDiscardedFile |
|
||||
hi! link gitcommitNoBranch gitcommitBranch |
|
||||
hi! link gitcommitSelected gitcommitComment |
|
||||
hi! link gitcommitSelectedArrow gitcommitSelectedFile |
|
||||
hi! link gitcommitUnmergedArrow gitcommitUnmergedFile |
|
||||
hi! link gitcommitUntracked gitcommitComment |
|
||||
hi! link helpSpecial Special |
|
||||
hi! link hsDelimTypeExport Delimiter |
|
||||
hi! link hsImportParams Delimiter |
|
||||
hi! link hsModuleStartLabel hsStructure |
|
||||
hi! link hsModuleWhereLabel hsModuleStartLabel |
|
||||
hi! link lCursor Cursor |
|
||||
hi! link pandocCodeBlock pandocVerbatimBlock |
|
||||
hi! link pandocCodeBlockDelim pandocVerbatimBlock |
|
||||
hi! link pandocEscapedCharacter pandocEscapePair |
|
||||
hi! link pandocLineBreak pandocEscapePair |
|
||||
hi! link pandocMetadataTitle pandocMetadata |
|
||||
hi! link pandocTableStructureEnd pandocTableStructure |
|
||||
hi! link pandocTableStructureTop pandocTableStructure |
|
||||
hi! link pandocVerbatimBlockDeep pandocVerbatimBlock |
|
||||
hi! link StatusLineTerm StatusLine |
|
||||
hi! link StatusLineTermNC StatusLineNC |
|
||||
hi! link vimFunc Function |
|
||||
hi! link vimSet Normal |
|
||||
hi! link vimSetEqual Normal |
|
||||
hi! link vimUserFunc Function |
|
||||
hi! link vimVar Identifier |
|
||||
|
|
||||
" }}} |
|
@ -0,0 +1,40 @@ |
|||||
|
local palette = require('solarized.palette') |
||||
|
local c = palette.get_colors() |
||||
|
|
||||
|
local M = { |
||||
|
normal = {}, |
||||
|
ellipsis = { fg = c.base0 }, |
||||
|
separator = { link = 'Keyword' }, |
||||
|
modified = { fg = c.warning }, |
||||
|
dirname = { link = 'Directory' }, |
||||
|
basename = { fg = c.base0, bold = true }, |
||||
|
context = { fg = c.base0 }, |
||||
|
context_file = { fg = c.base0 }, |
||||
|
context_module = { link = '@namespace' }, |
||||
|
context_namespace = { link = '@namespace' }, |
||||
|
context_package = { link = 'Directory' }, |
||||
|
context_class = { link = 'Type' }, |
||||
|
context_method = { link = 'Function' }, |
||||
|
context_property = { link = '@field' }, |
||||
|
context_field = { link = '@field' }, |
||||
|
context_constructor = { link = '@constructor' }, |
||||
|
context_enum = { link = 'Type' }, |
||||
|
context_interface = { link = 'Type' }, |
||||
|
context_function = { link = 'Function' }, |
||||
|
context_variable = { link = 'Identifier' }, |
||||
|
context_constant = { link = 'Constant' }, |
||||
|
context_string = { link = 'String' }, |
||||
|
context_number = { link = 'Number' }, |
||||
|
context_boolean = { link = 'Boolean' }, |
||||
|
context_array = { link = 'Delimiter' }, |
||||
|
context_object = { link = '@field' }, |
||||
|
context_key = { link = 'Delimiter' }, |
||||
|
context_null = { link = 'Constant' }, |
||||
|
context_enum_member = { link = 'Constant' }, |
||||
|
context_struct = { link = 'Structure' }, |
||||
|
context_event = { fg = c.base2 }, |
||||
|
context_operator = { link = 'Operator' }, |
||||
|
context_type_parameter = { link = 'Type' }, |
||||
|
} |
||||
|
|
||||
|
return M |
@ -0,0 +1,25 @@ |
|||||
|
local solarized_palette = require('solarized.palette') |
||||
|
local colors = solarized_palette.get_colors() |
||||
|
|
||||
|
local M = { |
||||
|
normal = { |
||||
|
a = { fg = colors.base03, bg = colors.blue, gui = 'bold' }, |
||||
|
b = { fg = colors.base02, bg = colors.base1 }, |
||||
|
c = { fg = colors.base1, bg = colors.base02 }, |
||||
|
z = { fg = colors.base03, bg = colors.blue }, |
||||
|
}, |
||||
|
insert = { |
||||
|
a = { fg = colors.base03, bg = colors.green }, |
||||
|
}, |
||||
|
visual = { |
||||
|
a = { fg = colors.base03, bg = colors.magenta }, |
||||
|
}, |
||||
|
replace = { |
||||
|
a = { fg = colors.base03, bg = colors.red }, |
||||
|
}, |
||||
|
command = { |
||||
|
a = { fg = colors.base03, bg = colors.orange }, |
||||
|
}, |
||||
|
} |
||||
|
|
||||
|
return M |
@ -0,0 +1,68 @@ |
|||||
|
local M = {} |
||||
|
|
||||
|
function M.load_autocmd() |
||||
|
local group = vim.api.nvim_create_augroup('solarized', { clear = true }) |
||||
|
|
||||
|
vim.api.nvim_create_autocmd('ColorSchemePre', { |
||||
|
group = group, |
||||
|
callback = function() |
||||
|
vim.api.nvim_del_augroup_by_id(group) |
||||
|
end, |
||||
|
}) |
||||
|
|
||||
|
vim.api.nvim_create_autocmd('LspTokenUpdate', { |
||||
|
group = group, |
||||
|
callback = function(args) |
||||
|
local token = args.data.token |
||||
|
local buffer = args.buf |
||||
|
local text = vim.api.nvim_buf_get_text( |
||||
|
buffer, |
||||
|
token.line, |
||||
|
token.start_col, |
||||
|
token.line, |
||||
|
token.end_col, |
||||
|
{} |
||||
|
)[1] |
||||
|
|
||||
|
local highlights = { |
||||
|
'TODO', |
||||
|
'WARN', |
||||
|
'TEST', |
||||
|
'PERF', |
||||
|
'NOTE', |
||||
|
'HACK', |
||||
|
'FIX', |
||||
|
} |
||||
|
local name = 'SolarizedToken' |
||||
|
|
||||
|
for _, group_name in pairs(highlights) do |
||||
|
if |
||||
|
text ~= nil |
||||
|
and token.type == 'comment' |
||||
|
and text:match(group_name) |
||||
|
then |
||||
|
vim.lsp.semantic_tokens.highlight_token( |
||||
|
token, |
||||
|
buffer, |
||||
|
args.data.client_id, |
||||
|
name .. group_name |
||||
|
) |
||||
|
end |
||||
|
end |
||||
|
end, |
||||
|
}) |
||||
|
end |
||||
|
|
||||
|
function M.load_autocmd_highlights(c) |
||||
|
local set_hl = require('solarized.utils').set_hl |
||||
|
|
||||
|
set_hl('SolarizedTokenTODO', { fg = c.info }) |
||||
|
set_hl('SolarizedTokenWARN', { fg = c.warning }) |
||||
|
set_hl('SolarizedTokenTEST', { fg = c.violet }) |
||||
|
set_hl('SolarizedTokenPERF', { fg = c.magenta }) |
||||
|
set_hl('SolarizedTokenNOTE', { fg = c.hint }) |
||||
|
set_hl('SolarizedTokenHACK', { fg = c.cyan }) |
||||
|
set_hl('SolarizedTokenFIX', { fg = c.error }) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,91 @@ |
|||||
|
local command = { |
||||
|
zen_mode = false, |
||||
|
} |
||||
|
|
||||
|
local subcommands = { |
||||
|
colors = function(arg) |
||||
|
local palette = require('solarized.palette') |
||||
|
local colors = palette.get_colors() |
||||
|
|
||||
|
local buf = vim.api.nvim_create_buf(true, true) |
||||
|
local max_length = vim.tbl_count(colors) |
||||
|
|
||||
|
local function color_desc(color) |
||||
|
local colors_desc = { |
||||
|
base03 = 'background tone (main)', |
||||
|
base02 = 'background tone (highlight/menu/LineNr)', |
||||
|
base01 = 'content tone (comment)', |
||||
|
base00 = 'content tone (winseparator)', |
||||
|
base0 = 'content tone (foreground)', |
||||
|
base1 = 'content tone (statusline/tabline)', |
||||
|
base2 = 'background tone (highlight)', |
||||
|
base3 = 'background tone (main)', |
||||
|
} |
||||
|
local desc = colors_desc[color] |
||||
|
|
||||
|
if not desc then return '' end |
||||
|
|
||||
|
return desc |
||||
|
end |
||||
|
|
||||
|
local function set_lines(color, hex, line) |
||||
|
vim.api.nvim_buf_set_lines(buf, line, (line + 1), false, { |
||||
|
color .. string.rep('.', max_length - #color) .. ' = "' .. tostring( |
||||
|
hex |
||||
|
) .. '" ' .. color_desc(color), |
||||
|
}) |
||||
|
return line + 1 |
||||
|
end |
||||
|
|
||||
|
local line = 0 |
||||
|
for color, hex in pairs(colors) do |
||||
|
if type(hex) == 'table' then |
||||
|
for c, h in pairs(hex) do |
||||
|
line = set_lines(c, h, line) |
||||
|
end |
||||
|
else |
||||
|
line = set_lines(color, hex, line) |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
vim.api.nvim_set_option_value('modifiable', false, { buf = buf }) |
||||
|
vim.api.nvim_set_option_value('filetype', 'Solarized', { buf = buf }) |
||||
|
vim.api.nvim_buf_set_name(buf, 'Solarized Colors') |
||||
|
vim.api.nvim_win_set_buf(0, buf) |
||||
|
end, |
||||
|
zen = function() |
||||
|
local colors = require('solarized.palette').get_colors() |
||||
|
local solarized = require('solarized.highlights') |
||||
|
|
||||
|
if not command.zen_mode then |
||||
|
local highlights = { |
||||
|
Keyword = { fg = colors.base01 }, |
||||
|
['@keyword.return'] = { fg = colors.base01 }, |
||||
|
Statement = { fg = colors.base01 }, |
||||
|
Delimiter = { fg = colors.base01 }, |
||||
|
['@constructor'] = { fg = colors.base01 }, |
||||
|
['@tag'] = { fg = colors.base01 }, |
||||
|
['Type'] = { fg = colors.base01 }, |
||||
|
['@type'] = { fg = colors.base01 }, |
||||
|
['@include'] = { fg = colors.base01 }, |
||||
|
} |
||||
|
|
||||
|
solarized.custom_hl(highlights) |
||||
|
command.zen_mode = true |
||||
|
else |
||||
|
local config = require('solarized.config') |
||||
|
solarized.highlights(colors, config.config or config.default_config()) |
||||
|
command.zen_mode = false |
||||
|
end |
||||
|
end, |
||||
|
} |
||||
|
|
||||
|
function command.list() |
||||
|
return vim.tbl_keys(subcommands) |
||||
|
end |
||||
|
|
||||
|
function command.load(cmd, arg) |
||||
|
subcommands[cmd](arg) |
||||
|
end |
||||
|
|
||||
|
return command |
@ -0,0 +1,104 @@ |
|||||
|
local palette = require('solarized.palette') |
||||
|
local solarized = require('solarized.highlights') |
||||
|
local colorhelper = require('solarized.utils.colors') |
||||
|
local utils = require('solarized.utils') |
||||
|
|
||||
|
local M = {} |
||||
|
|
||||
|
M.config = nil |
||||
|
M.colors = nil |
||||
|
|
||||
|
--- Define and return default config |
||||
|
---@return table default_config |
||||
|
function M.default_config() |
||||
|
return { |
||||
|
transparent = false, |
||||
|
palette = 'solarized', -- selenized |
||||
|
styles = { |
||||
|
comments = {}, |
||||
|
functions = {}, |
||||
|
variables = {}, |
||||
|
numbers = {}, |
||||
|
constants = {}, |
||||
|
parameters = {}, |
||||
|
keywords = {}, |
||||
|
types = {}, |
||||
|
}, |
||||
|
enables = { |
||||
|
bufferline = true, |
||||
|
cmp = true, |
||||
|
diagnostic = true, |
||||
|
dashboard = true, |
||||
|
editor = true, |
||||
|
gitsign = true, |
||||
|
hop = true, |
||||
|
indentblankline = true, |
||||
|
lsp = true, |
||||
|
lspsaga = true, |
||||
|
navic = true, |
||||
|
neogit = true, |
||||
|
neotree = true, |
||||
|
notify = true, |
||||
|
noice = true, |
||||
|
semantic = true, |
||||
|
syntax = true, |
||||
|
telescope = true, |
||||
|
tree = true, |
||||
|
treesitter = true, |
||||
|
todo = true, |
||||
|
whichkey = true, |
||||
|
mini = true, |
||||
|
}, |
||||
|
highlights = {}, |
||||
|
colors = {}, |
||||
|
theme = 'default', |
||||
|
autocmd = true, |
||||
|
} |
||||
|
end |
||||
|
|
||||
|
function M.load() |
||||
|
if vim.g.colors_name then vim.cmd('hi clear') end |
||||
|
|
||||
|
if vim.fn.exists('syntax_on') then vim.cmd('syntax reset') end |
||||
|
|
||||
|
vim.o.termguicolors = true |
||||
|
vim.g.colors_name = 'solarized' |
||||
|
|
||||
|
local colors = {} |
||||
|
|
||||
|
colors = palette.get_colors() |
||||
|
solarized.highlights(M.colors or colors, M.config or M.default_config()) |
||||
|
end |
||||
|
|
||||
|
--- Solarized setup |
||||
|
--- |
||||
|
--- @param opts? table The user-provided configuration to be merged. |
||||
|
--- - transparent (boolean): Specifies if transparency is enabled. |
||||
|
--- - styles (table): A table specifying various style options. |
||||
|
--- - comments (table): Specifies if comments should be styled. |
||||
|
--- - functions (table): Specifies if functions should be styled. |
||||
|
--- - variables (table): Specifies if variables should be styled. |
||||
|
--- - numbers (table): Specifies if numbers should be styled. |
||||
|
--- - constants (table): Specifies if constants should be styled. |
||||
|
--- - parameters (table): Specifies if parameters should be styled. |
||||
|
--- - conditionals (table): Specifies if conditionals should be styled. |
||||
|
--- - highlights (table): A table specifying custom highlight values. |
||||
|
--- - colors (table): A table specifying custom color values. |
||||
|
--- - enables (table): A table specifying plugins to be enabled or disabled |
||||
|
--- - theme (string): Specifies the theme to be used. |
||||
|
function M.setup(opts) |
||||
|
M.config = vim.tbl_deep_extend('force', M.default_config(), opts or {}) |
||||
|
local colors = palette.get_colors() |
||||
|
|
||||
|
utils.on_config({ |
||||
|
tbl = function() |
||||
|
M.colors = palette.extend_colors(colors, M.config.colors) |
||||
|
end, |
||||
|
fnc = function() |
||||
|
M.colors = |
||||
|
palette.extend_colors(colors, M.config.colors(colors, colorhelper)) |
||||
|
end, |
||||
|
}, M.config.colors) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,69 @@ |
|||||
|
local utils = require('solarized.utils') |
||||
|
local colorhelper = require('solarized.utils.colors') |
||||
|
|
||||
|
local M = {} |
||||
|
|
||||
|
--- Update or override highlights defined by the user |
||||
|
--- |
||||
|
--- @param highlights table A table containing highlight names as keys and their updated values as values |
||||
|
function M.custom_hl(highlights) |
||||
|
local get_hl = utils.get_hl |
||||
|
|
||||
|
for highlight_name, highlight_value in pairs(highlights) do |
||||
|
local highlight = get_hl(highlight_name) |
||||
|
local val = {} |
||||
|
|
||||
|
if highlight_value.link then |
||||
|
val = highlight_value |
||||
|
else |
||||
|
val = vim.tbl_extend('force', highlight, highlight_value) |
||||
|
end |
||||
|
|
||||
|
vim.api.nvim_set_hl(0, highlight_name, val) |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
--- Load and apply highlights based on the enabled highlights specified in the configuration |
||||
|
--- |
||||
|
--- @param colors table A table containing color values |
||||
|
--- @param config table A table containing configuration options, including the enabled highlights and theme |
||||
|
function M.load_plugins(colors, config) |
||||
|
for plugin, enabled in pairs(config.enables) do |
||||
|
if enabled then |
||||
|
local highlight_groups = |
||||
|
require(string.format('solarized.themes.%s.%s', config.theme, plugin)) |
||||
|
|
||||
|
highlight_groups(colors, config) |
||||
|
end |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
--- Set highlights based on the provided colors and configuration |
||||
|
--- |
||||
|
--- @param colors table A table containing color values |
||||
|
--- @param config table A table containing configuration options |
||||
|
function M.highlights(colors, config) |
||||
|
if config.theme == 'neo' or config.theme == 'default' then |
||||
|
M.load_plugins(colors, config) |
||||
|
else |
||||
|
config.theme = 'default' |
||||
|
M.load_plugins(colors, config) |
||||
|
end |
||||
|
|
||||
|
if vim.fn.has('nvim-0.9.4') and config.autocmd then |
||||
|
local extras = require('solarized.autocmd') |
||||
|
extras.load_autocmd() |
||||
|
extras.load_autocmd_highlights(colors) |
||||
|
end |
||||
|
|
||||
|
utils.on_config({ |
||||
|
tbl = function() |
||||
|
M.custom_hl(config.highlights) |
||||
|
end, |
||||
|
fnc = function() |
||||
|
M.custom_hl(config.highlights(colors, colorhelper)) |
||||
|
end, |
||||
|
}, config.highlights) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,7 @@ |
|||||
|
local config = require('solarized.config') |
||||
|
|
||||
|
local M = {} |
||||
|
|
||||
|
M.setup = config.setup |
||||
|
|
||||
|
return M |
@ -0,0 +1,160 @@ |
|||||
|
local M = {} |
||||
|
|
||||
|
--- Get the solarized colors based on the current Vim background setting |
||||
|
--- |
||||
|
--- @return table colors A table containing the solarized colors |
||||
|
function M.get_colors() |
||||
|
local config = require('solarized.config') |
||||
|
local colors = { |
||||
|
solarized = { |
||||
|
dark = { |
||||
|
base03 = '#002b36', -- background tone dark (main) |
||||
|
base02 = '#073642', -- background tone (highlight/menu/LineNr) |
||||
|
base01 = '#586e75', -- content tone (comment) |
||||
|
base00 = '#657b83', -- content tone (winseparator) |
||||
|
base0 = '#839496', -- content tone (foreground) |
||||
|
base1 = '#93a1a1', -- content tone (statusline/tabline) |
||||
|
base2 = '#eee8d5', -- background tone light (highlight) |
||||
|
base3 = '#fdf6e3', -- background tone lighter (main) |
||||
|
-- accent |
||||
|
yellow = '#b58900', |
||||
|
orange = '#cb4b16', |
||||
|
red = '#dc322f', |
||||
|
magenta = '#d33682', |
||||
|
violet = '#6c71c4', |
||||
|
blue = '#268bd2', |
||||
|
cyan = '#2aa198', |
||||
|
green = '#859900', |
||||
|
-- git |
||||
|
add = '#859900', |
||||
|
change = '#b58900', |
||||
|
delete = '#dc322f', |
||||
|
-- diagnostic |
||||
|
info = '#268bd2', |
||||
|
hint = '#859900', |
||||
|
warning = '#b58900', |
||||
|
error = '#dc322f', |
||||
|
}, |
||||
|
light = { |
||||
|
base3 = '#002b36', -- background tone darker (main) |
||||
|
base2 = '#073642', -- background tone dark (highlight) |
||||
|
base1 = '#586e75', -- content tone (statusline/tabline) |
||||
|
base0 = '#657b83', -- content tone (foreground) |
||||
|
base00 = '#839496', -- content tone (winseparator) |
||||
|
base01 = '#93a1a1', -- content tone (comment) |
||||
|
base02 = '#eee8d5', -- background tone (highlight/menu/LineNr) |
||||
|
base03 = '#fdf6e3', -- background tone lighter (main) |
||||
|
-- accent |
||||
|
yellow = '#b58900', |
||||
|
orange = '#cb4b16', |
||||
|
red = '#dc322f', |
||||
|
magenta = '#d33682', |
||||
|
violet = '#6c71c4', |
||||
|
blue = '#268bd2', |
||||
|
cyan = '#2aa198', |
||||
|
green = '#859900', |
||||
|
-- git |
||||
|
add = '#859900', |
||||
|
change = '#b58900', |
||||
|
delete = '#dc322f', |
||||
|
-- diagnostic |
||||
|
info = '#268bd2', |
||||
|
hint = '#859900', |
||||
|
warning = '#b58900', |
||||
|
error = '#dc322f', |
||||
|
}, |
||||
|
}, |
||||
|
selenized = { |
||||
|
dark = { |
||||
|
base03 = '#103c48', -- background tone dark (main) |
||||
|
base02 = '#184956', -- background tone (highlight/menu/LineNr) |
||||
|
base01 = '#72898f', -- content tone (comment) |
||||
|
base00 = '#72898f', -- content tone (winseparator) |
||||
|
base0 = '#adbcbc', -- content tone (foreground) |
||||
|
base1 = '#cad8d9', -- content tone (statusline/tabline) |
||||
|
base2 = '#ece3cc', -- background tone light (highlight) |
||||
|
base3 = '#fbf3db', -- background tone lighter (main) |
||||
|
-- accent |
||||
|
yellow = '#dbb32d', |
||||
|
orange = '#ed8649', |
||||
|
red = '#fa5750', |
||||
|
magenta = '#f275be', |
||||
|
violet = '#af88eb', |
||||
|
blue = '#4695f7', |
||||
|
cyan = '#41c7b9', |
||||
|
green = '#75b938', |
||||
|
-- git |
||||
|
add = '#75b938', |
||||
|
change = '#dbb32d', |
||||
|
delete = '#fa5750', |
||||
|
-- diagnostic |
||||
|
info = '#4695f7', |
||||
|
hint = '#75b938', |
||||
|
warning = '#dbb32d', |
||||
|
error = '#fa5750', |
||||
|
}, |
||||
|
light = { |
||||
|
base3 = '#103c48', -- background tone darker (main) |
||||
|
base2 = '#2d5b69', -- background tone dark (highlight) |
||||
|
base1 = '#3a4d53', -- content tone (statusline/tabline) |
||||
|
base0 = '#53676d', -- content tone (foreground) |
||||
|
base00 = '#909995', -- content tone (winseparator) |
||||
|
base01 = '#909995', -- content tone (comment) |
||||
|
base02 = '#ece3cc', -- background tone (highlight/menu/LineNr) |
||||
|
base03 = '#fbf3db', -- background tone lighter (main) |
||||
|
-- accent |
||||
|
yellow = '#ad8900', |
||||
|
orange = '#c25d1e', |
||||
|
red = '#d2212d', |
||||
|
magenta = '#ca4898', |
||||
|
violet = '#8762c6', |
||||
|
blue = '#0072d4', |
||||
|
cyan = '#009c8f', |
||||
|
green = '#489100', |
||||
|
-- git |
||||
|
add = '#489100', |
||||
|
change = '#ad8900', |
||||
|
delete = '#d2212d', |
||||
|
-- diagnostic |
||||
|
info = '#0072d4', |
||||
|
hint = '#489100', |
||||
|
warning = '#ad8900', |
||||
|
error = '#d2212d', |
||||
|
}, |
||||
|
}, |
||||
|
} |
||||
|
|
||||
|
return colors[((config.config or {}).palette or 'solarized')][vim.o.background] |
||||
|
end |
||||
|
|
||||
|
--- Filter colors by selecting valid hexadecimal color values. |
||||
|
--- |
||||
|
--- @param colors table A table containing color values to be filtered. |
||||
|
--- @return table Filtered colors table, containing only valid hexadecimal color values. |
||||
|
local function filter_colors(colors) |
||||
|
local filtered_colors = {} |
||||
|
|
||||
|
for color_name, color_value in pairs(colors) do |
||||
|
if string.match(color_value, '#%x%x%x%x%x%x$') then |
||||
|
filtered_colors[color_name] = color_value |
||||
|
elseif string.match(color_value, '#%x%x%x$') then |
||||
|
color_value = string.sub(color_value, 2, #color_value) |
||||
|
filtered_colors[color_name] = '#' .. string.rep(color_value, 2) |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
return filtered_colors |
||||
|
end |
||||
|
|
||||
|
--- Merge custom colors with solarized default colors |
||||
|
--- |
||||
|
--- @param colors table A table containing new color values to be added. |
||||
|
--- @param custom_colors table |
||||
|
function M.extend_colors(colors, custom_colors) |
||||
|
local c = vim.deepcopy(colors) |
||||
|
custom_colors = filter_colors(custom_colors) |
||||
|
|
||||
|
return vim.tbl_extend('force', c, custom_colors) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,16 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- When `termguicolors` is enabled, this plugin is designed to work automatically, |
||||
|
-- deriving colours from the user's theme. |
||||
|
-- |
||||
|
-- My attempt to fix bufferline on transparent background |
||||
|
if config.transparent then |
||||
|
set_hl('BufferLineFill', { bg = c.base02 }) |
||||
|
set_hl('BufferLineBufferSelected', { fg = c.base2, italic = true }) |
||||
|
set_hl('BufferLineSeparator', { fg = c.base02 }) |
||||
|
set_hl('BufferLineSeparatorSelected', { fg = c.base02 }) |
||||
|
set_hl('BufferLineSeparatorVisible', { fg = c.base02 }) |
||||
|
end |
||||
|
end |
@ -0,0 +1,36 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- set_hl('CmpItemAbbr') -- Highlight group for unmatched characters of each completion field. |
||||
|
set_hl('CmpItemAbbrDeprecated', { fg = c.base1, strikethrough = true }) -- Highlight group for unmatched characters of each deprecated completion field. |
||||
|
set_hl('CmpItemAbbrMatch', { fg = c.yellow }) -- Highlight group for matched characters of each completion field. |
||||
|
set_hl('CmpItemAbbrMatchFuzzy', { fg = c.yellow }) -- Highlight group for fuzzy-matched characters of each completion field. |
||||
|
-- set_hl('CmpItemKind') -- Highlight group for the kind of the field. |
||||
|
-- set_hl('CmpItemMenu') -- The menu field's highlight group. |
||||
|
|
||||
|
set_hl('CmpItemKindReference', { link = 'Underlined' }) |
||||
|
set_hl('CmpItemKindUnit', { link = 'Number' }) |
||||
|
set_hl('CmpItemKindEnum', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindField', { link = '@field' }) |
||||
|
set_hl('CmpItemKindClass', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindFile', { fg = c.base0 }) |
||||
|
set_hl('CmpItemKindProperty', { link = '@field' }) |
||||
|
set_hl('CmpItemKindMethod', { link = 'Function' }) |
||||
|
set_hl('CmpItemKindKeyword', { link = 'Keyword' }) |
||||
|
set_hl('CmpItemKindFolder', { link = 'Directory' }) |
||||
|
set_hl('CmpItemKindSnippet', { link = 'Keyword' }) |
||||
|
set_hl('CmpItemKindVariable', { link = 'Identifier' }) |
||||
|
set_hl('CmpItemKindStruct', { link = 'Structure' }) |
||||
|
set_hl('CmpItemKindInterface', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindTypeParameter', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindEnumMember', { link = 'Constant' }) |
||||
|
set_hl('CmpItemKindEvent', { fg = c.base2 }) |
||||
|
set_hl('CmpItemKindConstructor', { link = '@constructor' }) |
||||
|
set_hl('CmpItemKindConstant', { link = 'Constant' }) |
||||
|
set_hl('CmpItemKindModule', { link = '@namespace' }) |
||||
|
set_hl('CmpItemKindValue', { fg = c.base2 }) |
||||
|
set_hl('CmpItemKindColor', { fg = c.magenta }) |
||||
|
set_hl('CmpItemKindFunction', { link = 'Function' }) |
||||
|
set_hl('CmpItemKindText', { link = 'String' }) |
||||
|
end |
@ -0,0 +1,23 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- general |
||||
|
set_hl('DashboardHeader', { fg = c.base00 }) |
||||
|
set_hl('DashboardFooter', { fg = c.base00 }) |
||||
|
|
||||
|
-- Hyper |
||||
|
set_hl('DashboardProjectTitle', { fg = c.blue }) |
||||
|
set_hl('DashboardProjectTitleIcon', { link = 'DashboardProjectTitle' }) |
||||
|
set_hl('DashboardProjectIcon', { link = 'Directory' }) |
||||
|
set_hl('DashboardMruTitle', { link = 'DashboardProjectTitle' }) |
||||
|
set_hl('DashboardMruIcon', { link = 'DashboardMruTitle' }) |
||||
|
set_hl('DashboardFiles', { fg = c.base0 }) |
||||
|
set_hl('DashboardShotCutIcon', { fg = c.magenta }) |
||||
|
|
||||
|
-- Doom theme |
||||
|
set_hl('DashboardDesc', { fg = c.base0 }) |
||||
|
set_hl('DashboardKey', { fg = c.magenta }) |
||||
|
set_hl('DashboardIcon', { link = 'Directory' }) |
||||
|
set_hl('DashboardShotCut', { fg = c.base00 }) |
||||
|
end |
@ -0,0 +1,52 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('DiagnosticError', { fg = c.error }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticWarn', { fg = c.warning }) --Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticInfo', { fg = c.info }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticHint', { fg = c.hint }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticOk', { fg = c.cyan }) -- Used as the base highlight group.(except Underline) |
||||
|
-- set_hl('DiagnosticVirtualTextError') -- Used for "Error" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextWarn') -- Used for "Warn" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextInfo') -- Used for "Info" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextHint') -- Used for "Hint" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextOk') -- Used for "Ok" diagnostic virtual text. |
||||
|
set_hl('DiagnosticUnderlineError', { fg = c.error, sp = c.error }) --Used to underline "Error" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineWarn', { fg = c.warning, sp = c.warning }) -- Used to underline "Warn" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineInfo', { fg = c.info, sp = c.info }) -- Used to underline "Info" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineHint', { fg = c.hint, sp = c.hint }) -- Used to underline "Hint" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineOk', { fg = c.cyan, sp = c.cyan }) -- Used to underline "Ok" diagnostics. |
||||
|
-- set_hl('DiagnosticFloatingError') -- Used to color "Error" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingWarn') -- Used to color "Warn" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingInfo') -- Used to color "Info" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingHint') -- Used to color "Hint" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingOk') -- Used to color "Ok" diagnostic messages in diagnostics float. |
||||
|
set_hl( |
||||
|
'DiagnosticSignError', |
||||
|
{ fg = c.error, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for "Error" signs in sign column. |
||||
|
set_hl( |
||||
|
'DiagnosticSignWarn', |
||||
|
{ fg = c.warning, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for "Warn" signs in sign column. |
||||
|
set_hl( |
||||
|
'DiagnosticSignInfo', |
||||
|
{ fg = c.info, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for "Info" signs in sign column. |
||||
|
set_hl( |
||||
|
'DiagnosticSignHint', |
||||
|
{ fg = c.hint, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for "Hint" signs in sign column. |
||||
|
set_hl( |
||||
|
'DiagnosticSignOk', |
||||
|
{ fg = c.cyan, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for "Ok" signs in sign column. |
||||
|
-- set_hl('DiagnosticDeprecated') -- Used for deprecated or obsolete code. |
||||
|
-- set_hl('DiagnosticUnnecessary') -- Used for unnecessary or unused code. |
||||
|
end |
@ -0,0 +1,110 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('ColorColumn', { bg = c.base02 }) -- used for columns |
||||
|
set_hl('Conceal', { fg = c.blue }) -- placeholder characters |
||||
|
set_hl('CurSearch', { fg = c.base2, bg = c.base02 }) -- highlight under cursor |
||||
|
set_hl('Cursor', { fg = c.base03, bg = c.base0 }) -- character under cursor |
||||
|
set_hl('lCursor', { link = 'Cursor' }) -- character under the cursor |
||||
|
set_hl('CursorIM', { link = 'Cursor' }) -- like cursor, but IME mode |
||||
|
set_hl('CursorColumn', { link = 'ColorColumn' }) -- screen-column at the cursor |
||||
|
set_hl('CursorLine', { bg = c.base02, sp = c.base1 }) -- screen-line at the cursor |
||||
|
set_hl('Directory', { fg = c.blue }) -- directory names |
||||
|
set_hl('DiffAdd', { fg = c.add, reverse = true }) -- Added line |
||||
|
set_hl('DiffChange', { fg = c.change, reverse = true }) -- Changed line |
||||
|
set_hl('DiffDelete', { fg = c.delete, reverse = true }) -- Deleted line |
||||
|
set_hl('DiffText', { fg = c.blue, reverse = true }) -- Changed Text |
||||
|
set_hl('EndOfBuffer', { fg = c.base03 }) -- Filler lines (~) |
||||
|
set_hl('TermCursor', { link = 'Cursor' }) -- Cursor in a focused terminal |
||||
|
set_hl('TermCursorNC', { fg = c.base03, bg = c.base0 }) -- Cursor in an unfocused terminal |
||||
|
set_hl('ErrorMsg', { fg = c.error, reverse = true }) -- Error messages on the command line |
||||
|
set_hl( |
||||
|
'WinSeparator', |
||||
|
{ fg = c.base00, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Separators between window splits |
||||
|
set_hl( |
||||
|
'Folded', |
||||
|
{ fg = c.base0, bg = c.base02, underline = true, bold = true } |
||||
|
) -- Line used for closed folds |
||||
|
set_hl('FoldColumn', { fg = c.base0, bg = c.base02, bold = true }) -- 'foldcolumn' |
||||
|
set_hl( |
||||
|
'SignColumn', |
||||
|
{ fg = c.base0, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Column were signs are displayed |
||||
|
set_hl('IncSearch', { fg = c.orange, standout = true }) -- 'incsearch' highlighting, also for the text replaced |
||||
|
set_hl('Substitute', { link = 'IncSearch' }) -- :substitute replacement text highlight |
||||
|
set_hl( |
||||
|
'LineNr', |
||||
|
{ fg = c.base01, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Line number for ":number" and ":#" commands |
||||
|
set_hl('LineNrAbove', { link = 'LineNr' }) -- Line number, above the cursor line |
||||
|
set_hl('LineNrBelow', { link = 'LineNr' }) -- Line number, below the cursor |
||||
|
set_hl( |
||||
|
'CursorLineNr', |
||||
|
{ fg = c.base1, bg = c.base02, bold = true }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Like LineNr when 'cursorline' is set |
||||
|
set_hl('CursorLineFold', { link = 'FoldColumn' }) -- Like FoldColumn when 'cursorline' is set |
||||
|
set_hl('CursorLineSign', { link = 'SignColumn' }) -- Like SignColumn when 'cursorline' is set |
||||
|
set_hl('MatchParen', { fg = c.red, bg = c.base01, bold = true }) -- Character under the cursor or just before it |
||||
|
set_hl('ModeMsg', { fg = c.blue }) -- 'showmode' message (e.g., "-- INSERT --") |
||||
|
set_hl('MsgArea', { link = 'Normal' }) -- 'Area for messages and cmdline' |
||||
|
set_hl('MsgSeparator', { link = 'Normal' }) -- Separator for scrolled messages msgsep. |
||||
|
set_hl('MoreMsg', { fg = c.blue }) -- more-prompt |
||||
|
set_hl('NonText', { fg = c.base1, bold = true }) -- '@' at the end of the window |
||||
|
set_hl( |
||||
|
'Normal', |
||||
|
{ fg = c.base0, bg = c.base03 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Normal text |
||||
|
set_hl('NormalFloat', { fg = c.base0, bg = c.base02 }) -- Normal text in floating windows |
||||
|
set_hl('FloatBorder', { link = 'WinSeparator', bold = true }) -- Border of floating windows. |
||||
|
set_hl('FloatTitle', { fg = c.orange }) -- Title of float windows. |
||||
|
set_hl('NormalNC', { link = 'Normal' }) -- Normal text in non-current windows. |
||||
|
set_hl( |
||||
|
'Pmenu', |
||||
|
{ fg = c.base0, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Popup menu: Normal item |
||||
|
set_hl('PmenuSel', { fg = c.base2, bg = c.base01 }) -- Popup menu: Selected item |
||||
|
set_hl('PmenuKind', { link = 'Pmenu' }) -- Popup menu: Normal item kind |
||||
|
set_hl('PmenuKindSel', { link = 'PmenuSel' }) -- Popup menu: Selected item kind |
||||
|
set_hl('PmenuExtra', { link = 'Pmenu' }) -- Popup menu: Normal item extra text |
||||
|
set_hl('PmenuExtraSel', { link = 'PmenuSel' }) -- Popup menu: Selected item extra text |
||||
|
set_hl('PmenuSbar', { fg = c.base0, bg = c.base2 }) -- Popup menu: Scrollbar |
||||
|
set_hl('PmenuThumb', { fg = c.base03, bg = c.base0 }) -- Popup menu: Thumb of the scrollbar |
||||
|
set_hl('Question', { fg = c.cyan, bold = true }) -- hit-enter prompt and yes/no questions. |
||||
|
set_hl('QuickFixLine', { fg = c.base0, bg = c.base03 }) -- Current quickfix item in the quickfix window |
||||
|
set_hl('Search', { fg = c.yellow, reverse = true }) -- Last search pattern highlighting |
||||
|
set_hl('SpecialKey', { fg = c.red, reverse = true }) -- Unprintable characters: Text displayed differently from what it really is. |
||||
|
set_hl('SpellBad', { sp = c.red, undercurl = true }) -- Word that is not recognized by the spellchecker. |
||||
|
set_hl('SpellCap', { sp = c.violet, undercurl = true }) -- Word that should start with a capital |
||||
|
set_hl('SpellLocal', { sp = c.yellow, undercurl = true }) -- Word that is recognized by the spellchecker as one that is used in another region |
||||
|
set_hl('SpellRare', { sp = c.cyan, undercurl = true }) -- Word that is recognized by the spellchecker as one that is hardly ever used. |
||||
|
set_hl('StatusLine', { fg = c.base02, bg = c.base1 }) -- Status line of current window. |
||||
|
set_hl('StatusLineNC', { fg = c.base02, bg = c.base00 }) -- Status lines of not-current windows. |
||||
|
set_hl( |
||||
|
'TabLine', |
||||
|
{ fg = c.base0, bg = c.base02, sp = c.base0, underline = true } |
||||
|
) -- Tab pages line, not active tab page label. |
||||
|
set_hl( |
||||
|
'TabLineFill', |
||||
|
{ fg = c.base0, bg = c.base02, sp = c.base0, underline = true } |
||||
|
) -- Tab pages line, where there are no labels. |
||||
|
set_hl( |
||||
|
'TabLineSel', |
||||
|
{ fg = c.base2, bg = c.base01, sp = c.base0, underline = true } |
||||
|
) -- Tab pages line, active tab page label. |
||||
|
set_hl('Title', { fg = c.orange, bold = true }) -- Titles for output from ":set all", ":autocmd" etc. |
||||
|
set_hl('Visual', { bg = c.base02, standout = true }) -- Visual mode selection. |
||||
|
set_hl('VisualNOS', { link = 'Visual' }) -- Visual mode selection when vim is "Not Owning the Selection". |
||||
|
set_hl('WarningMsg', { fg = c.warning, bold = true }) -- Warning messages. |
||||
|
set_hl('Whitespace', { fg = c.base01 }) -- "nbsp", "space", "tab", "multispace", "lead" and "trail" in 'listchars'. |
||||
|
set_hl('WildMenu', { fg = c.base2, bg = c.base02 }) -- Current match in 'wildmenu' completion. |
||||
|
set_hl('WinBar', { link = 'Pmenu' }) -- Window bar of current window. |
||||
|
set_hl('WinBarNC', { link = 'WinBar' }) -- Window bar of not-current windows. |
||||
|
end |
@ -0,0 +1,20 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl( |
||||
|
'GitSignsAdd', |
||||
|
{ fg = c.add, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for the text of 'add' signs |
||||
|
set_hl( |
||||
|
'GitSignsChange', |
||||
|
{ fg = c.change, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for the text of 'change' signs |
||||
|
set_hl( |
||||
|
'GitSignsDelete', |
||||
|
{ fg = c.delete, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Used for the text of 'delete' signs |
||||
|
end |
@ -0,0 +1,9 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('HopNextKey', { fg = c.magenta }) |
||||
|
set_hl('HopNextKey1', { fg = c.blue }) |
||||
|
set_hl('HopNextKey2', { fg = '#1b6294' }) |
||||
|
set_hl('HopUnmatched', { fg = c.base01 }) |
||||
|
end |
@ -0,0 +1,17 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('IndentBlanklineChar', { fg = c.base01 }) -- Highlight of indent character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineSpaceChar', { link = 'IndentBlanklineChar' }) -- Highlight of space character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineContextChar', { fg = c.base0 }) -- Highlight of indent character when base of current context. Default: Label |
||||
|
set_hl( |
||||
|
'IndentBlanklineContextSpaceChar', |
||||
|
{ link = 'IndentBlanklineContextChar' } |
||||
|
) -- Highlight of space characters one indent level of the current context. Default: Label |
||||
|
set_hl('IblIndent', { fg = c.base0, nocombine = true }) |
||||
|
set_hl('IblScope', { fg = c.base01, nocombine = true }) |
||||
|
|
||||
|
-- set_hl('IndentBlanklineSpaceCharBlankline', {}) -- Highlight of space character on blank lines. Default: Whitespace |
||||
|
-- set_hl('IndentBlanklineContextStart', {}) -- Highlight of the first line of the current context. Default: Label |
||||
|
end |
@ -0,0 +1,24 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local colortool = require('solarized.utils.colors') |
||||
|
local darken = colortool.darken |
||||
|
local lighten = colortool.lighten |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('LspReferenceText', { link = 'Visual' }) -- used for highlighting "text" references |
||||
|
set_hl('LspReferenceRead', { link = 'Visual' }) -- used for highlighting "read" references |
||||
|
set_hl('LspReferenceWrite', { link = 'Visual' }) -- used for highlighting "write" references |
||||
|
|
||||
|
if vim.o.background == 'dark' then |
||||
|
set_hl('LspInlayHint', { fg = darken(c.yellow, 20) }) -- used for highlighting inlay hints |
||||
|
else |
||||
|
set_hl('LspInlayHint', { fg = lighten(c.yellow, 20) }) |
||||
|
end |
||||
|
|
||||
|
-- if you want to me to enable the highlight groups bellow, please send a screenshot for me to see how |
||||
|
-- they look like or how to config for me to test. |
||||
|
|
||||
|
-- set_hl('LspCodelens') -- Used to color the virtual text of the codelens. |
||||
|
-- set_hl('LspCodeLensSeparator') -- Used to color the separator between two or more code lenses. |
||||
|
-- set_hl('LspSignatureActiveParameter') -- Used to highlight the active parameter in the signature help. See |
||||
|
end |
@ -0,0 +1,56 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- Float window |
||||
|
set_hl('SagaNormal', { link = 'Pmenu' }) |
||||
|
set_hl( |
||||
|
'TitleString', |
||||
|
{ fg = c.orange, bold = true, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
|
||||
|
-- Outline |
||||
|
set_hl('OutlineIndent', { fg = c.green }) |
||||
|
|
||||
|
-- Icons |
||||
|
set_hl('SagaWinbarModule', { link = '@namespace' }) |
||||
|
set_hl('SagaWinbarInterface', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarConstructor', { link = '@constructor' }) |
||||
|
set_hl('SagaWinbarStruct', { link = 'Structure' }) |
||||
|
set_hl('SagaWinbarObject', { link = '@field' }) |
||||
|
set_hl('SagaWinbarUnit', { link = 'Number' }) |
||||
|
set_hl('SagaWinbarFile', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarSnippet', { link = 'Keyword' }) |
||||
|
set_hl('SagaWinbarText', { fg = c.base1 }) |
||||
|
set_hl('SagaWinbarTypeAlias', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarEvent', { fg = c.base2 }) |
||||
|
set_hl('SagaWinbarParameter', { link = '@parameter' }) |
||||
|
set_hl('SagaWinbarKey', { link = '@field' }) |
||||
|
set_hl('SagaWinbarValue', { fg = c.base2 }) |
||||
|
set_hl('SagaWinbarMacro', { link = 'Macro' }) |
||||
|
set_hl('SagaWinbarNumber', { link = 'Number' }) |
||||
|
set_hl('SagaWinbarConstant', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarFunction', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarEnum', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarField', { link = '@field' }) |
||||
|
set_hl('SagaWinbarProperty', { link = '@field' }) |
||||
|
set_hl('SagaWinbarMethod', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarClass', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarFolder', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarPackage', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarStaticMethod', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarTypeParameter', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarEnumMember', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarOperator', { link = 'Operator' }) |
||||
|
set_hl('SagaWinbarNull', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarNamespace', { link = '@namespace' }) |
||||
|
set_hl('SagaWinbarArray', { link = 'Delimiter' }) |
||||
|
set_hl('SagaWinbarBoolean', { link = 'Boolean' }) |
||||
|
set_hl('SagaWinbarString', { link = 'String' }) |
||||
|
set_hl('SagaWinbarVariable', { link = 'Identifier' }) |
||||
|
set_hl('SagaWinbarFilename', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarFolderName', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarFileIcon', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarSep', { link = 'Keyword' }) |
||||
|
end |
@ -0,0 +1,38 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- MiniCursor |
||||
|
set_hl('MiniCursorword', { bg = c.base02 }) |
||||
|
|
||||
|
-- MiniStatusLine |
||||
|
set_hl('MiniStatuslineModeNormal', { fg = c.base03, bg = c.blue }) |
||||
|
set_hl('MiniStatuslineModeInsert', { fg = c.base03, bg = c.green }) |
||||
|
set_hl('MiniStatuslineModeVisual', { fg = c.base03, bg = c.magenta }) |
||||
|
set_hl('MiniStatuslineModeReplace', { fg = c.base03, bg = c.red }) |
||||
|
set_hl('MiniStatuslineModeCommand', { fg = c.base03, bg = c.orange }) |
||||
|
set_hl('MinistatusLineFileName', { fg = c.base0, bg = c.base02 }) |
||||
|
set_hl('MiniStatuslineDevinfo', { fg = c.base03, bg = c.base1 }) |
||||
|
set_hl('MiniStatuslineFileinfo', { fg = c.base03, bg = c.base1 }) |
||||
|
set_hl('MiniStatuslineInactive', { fg = c.base01, bg = c.base03 }) |
||||
|
|
||||
|
-- MiniTabLine |
||||
|
set_hl('MiniTablineCurrent', { fg = c.base2, bg = c.base1 }) |
||||
|
set_hl('MiniTablineVisible', { fg = c.base2, bg = c.base03 }) |
||||
|
set_hl('MiniTablineHidden', { fg = c.base01, bg = c.base03 }) |
||||
|
set_hl('MiniTablineModifiedCurrent', { link = 'MiniTabLineCurrent' }) |
||||
|
set_hl('MiniTablineModifiedVisible', { link = 'MiniTablineVisible' }) |
||||
|
set_hl('MiniTablineModifiedHidden', { link = 'MiniTablineHidden' }) |
||||
|
set_hl('MiniTablineFill', { link = 'NormalFloat' }) |
||||
|
set_hl('MiniTablineTabpagesection', { link = 'NormalFloat' }) |
||||
|
|
||||
|
-- MiniStarter |
||||
|
set_hl('MiniStarterCurrent', { link = 'CursorLine' }) |
||||
|
set_hl('MiniStarterHeader', { fg = c.base00 }) |
||||
|
set_hl('MiniStarterFooter', { fg = c.base00 }) |
||||
|
set_hl('MiniStarterItem', { fg = c.base0 }) |
||||
|
set_hl('MiniStarterItemBullet', { fg = c.blue }) |
||||
|
set_hl('MiniStarterItemPrefix', { fg = c.blue }) |
||||
|
set_hl('MiniStarterSection', { link = 'Title' }) |
||||
|
set_hl('MiniStarterQuery', { fg = c.magenta, bg = 'NONE', bold = true }) |
||||
|
end |
@ -0,0 +1,33 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NavicIconsFile', { fg = c.base00 }) |
||||
|
set_hl('NavicIconsModule', { link = '@namespace' }) |
||||
|
set_hl('NavicIconsNamespace', { link = '@namespace' }) |
||||
|
set_hl('NavicIconsPackage', { link = 'Directory' }) |
||||
|
set_hl('NavicIconsClass', { link = 'Type' }) |
||||
|
set_hl('NavicIconsMethod', { link = 'Type' }) |
||||
|
set_hl('NavicIconsProperty', { link = '@field' }) |
||||
|
set_hl('NavicIconsField', { link = '@field' }) |
||||
|
set_hl('NavicIconsConstructor', { link = '@constructor' }) |
||||
|
set_hl('NavicIconsEnum', { link = 'Type' }) |
||||
|
set_hl('NavicIconsInterface', { link = 'Type' }) |
||||
|
set_hl('NavicIconsFunction', { link = 'Function' }) |
||||
|
set_hl('NavicIconsVariable', { link = 'Identifier' }) |
||||
|
set_hl('NavicIconsConstant', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsString', { link = 'String' }) |
||||
|
set_hl('NavicIconsNumber', { link = 'Number' }) |
||||
|
set_hl('NavicIconsBoolean', { link = 'Boolean' }) |
||||
|
set_hl('NavicIconsArray', { link = 'Delimiter' }) |
||||
|
set_hl('NavicIconsObject', { link = '@field' }) |
||||
|
set_hl('NavicIconsKey', { link = '@field' }) |
||||
|
set_hl('NavicIconsNull', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsEnumMember', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsStruct', { link = 'Structure' }) |
||||
|
set_hl('NavicIconsEvent', { fg = c.base2 }) |
||||
|
set_hl('NavicIconsOperator', { link = 'Operator' }) |
||||
|
set_hl('NavicIconsTypeParameter', { link = '@parameter' }) |
||||
|
set_hl('NavicText', { fg = c.base1 }) |
||||
|
set_hl('NavicSeparator', { link = 'Keyword' }) |
||||
|
end |
@ -0,0 +1,27 @@ |
|||||
|
return function(c) |
||||
|
local blend = require('solarized.utils.colors').blend |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
local alpha = 0.05 |
||||
|
|
||||
|
set_hl('NeogitCursorLine', { link = 'CursorLine' }) |
||||
|
set_hl('NeogitBranch', { fg = c.magenta }) |
||||
|
set_hl('NeogitRemote', { fg = c.violet }) |
||||
|
set_hl( |
||||
|
'NeogitHunkHeader', |
||||
|
{ fg = c.orange, bg = blend(c.orange, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitHunkHeaderHighlight', { link = 'Title' }) |
||||
|
set_hl('NeogitDiffContextHighlight', { fg = c.base00, bg = c.base03 }) |
||||
|
set_hl('NeogitDiffContext', { fg = c.base00, bg = c.base03 }) |
||||
|
set_hl( |
||||
|
'NeogitDiffDeleteHighlight', |
||||
|
{ fg = c.red, bg = blend(c.red, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitDiffDelete', { fg = c.red }) |
||||
|
set_hl( |
||||
|
'NeogitDiffAddHighlight', |
||||
|
{ fg = c.green, bg = blend(c.green, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitDiffAdd', { fg = c.green }) |
||||
|
end |
@ -0,0 +1,28 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NeoTreeNormal', { |
||||
|
fg = c.base0, |
||||
|
}, { transparent = config.transparent }) |
||||
|
set_hl('NeoTreeNormalNC', { link = 'NeoTreeNormal' }) |
||||
|
set_hl('NeoTreeEndOfBuffer', { fg = c.base02 }) |
||||
|
set_hl('NeoTreeRootName', { link = 'Directory' }) |
||||
|
set_hl('NeoTreeFileName', { fg = c.base0 }) |
||||
|
set_hl('NeoTreeFileNameOpened', { link = 'Directory' }) |
||||
|
set_hl('NeoTreeFloatBorder', { link = 'WinSeparator' }) |
||||
|
set_hl('NeoTreeFloatTitle', { link = 'Title' }) |
||||
|
set_hl('NeoTreeGitAdded', { fg = c.add, bg = 'NONE' }) |
||||
|
set_hl('NeoTreeGitConflict', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitDeleted', { fg = c.delete }) |
||||
|
set_hl('NeoTreeGitIgnored', { fg = c.base01, italic = true }) |
||||
|
set_hl('NeoTreeGitModified', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitUnstaged', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitUntracked', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitStaged', { fg = c.add }) |
||||
|
set_hl('NeoTreeIndentMarker', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeDotfile', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeFileStats', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeTitleBar', { fg = darken(c.blue, 50), bg = c.blue }) |
||||
|
end |
@ -0,0 +1,9 @@ |
|||||
|
return function(c) |
||||
|
local set_hl = require('solarized.utils').set_hl |
||||
|
|
||||
|
set_hl('NoiceFormatProgressTodo', { fg = c.base01, reverse = true }) |
||||
|
set_hl('NoiceFormatProgressDone', { fg = c.cyan, reverse = true }) |
||||
|
set_hl('NoiceLspProgressSpinner', { fg = c.cyan }) |
||||
|
set_hl('NoiceLspProgressClient', { fg = c.blue }) |
||||
|
set_hl('NoiceLspProgressTitle', { link = 'Title' }) |
||||
|
end |
@ -0,0 +1,26 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NotifyBackground', { bg = c.base03 }) |
||||
|
set_hl('NotifyERRORBorder', { fg = c.error }) |
||||
|
set_hl('NotifyWARNBorder', { fg = c.warn }) |
||||
|
set_hl('NotifyINFOBorder', { fg = c.info }) |
||||
|
set_hl('NotifyDEBUGBorder', { fg = c.magenta }) |
||||
|
set_hl('NotifyTRACEBorder', { fg = c.violet }) |
||||
|
set_hl('NotifyERRORIcon', { link = 'NotifyERRORBorder' }) |
||||
|
set_hl('NotifyWARNIcon', { link = 'NotifyWARNBorder' }) |
||||
|
set_hl('NotifyINFOIcon', { link = 'NotifyINFOBorder' }) |
||||
|
set_hl('NotifyDEBUGIcon', { link = 'NotifyDEBUGBorder' }) |
||||
|
set_hl('NotifyTRACEIcon', { link = 'NotifyTRACEBorder' }) |
||||
|
set_hl('NotifyERRORTitle', { link = 'NotifyERRORBorder' }) |
||||
|
set_hl('NotifyWARNTitle', { link = 'NotifyWARNBorder' }) |
||||
|
set_hl('NotifyINFOTitle', { link = 'NotifyINFOBorder' }) |
||||
|
set_hl('NotifyDEBUGTitle', { link = 'NotifyDEBUGTitle' }) |
||||
|
set_hl('NotifyTRACETitle', { link = 'NotifyTRACEBorder' }) |
||||
|
set_hl('NotifyERRORBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyWARNBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyINFOBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyDEBUGBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyTRACEBody', { link = 'Normal' }) |
||||
|
end |
@ -0,0 +1,32 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- Default highlight |
||||
|
set_hl('@lsp.type.class', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.decorator', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.enum', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.enumMember', { link = 'Constant' }) -- Constant |
||||
|
set_hl('@lsp.type.function', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.interface', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.macro', { link = 'Macro' }) -- Keyword |
||||
|
set_hl('@lsp.type.method', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.namespace', { link = '@namespace' }) -- Namespace |
||||
|
set_hl( |
||||
|
'@lsp.type.parameter', |
||||
|
{ fg = c.base0, italic = true }, |
||||
|
{ styles = config.styles.parameters } |
||||
|
) |
||||
|
set_hl('@lsp.type.property', { link = '@field' }) -- Property |
||||
|
set_hl('@lsp.type.struct', { link = 'Structure' }) -- Structure |
||||
|
set_hl('@lsp.type.type', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.typeParameter', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.variable', { link = 'Identifier' }) -- Identifier |
||||
|
|
||||
|
-- Extra highlight |
||||
|
set_hl('@lsp.typemod.variable.readonly', { link = 'Constant' }) -- Constant variables ex: const hello = 'Hello World' |
||||
|
set_hl('@lsp.typemod.variable.global', { link = 'Constant' }) -- Global variables ex: HELLO = 'Hello World' |
||||
|
set_hl('@lsp.typemod.keyword.documentation', { link = 'Keyword' }) -- documentation comments |
||||
|
set_hl('@lsp.typemod.class.documentation', { link = 'Type' }) -- documentation comments |
||||
|
set_hl('@lsp.typemod.property.readonly', { link = 'Constant' }) -- Ex: System."out".println() |
||||
|
end |
@ -0,0 +1,48 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl( |
||||
|
'Comment', |
||||
|
{ fg = c.base01, italic = true }, |
||||
|
{ styles = config.styles.comments } |
||||
|
) -- any comment |
||||
|
set_hl('Constant', { fg = c.cyan }, { styles = config.styles.constants }) -- any constant |
||||
|
set_hl('String', { fg = c.cyan }) -- a string constant: "this is a string" |
||||
|
set_hl('Character', { link = 'String' }) -- a character constant: 'c', '\n' |
||||
|
set_hl('Number', { fg = c.magenta }, { styles = config.styles.numbers }) -- a number constant: 234, 0xff |
||||
|
set_hl('Boolean', { link = 'Constant' }) -- a boolean constant: TRUE, false |
||||
|
set_hl('Float', { link = 'Number' }) -- a floating point constant: 2.3e10 |
||||
|
set_hl('Identifier', { fg = c.blue }, { styles = config.styles.variables }) -- any variable name |
||||
|
set_hl('Function', { fg = c.blue }, { styles = config.styles.functions }) -- function name (also: methods for classes) |
||||
|
set_hl('Statement', { fg = c.green }) -- any statement |
||||
|
set_hl('Conditional', { link = 'Statement' }) -- if, then, else, endif, switch, etc. |
||||
|
set_hl('Repeat', { link = 'Statement' }) -- for, do, while, etc. |
||||
|
set_hl('Label', { link = 'Statement' }) -- case, default, etc. |
||||
|
set_hl('Operator', { link = 'Statement' }) -- "sizeof", "+", "*", etc. |
||||
|
set_hl( |
||||
|
'Keyword', |
||||
|
{ fg = c.base1, bold = true }, |
||||
|
{ styles = config.styles.keywords } |
||||
|
) -- any other keyword |
||||
|
set_hl('Exception', { link = 'Statement' }) -- try, catch, throw |
||||
|
set_hl('PreProc', { fg = c.orange }) -- generic Preprocessor |
||||
|
set_hl('Include', { link = 'PreProc' }) -- preprocessor #include |
||||
|
set_hl('Define', { link = 'PreProc' }) -- preprocessor #define |
||||
|
set_hl('Macro', { link = 'PreProc' }) -- same as Define |
||||
|
set_hl('PreCondit', { link = 'PreProc' }) -- preprocessor #if, #else, #endif, etc. |
||||
|
set_hl('Type', { fg = c.yellow }, { styles = config.styles.types }) -- int, long, char, etc. |
||||
|
set_hl('StorageClass', { fg = c.yellow }) -- static, register, volatile, etc. |
||||
|
set_hl('Structure', { fg = c.yellow }) -- struct, union, enum, etc. |
||||
|
set_hl('Typedef', { fg = c.yellow }) -- A typedef |
||||
|
set_hl('Special', { fg = c.red }) -- special symbol |
||||
|
set_hl('SpecialChar', { link = 'Special' }) -- special character in a constant |
||||
|
set_hl('Tag', { link = 'Special' }) -- you can use CTRL-] on this |
||||
|
set_hl('Delimiter', { fg = c.base00 }) -- character that needs attention |
||||
|
set_hl('SpecialComment', { link = 'Special' }) -- special things inside a comment |
||||
|
set_hl('Debug', { link = 'Special' }) -- debugging statements |
||||
|
set_hl('Underlined', { fg = c.violet }) --text that stands out, HTML links |
||||
|
set_hl('Ignore') --left blank, hidden |hl-Ignore| |
||||
|
set_hl('Error', { fg = c.error, bold = true }) --any erroneous construct |
||||
|
set_hl('Todo', { fg = c.magenta, bold = true }) --anything that needs extra attention; mostly the keywords TODO FIXME and XXX |
||||
|
end |
@ -0,0 +1,43 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('TelescopeSelection', { link = 'Visual' }) |
||||
|
set_hl('TelescopeSelectionCaret', { link = 'TelescopeSelection' }) |
||||
|
set_hl('TelescopeMultiSelection', { link = 'Type' }) |
||||
|
set_hl('TelescopeMultiIcon', { fg = c.cyan }) |
||||
|
|
||||
|
-- "Normal" in the floating windows created by telescope. |
||||
|
set_hl( |
||||
|
'TelescopeNormal', |
||||
|
{ fg = c.base0, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
set_hl('TelescopePreviewNormal', { link = 'TelescopeNormal' }) |
||||
|
set_hl('TelescopePromptNormal', { link = 'TelescopeNormal' }) |
||||
|
set_hl('TelescopeResultsNormal', { link = 'TelescopeNormal' }) |
||||
|
|
||||
|
-- Border highlight groups. |
||||
|
-- Use TelescopeBorder to override the default. |
||||
|
-- Otherwise set them specifically |
||||
|
set_hl('TelescopeBorder', { link = 'WinSeparator' }) |
||||
|
set_hl('TelescopePromptBorder', { link = 'TelescopeBorder' }) |
||||
|
set_hl('TelescopeResultsBorder', { link = 'TelescopeBorder' }) |
||||
|
set_hl('TelescopePreviewBorder', { link = 'TelescopeBorder' }) |
||||
|
|
||||
|
-- Title highlight groups. |
||||
|
-- Use TelescopeTitle to override the default. |
||||
|
-- Otherwise set them specifically |
||||
|
set_hl('TelescopeTitle', { fg = c.blue, reverse = true }) |
||||
|
set_hl('TelescopePromptTitle', { link = 'TelescopeTitle' }) |
||||
|
set_hl('TelescopeResultsTitle', { link = 'TelescopeTitle' }) |
||||
|
set_hl('TelescopePreviewTitle', { link = 'TelescopeTitle' }) |
||||
|
|
||||
|
set_hl('TelescopePromptCounter', { link = 'NonText' }) |
||||
|
|
||||
|
-- Used for highlighting characters that you match. |
||||
|
set_hl('TelescopeMatching', { fg = c.yellow }) |
||||
|
|
||||
|
-- Used for the prompt prefix |
||||
|
set_hl('TelescopePromptPrefix', { fg = c.magenta }) |
||||
|
end |
@ -0,0 +1,50 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local colortool = require('solarized.utils.colors') |
||||
|
local set_hl = utils.set_hl |
||||
|
local colorFunc |
||||
|
local percentage = 80 |
||||
|
|
||||
|
if vim.o.background == 'light' then |
||||
|
colorFunc = colortool.lighten |
||||
|
else |
||||
|
colorFunc = colortool.darken |
||||
|
end |
||||
|
|
||||
|
-- TODO: TODO |
||||
|
-- WARN: WARN |
||||
|
-- TEST: TEST |
||||
|
-- PERF: PERF |
||||
|
-- NOTE: NOTE |
||||
|
-- HACK: HACK |
||||
|
|
||||
|
set_hl('TodoFgTODO', { fg = c.info }) |
||||
|
set_hl('TodoFgWARN', { fg = c.warning }) |
||||
|
set_hl('TodoFgTEST', { fg = c.violet }) |
||||
|
set_hl('TodoFgPERF', { fg = c.magenta }) |
||||
|
set_hl('TodoFgNOTE', { fg = c.hint }) |
||||
|
set_hl('TodoFgHACK', { fg = c.cyan }) |
||||
|
set_hl('TodoFgFIX', { fg = c.error }) |
||||
|
|
||||
|
set_hl('TodoSignTODO', { fg = c.info }) |
||||
|
set_hl('TodoSignWARN', { fg = c.warning }) |
||||
|
set_hl('TodoSignTEST', { fg = c.violet }) |
||||
|
set_hl('TodoSignPERF', { fg = c.magenta }) |
||||
|
set_hl('TodoSignNOTE', { fg = c.hint }) |
||||
|
set_hl('TodoSignHACK', { fg = c.cyan }) |
||||
|
set_hl('TodoSignFIX', { fg = c.error }) |
||||
|
|
||||
|
set_hl('TodoBgTODO', { fg = c.info, bg = colorFunc(c.info, percentage) }) |
||||
|
set_hl( |
||||
|
'TodoBgWARN', |
||||
|
{ fg = c.warning, bg = colorFunc(c.warning, percentage) } |
||||
|
) |
||||
|
set_hl('TodoBgTEST', { fg = c.violet, bg = colorFunc(c.violet, percentage) }) |
||||
|
set_hl( |
||||
|
'TodoBgPERF', |
||||
|
{ fg = c.magenta, bg = colorFunc(c.magenta, percentage) } |
||||
|
) |
||||
|
set_hl('TodoBgNOTE', { fg = c.hint, bg = colorFunc(c.hint, percentage) }) |
||||
|
set_hl('TodoBgHACK', { fg = c.cyan, bg = colorFunc(c.cyan, percentage) }) |
||||
|
set_hl('TodoBgFIX', { fg = c.error, bg = colorFunc(c.error, percentage) }) |
||||
|
end |
@ -0,0 +1,66 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local base04 = darken(c.base03, 10) |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NvimTreeSymlink', { link = 'Underlined' }) |
||||
|
set_hl('NvimTreeSymlinkIcon', { link = 'Directory' }) |
||||
|
-- set_hl('NvimTreeSymlinkFolderName') -- (Directory) |
||||
|
set_hl('NvimTreeFolderName', { fg = c.base0 }) -- (Directory) |
||||
|
set_hl('NvimTreeRootFolder', { link = 'Title' }) |
||||
|
set_hl('NvimTreeFolderIcon', { link = 'Directory' }) |
||||
|
-- set_hl('NvimTreeOpenedFolderIcon') -- (NvimTreeFolderIcon) |
||||
|
-- set_hl('NvimTreeClosedFolderIcon') -- (NvimTreeFolderIcon) |
||||
|
-- set_hl('NvimTreeFileIcon') |
||||
|
set_hl('NvimTreeEmptyFolderName', { fg = c.base0 }) -- (Directory) |
||||
|
-- set_hl('NvimTreeOpenedFolderName') -- (Directory) |
||||
|
set_hl('NvimTreeExecFile', { link = 'Function' }) |
||||
|
set_hl('NvimTreeOpenedFile', { fg = c.blue, bold = true }) |
||||
|
set_hl('NvimTreeModifiedFile', { fg = c.change }) |
||||
|
set_hl('NvimTreeSpecialFile', { link = 'Special' }) |
||||
|
-- set_hl('NvimTreeImageFile') |
||||
|
set_hl('NvimTreeIndentMarker', { fg = c.base01 }) |
||||
|
-- set_hl('NvimTreeLspDiagnosticsError') -- (DiagnosticError) |
||||
|
-- set_hl('NvimTreeLspDiagnosticsWarning') -- (DiagnosticWarn) |
||||
|
set_hl('NvimTreeLspDiagnosticsInformation') -- (DiagnosticInfo) |
||||
|
set_hl('NvimTreeLspDiagnosticsHint') -- (DiagnosticHint) |
||||
|
set_hl('NvimTreeGitDirty', { fg = c.change }) |
||||
|
set_hl('NvimTreeGitStaged', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitMerge', { fg = c.change }) |
||||
|
set_hl('NvimTreeGitRenamed', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitNew', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitDeleted', { fg = c.delete }) |
||||
|
-- set_hl('NvimTreeGitIgnored') -- (Comment) |
||||
|
-- set_hl('NvimTreeWindowPicker') |
||||
|
set_hl( |
||||
|
'NvimTreeNormal', |
||||
|
{ fg = c.base0, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
set_hl('NvimTreeNormalFloat', { link = 'NvimTreeNormal' }) |
||||
|
set_hl('NvimTreeEndOfBuffer', { fg = base04 }) -- (NonText) |
||||
|
-- set_hl('NvimTreeCursorLine') -- (CursorLine) |
||||
|
-- set_hl('NvimTreeCursorLineNr') -- (CursorLineNr) |
||||
|
-- set_hl('NvimTreeLineNr') -- (LineNr) |
||||
|
set_hl( |
||||
|
'NvimTreeWinSeparator', |
||||
|
{ fg = base04, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- (WinSeparator) |
||||
|
-- set_hl('NvimTreeCursorColumn') -- (CursorColumn) |
||||
|
-- |
||||
|
-- There are also links for file highlight with git properties, linked to their |
||||
|
-- Git equivalent: |
||||
|
-- |
||||
|
-- set_hl('NvimTreeFileDirty') -- (NvimTreeGitDirty) |
||||
|
-- set_hl('NvimTreeFileStaged') -- (NvimTreeGitStaged) |
||||
|
-- set_hl('NvimTreeFileMerge') -- (NvimTreeGitMerge) |
||||
|
-- set_hl('NvimTreeFileRenamed') -- (NvimTreeGitRenamed) |
||||
|
-- set_hl('NvimTreeFileNew') -- (NvimTreeGitNew) |
||||
|
-- set_hl('NvimTreeFileDeleted') -- (NvimTreeGitDeleted) |
||||
|
-- set_hl('NvimTreeFileIgnored') -- (NvimTreeGitIgnored) |
||||
|
-- set_hl('NvimTreeLiveFilterPrefix') |
||||
|
-- set_hl('NvimTreeLiveFilterValue') |
||||
|
-- set_hl('NvimTreeBookmark') |
||||
|
end |
@ -0,0 +1,114 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
--[[ Highlight capture names as of nvim-treesitter commit `6806d7a` ]] |
||||
|
-- |
||||
|
|
||||
|
-- Identifiers |
||||
|
set_hl('@variable', { link = 'Identifier' }) -- various variable names |
||||
|
set_hl('@variable.builtin', { link = 'Identifier' }) -- built-in variable names (e.g. `this`) |
||||
|
set_hl( |
||||
|
'@variable.parameter', |
||||
|
{ fg = c.base0, italic = true }, |
||||
|
{ styles = config.styles.parameters } |
||||
|
) -- parameters of a function |
||||
|
set_hl('@variable.member', { fg = c.blue }) -- object and struct fields |
||||
|
set_hl('@constant', { link = 'Constant' }) -- constant identifiers |
||||
|
set_hl('@constant.builtin', { link = 'Constant' }) -- built-in constant values |
||||
|
set_hl('@constant.macro', { link = 'Constant' }) -- constants defined by the preprocessor |
||||
|
set_hl('@module', { fg = c.violet }) -- modules or namespaces |
||||
|
set_hl('@module.builtin', { fg = c.cyan }) -- built-in modules or namespaces |
||||
|
set_hl('@label', { link = 'Label' }) -- GOTO and other labels (e.g. `label:` in C), including heredoc labels |
||||
|
|
||||
|
-- Literals |
||||
|
set_hl('@string', { link = 'String' }) -- string literals |
||||
|
set_hl('@string.documentation', { link = 'Comment' }) -- string documenting code (e.g. Python docstrings) |
||||
|
set_hl('@string.regexp', { fg = c.violet }) -- regular expressions |
||||
|
set_hl('@string.escape', { link = 'Keyword' }) -- escape sequences |
||||
|
set_hl('@string.special', { link = 'SpecialChar' }) -- other special strings (e.g. dates) |
||||
|
set_hl('@string.special.symbol', { fg = c.violet }) -- symbols or atoms |
||||
|
set_hl('@string.special.url', { link = 'Underlined' }) -- URIs (e.g. hyperlinks) |
||||
|
set_hl('@string.special.path', { link = 'Underlined' }) -- filenames |
||||
|
set_hl('@character', { link = 'String' }) -- character literals |
||||
|
set_hl('@character.special', { link = '@string.special' }) -- special characters (e.g. wildcards) |
||||
|
set_hl('@character.printf', { fg = c.violet }) -- special characters (e.g. wildcards) |
||||
|
set_hl('@boolean', { link = 'Boolean' }) -- boolean literals |
||||
|
set_hl('@number', { link = 'Number' }) -- numeric literals |
||||
|
set_hl('@number.float', { link = 'Float' }) -- floating-point number literals |
||||
|
|
||||
|
-- Types |
||||
|
set_hl('@type', { link = 'Type' }) -- type or class definitions and annotations |
||||
|
set_hl('@type.builtin', { link = 'Type' }) -- built-in types |
||||
|
set_hl('@type.definition', { link = 'Type' }) -- identifiers in type definitions (e.g. `typedef <type> <identifier>` in C) |
||||
|
set_hl('@type.qualifier', { link = 'Keyword' }) -- type qualifiers (e.g. `const`) |
||||
|
set_hl('@attribute', { link = 'Function' }) -- attribute annotations (e.g. Python decorators) |
||||
|
set_hl('@property', { link = '@variable.member' }) -- the key in key/value pairs |
||||
|
|
||||
|
-- Functions |
||||
|
set_hl('@function', { link = 'Function' }) -- function definitions |
||||
|
set_hl('@function.builtin', { link = 'Function' }) -- built-in functions |
||||
|
set_hl('@function.call', { link = 'Function' }) -- function calls |
||||
|
set_hl('@function.macro', { link = 'Function' }) -- preprocessor macros |
||||
|
set_hl('@function.method', { link = 'Function' }) -- method definitions |
||||
|
set_hl('@function.method.call', { link = 'Function' }) -- method calls |
||||
|
set_hl('@constructor', { link = 'Function' }) -- constructor calls and definitions |
||||
|
set_hl('@operator', { link = 'Operator' }) -- symbolic operators (e.g. `+` / `*`) |
||||
|
|
||||
|
-- Keywords |
||||
|
set_hl('@keyword', { link = 'Keyword' }) -- keywords not fitting into specific categories |
||||
|
set_hl('@keyword.coroutine', { link = 'Statement' }) -- keywords related to coroutines (e.g. `go` in Go, `async/await` in Python) |
||||
|
set_hl('@keyword.function', { link = 'Keyword' }) -- keywords that define a function (e.g. `func` in Go, `def` in Python) |
||||
|
set_hl('@keyword.operator', { link = 'Operator' }) -- operators that are English words (e.g. `and` / `or`) |
||||
|
set_hl('@keyword.import', { link = 'Include' }) -- keywords for including modules (e.g. `import` / `from` in Python) |
||||
|
set_hl('@keyword.storage', { link = 'StorageClass' }) -- modifiers that affect storage in memory or life-time |
||||
|
set_hl('@keyword.repeat', { link = 'Repeat' }) -- keywords related to loops (e.g. `for` / `while`) |
||||
|
set_hl('@keyword.return', { link = 'Statement' }) -- keywords like `return` and `yield` |
||||
|
set_hl('@keyword.debug', { link = 'Debug' }) -- keywords related to debugging |
||||
|
set_hl('@keyword.exception', { link = 'Exception' }) -- keywords related to exceptions (e.g. `throw` / `catch`) |
||||
|
set_hl('@keyword.conditional', { link = 'Conditional' }) -- keywords related to conditionals (e.g. `if` / `else`) |
||||
|
set_hl('@keyword.conditional.ternary', { link = 'Conditional' }) -- ternary operator (e.g. `?` / `:`) |
||||
|
set_hl('@keyword.directive', { link = 'PreProc' }) -- various preprocessor directives & shebangs |
||||
|
set_hl('@keyword.directive.define', { link = 'Define' }) -- preprocessor definition directives |
||||
|
|
||||
|
-- Punctuations |
||||
|
set_hl('@punctuation.delimiter', { link = 'Delimiter' }) -- delimiters (e.g. `;` / `.` / `,`) |
||||
|
set_hl('@punctuation.bracket', { link = 'Delimiter' }) -- brackets (e.g. `()` / `{}` / `[]`) |
||||
|
set_hl('@punctuation.special', { link = 'Delimiter' }) -- special symbols (e.g. `{}` in string interpolation) |
||||
|
|
||||
|
-- Comments |
||||
|
set_hl('@comment', { link = 'Comment' }) -- line and block comments |
||||
|
set_hl('@comment.documentation', { link = 'Comment' }) -- comments documenting code |
||||
|
set_hl('@comment.error', { fg = c.error }) -- error-type comments (e.g. `ERROR`, `FIXME`, `DEPRECATED:`) |
||||
|
set_hl('@comment.warning', { fg = c.warning }) -- warning-type comments (e.g. `WARNING:`, `FIX:`, `HACK:`) |
||||
|
set_hl('@comment.todo', { link = 'Todo' }) -- todo-type comments (e.g. `TODO:`, `WIP:`, `FIXME:`) |
||||
|
set_hl('@comment.note', { fg = c.info }) -- note-type comments (e.g. `NOTE:`, `INFO:`, `XXX`) |
||||
|
|
||||
|
-- Markups |
||||
|
set_hl('@markup.strong', { fg = c.yellow }) -- bold text |
||||
|
set_hl('@markup.italic', { fg = c.yellow, italic = true }) -- italic text |
||||
|
set_hl('@markup.strikethrough', { fg = c.base01, strikethrough = true }) -- struck-through text |
||||
|
set_hl('@markup.underline', { link = 'Underlined' }) -- underlined text (only for literal underline markup!) |
||||
|
set_hl('@markup.heading', { link = 'Title' }) -- headings, titles (including markers) |
||||
|
set_hl('@markup.quote', { fg = c.cyan }) -- block quotes |
||||
|
set_hl('@markup.math', { link = 'Number' }) -- math environments (e.g. `$ ... $` in LaTeX) |
||||
|
set_hl('@markup.environment', { fg = c.base0 }) -- environments (e.g. in LaTeX) |
||||
|
set_hl('@markup.link', { link = 'Underlined' }) -- text references, footnotes, citations, etc. |
||||
|
set_hl('@markup.link.label', { link = 'Constant' }) -- link, reference descriptions |
||||
|
set_hl('@markup.link.url', { link = 'Underlined' }) -- URL-style links |
||||
|
set_hl('@markup.raw', { fg = c.base0 }) -- literal or verbatim text (e.g., inline code) |
||||
|
set_hl('@markup.raw.block', { fg = c.base0 }) -- literal or verbatim text as a stand-alone block (use priority 90 for blocks with injections) |
||||
|
set_hl('@markup.list', { link = 'Delimiter' }) -- list markers |
||||
|
set_hl('@markup.list.checked', { link = 'Delimiter' }) -- checked todo-style list markers |
||||
|
set_hl('@markup.list.unchecked', { link = 'Delimiter' }) -- unchecked todo-style list markers |
||||
|
|
||||
|
-- Diffs |
||||
|
set_hl('@diff.plus', { fg = c.add }) -- added text (for diff files) |
||||
|
set_hl('@diff.minus', { fg = c.delete }) -- deleted text (for diff files) |
||||
|
set_hl('@diff.delta', { fg = c.change }) -- changed text (for diff files) |
||||
|
|
||||
|
-- Tags |
||||
|
set_hl('@tag', { fg = c.blue, bold = true }) -- XML-style tag names (and similar) |
||||
|
set_hl('@tag.attribute', { fg = c.violet }) -- XML-style tag attributes |
||||
|
set_hl('@tag.delimiter', { fg = c.base01 }) -- XML-style tag delimiters |
||||
|
end |
@ -0,0 +1,12 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('WhichKey', { fg = c.base0 }) -- the key |
||||
|
set_hl('WhichKeyGroup', { fg = c.blue }) -- a group |
||||
|
set_hl('WhichKeySeparator', { fg = c.magenta }) -- the separator between the key and its label |
||||
|
set_hl('WhichKeyDesc', { fg = c.base2 }) -- the label of the key |
||||
|
-- set_hl('WhichKeyFloat') -- Normal in the popup window |
||||
|
-- set_hl('WhichKeyBorder', { link = 'WinSeparator' }) |
||||
|
-- set_hl('WhichKeyValue') -- used by plugins that provide values |
||||
|
end |
@ -0,0 +1,16 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- When `termguicolors` is enabled, this plugin is designed to work automatically, |
||||
|
-- deriving colours from the user's theme. |
||||
|
-- |
||||
|
-- My attempt to fix bufferline on transparent background |
||||
|
if config.transparent then |
||||
|
set_hl('BufferLineFill', { bg = c.base02 }) |
||||
|
set_hl('BufferLineBufferSelected', { fg = c.base2, italic = true }) |
||||
|
set_hl('BufferLineSeparator', { fg = c.base02 }) |
||||
|
set_hl('BufferLineSeparatorSelected', { fg = c.base02 }) |
||||
|
set_hl('BufferLineSeparatorVisible', { fg = c.base02 }) |
||||
|
end |
||||
|
end |
@ -0,0 +1,36 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- set_hl('CmpItemAbbr') -- Highlight group for unmatched characters of each completion field. |
||||
|
set_hl('CmpItemAbbrDeprecated', { fg = c.base1, strikethrough = true }) -- Highlight group for unmatched characters of each deprecated completion field. |
||||
|
set_hl('CmpItemAbbrMatch', { link = 'IncSearch' }) -- Highlight group for matched characters of each completion field. |
||||
|
set_hl('CmpItemAbbrMatchFuzzy', { link = 'IncSearch' }) -- Highlight group for fuzzy-matched characters of each completion field. |
||||
|
-- set_hl('CmpItemKind') -- Highlight group for the kind of the field. |
||||
|
-- set_hl('CmpItemMenu') -- The menu field's highlight group. |
||||
|
|
||||
|
set_hl('CmpItemKindReference', { link = 'Underlined' }) |
||||
|
set_hl('CmpItemKindUnit', { link = 'Number' }) |
||||
|
set_hl('CmpItemKindEnum', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindField', { link = '@field' }) |
||||
|
set_hl('CmpItemKindClass', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindFile', { fg = c.base0 }) |
||||
|
set_hl('CmpItemKindProperty', { link = '@field' }) |
||||
|
set_hl('CmpItemKindMethod', { link = 'Function' }) |
||||
|
set_hl('CmpItemKindKeyword', { link = 'Keyword' }) |
||||
|
set_hl('CmpItemKindFolder', { link = 'Directory' }) |
||||
|
set_hl('CmpItemKindSnippet', { link = 'Keyword' }) |
||||
|
set_hl('CmpItemKindVariable', { link = 'Identifier' }) |
||||
|
set_hl('CmpItemKindStruct', { link = 'Structure' }) |
||||
|
set_hl('CmpItemKindInterface', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindTypeParameter', { link = 'Type' }) |
||||
|
set_hl('CmpItemKindEnumMember', { link = 'Constant' }) |
||||
|
set_hl('CmpItemKindEvent', { fg = c.base2 }) |
||||
|
set_hl('CmpItemKindConstructor', { link = '@constructor' }) |
||||
|
set_hl('CmpItemKindConstant', { link = 'Constant' }) |
||||
|
set_hl('CmpItemKindModule', { link = '@namespace' }) |
||||
|
set_hl('CmpItemKindValue', { fg = c.base2 }) |
||||
|
set_hl('CmpItemKindColor', { fg = c.magenta }) |
||||
|
set_hl('CmpItemKindFunction', { link = 'Function' }) |
||||
|
set_hl('CmpItemKindText', { link = 'String' }) |
||||
|
end |
@ -0,0 +1,23 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- general |
||||
|
set_hl('DashboardHeader', { fg = c.red }) |
||||
|
set_hl('DashboardFooter', { fg = c.violet }) |
||||
|
|
||||
|
-- Hyper |
||||
|
set_hl('DashboardProjectTitle', { fg = c.blue }) |
||||
|
set_hl('DashboardProjectTitleIcon', { link = 'DashboardProjectTitle' }) |
||||
|
set_hl('DashboardProjectIcon', { link = 'Directory' }) |
||||
|
set_hl('DashboardMruTitle', { link = 'DashboardProjectTitle' }) |
||||
|
set_hl('DashboardMruIcon', { link = 'DashboardMruTitle' }) |
||||
|
set_hl('DashboardFiles', { fg = c.base0 }) |
||||
|
set_hl('DashboardShotCutIcon', { fg = c.magenta }) |
||||
|
|
||||
|
-- Doom theme |
||||
|
set_hl('DashboardDesc', { fg = c.base00 }) |
||||
|
set_hl('DashboardKey', { fg = c.magenta }) |
||||
|
set_hl('DashboardIcon', { link = 'Directory' }) |
||||
|
set_hl('DashboardShotCut', { fg = c.base00 }) |
||||
|
end |
@ -0,0 +1,32 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('DiagnosticError', { fg = c.error }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticWarn', { fg = c.warning }) --Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticInfo', { fg = c.info }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticHint', { fg = c.hint }) -- Used as the base highlight group.(except Underline) |
||||
|
set_hl('DiagnosticOk', { fg = c.cyan }) -- Used as the base highlight group.(except Underline) |
||||
|
-- set_hl('DiagnosticVirtualTextError') -- Used for "Error" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextWarn') -- Used for "Warn" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextInfo') -- Used for "Info" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextHint') -- Used for "Hint" diagnostic virtual text. |
||||
|
-- set_hl('DiagnosticVirtualTextOk') -- Used for "Ok" diagnostic virtual text. |
||||
|
set_hl('DiagnosticUnderlineError', { fg = c.error, sp = c.error }) --Used to underline "Error" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineWarn', { fg = c.warning, sp = c.warning }) -- Used to underline "Warn" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineInfo', { fg = c.info, sp = c.info }) -- Used to underline "Info" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineHint', { fg = c.hint, sp = c.hint }) -- Used to underline "Hint" diagnostics. |
||||
|
set_hl('DiagnosticUnderlineOk', { fg = c.cyan, sp = c.cyan }) -- Used to underline "Ok" diagnostics. |
||||
|
-- set_hl('DiagnosticFloatingError') -- Used to color "Error" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingWarn') -- Used to color "Warn" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingInfo') -- Used to color "Info" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingHint') -- Used to color "Hint" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticFloatingOk') -- Used to color "Ok" diagnostic messages in diagnostics float. |
||||
|
-- set_hl('DiagnosticSignError') -- Used for "Error" signs in sign column. |
||||
|
-- set_hl('DiagnosticSignWarn') -- Used for "Warn" signs in sign column. |
||||
|
-- set_hl('DiagnosticSignInfo') -- Used for "Info" signs in sign column. |
||||
|
-- set_hl('DiagnosticSignHint') -- Used for "Hint" signs in sign column. |
||||
|
-- set_hl('DiagnosticSignOk') -- Used for "Ok" signs in sign column. |
||||
|
-- set_hl('DiagnosticDeprecated') -- Used for deprecated or obsolete code. |
||||
|
-- set_hl('DiagnosticUnnecessary') -- Used for unnecessary or unused code. |
||||
|
end |
@ -0,0 +1,109 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local base04 = darken(c.base03, 10) |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
if config.transparent then |
||||
|
set_hl('ColorColumn', { bg = c.base02 }) -- used for columns |
||||
|
else |
||||
|
set_hl('ColorColumn', { bg = base04 }) -- used for columns |
||||
|
end |
||||
|
|
||||
|
set_hl('Conceal', { fg = c.blue }) -- placeholder characters |
||||
|
set_hl('CurSearch', { fg = c.base2, bg = c.base02 }) -- highlight under cursor |
||||
|
set_hl('Cursor', { fg = c.base03, bg = c.cyan }) -- character under cursor |
||||
|
set_hl('lCursor', { link = 'Cursor' }) -- character under the cursor |
||||
|
set_hl('CursorIM', { link = 'Cursor' }) -- like cursor, but IME mode |
||||
|
set_hl('CursorColumn', { link = 'ColorColumn' }) -- screen-column at the cursor |
||||
|
set_hl('CursorLine') -- screen-line at the cursor |
||||
|
set_hl('Directory', { fg = c.orange }) -- directory names |
||||
|
set_hl('DiffAdd', { fg = c.add }) -- Added line |
||||
|
set_hl('DiffChange', { fg = c.change }) -- Changed line |
||||
|
set_hl('DiffDelete', { fg = c.base03, bg = c.delete }) -- Deleted line |
||||
|
set_hl('DiffText', { fg = c.blue, reverse = true }) -- Changed Text |
||||
|
set_hl('EndOfBuffer', { fg = c.base03 }) -- Filler lines (~) |
||||
|
set_hl('TermCursor', { link = 'Cursor' }) -- Cursor in a focused terminal |
||||
|
set_hl('TermCursorNC', { fg = c.base03, bg = c.base0 }) -- Cursor in an unfocused terminal |
||||
|
set_hl('ErrorMsg', { fg = c.error }) -- Error messages on the command line |
||||
|
set_hl( |
||||
|
'WinSeparator', |
||||
|
{ fg = c.cyan, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Separators between window splits |
||||
|
set_hl('Folded', { fg = c.base0, bg = c.base02 }) -- Line used for closed folds |
||||
|
set_hl('FoldColumn', { fg = c.base0, bg = base04 }) -- 'foldcolumn' |
||||
|
set_hl( |
||||
|
'SignColumn', |
||||
|
{ fg = c.base0, bg = c.base03 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Column were signs are displayed |
||||
|
set_hl( |
||||
|
'IncSearch', |
||||
|
{ fg = c.base3, bg = base04, bold = true }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- 'incsearch' highlighting, also for the text replaced |
||||
|
set_hl('Substitute', { fg = c.orange, reverse = true }) -- :substitute replacement text highlight |
||||
|
set_hl( |
||||
|
'LineNr', |
||||
|
{ fg = c.base01, bg = c.base03 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Line number for ":number" and ":#" commands |
||||
|
set_hl('LineNrAbove', { link = 'LineNr' }) -- Line number, above the cursor line |
||||
|
set_hl('LineNrBelow', { link = 'LineNr' }) -- Line number, below the cursor |
||||
|
set_hl( |
||||
|
'CursorLineNr', |
||||
|
{ fg = c.base2, bg = c.base03 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Like LineNr when 'cursorline' is set |
||||
|
set_hl('CursorLineFold', { link = 'FoldColumn' }) -- Like FoldColumn when 'cursorline' is set |
||||
|
set_hl('CursorLineSign', { link = 'SignColumn' }) -- Like SignColumn when 'cursorline' is set |
||||
|
set_hl('MatchParen', { fg = c.base2 }) -- Character under the cursor or just before it |
||||
|
set_hl('ModeMsg', { link = 'Normal' }) -- 'showmode' message (e.g., "-- INSERT --") |
||||
|
set_hl('MsgArea', { link = 'Normal' }) -- 'Area for messages and cmdline' |
||||
|
set_hl('MsgSeparator', { link = 'Normal' }) -- Separator for scrolled messages msgsep. |
||||
|
set_hl('MoreMsg', { fg = c.cyan }) -- more-prompt |
||||
|
set_hl('NonText', { fg = c.base00 }) -- '@' at the end of the window |
||||
|
set_hl( |
||||
|
'Normal', |
||||
|
{ fg = c.base0, bg = c.base03 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Normal text |
||||
|
set_hl('NormalFloat', { fg = c.base0, bg = base04 }) -- Normal text in floating windows |
||||
|
set_hl('FloatBorder', { link = 'WinSeparator' }) -- Border of floating windows. |
||||
|
set_hl('FloatTitle', { fg = c.orange }) -- Title of float windows. |
||||
|
set_hl('NormalNC', { link = 'Normal' }) -- Normal text in non-current windows. |
||||
|
set_hl( |
||||
|
'Pmenu', |
||||
|
{ fg = c.base0, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- Popup menu: Normal item |
||||
|
set_hl('PmenuSel', { fg = c.base2 }) -- Popup menu: Selected item |
||||
|
set_hl('PmenuKind', { link = 'Pmenu' }) -- Popup menu: Normal item kind |
||||
|
set_hl('PmenuKindSel', { link = 'PmenuSel' }) -- Popup menu: Selected item kind |
||||
|
set_hl('PmenuExtra', { link = 'Pmenu' }) -- Popup menu: Normal item extra text |
||||
|
set_hl('PmenuExtraSel', { link = 'PmenuSel' }) -- Popup menu: Selected item extra text |
||||
|
set_hl('PmenuSbar', { bg = base04 }) -- Popup menu: Scrollbar |
||||
|
set_hl('PmenuThumb', { bg = c.base1 }) -- Popup menu: Thumb of the scrollbar |
||||
|
set_hl('Question', { fg = c.cyan, bg = c.base03 }) -- hit-enter prompt and yes/no questions. |
||||
|
set_hl('QuickFixLine', { fg = c.base0, bg = c.base03 }) -- Current quickfix item in the quickfix window |
||||
|
set_hl('Search', { bg = c.base02 }) -- Last search pattern highlighting |
||||
|
set_hl('SpecialKey', { fg = c.red }) -- Unprintable characters: Text displayed differently from what it really is. |
||||
|
set_hl('SpellBad', { fg = c.error, sp = c.error, underline = true }) -- Word that is not recognized by the spellchecker. |
||||
|
set_hl('SpellCap', { fg = c.hint, sp = c.hint, underline = true }) -- Word that should start with a capital |
||||
|
set_hl('SpellLocal', { fg = c.info, sp = c.info, underline = true }) -- Word that is recognized by the spellchecker as one that is used in another region |
||||
|
set_hl('SpellRare', { fg = c.warning, sp = c.warning, underline = true }) -- Word that is recognized by the spellchecker as one that is hardly ever used. |
||||
|
set_hl('StatusLine', { fg = c.base1, bg = base04 }) -- Status line of current window. |
||||
|
set_hl('StatusLineNC', { fg = c.base00, bg = base04 }) -- Status lines of not-current windows. |
||||
|
set_hl('TabLine', { bg = base04 }) -- Tab pages line, not active tab page label. |
||||
|
set_hl('TabLineFill', { fg = c.base0, bg = base04 }) -- Tab pages line, where there are no labels. |
||||
|
set_hl('TabLineSel', { fg = c.base2, bg = c.base03 }) -- Tab pages line, active tab page label. |
||||
|
set_hl('Title', { fg = c.orange }) -- Titles for output from ":set all", ":autocmd" etc. |
||||
|
set_hl('Visual', { bg = c.base02 }) -- Visual mode selection. |
||||
|
set_hl('VisualNOS', { link = 'Visual' }) -- Visual mode selection when vim is "Not Owning the Selection". |
||||
|
set_hl('WarningMsg', { fg = c.warning }) -- Warning messages. |
||||
|
set_hl('Whitespace', { fg = c.base01 }) -- "nbsp", "space", "tab", "multispace", "lead" and "trail" in 'listchars'. |
||||
|
set_hl('WildMenu', { bg = c.base02 }) -- Current match in 'wildmenu' completion. |
||||
|
set_hl('WinBar', { link = 'Pmenu' }) -- Window bar of current window. |
||||
|
set_hl('WinBarNC', { link = 'WinBar' }) -- Window bar of not-current windows. |
||||
|
end |
@ -0,0 +1,8 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('GitSignsAdd', { fg = c.add }) -- Used for the text of 'add' signs |
||||
|
set_hl('GitSignsChange', { fg = c.change }) -- Used for the text of 'change' signs |
||||
|
set_hl('GitSignsDelete', { fg = c.delete }) -- Used for the text of 'delete' signs |
||||
|
end |
@ -0,0 +1,9 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('HopNextKey', { fg = c.magenta }) |
||||
|
set_hl('HopNextKey1', { fg = c.blue }) |
||||
|
set_hl('HopNextKey2', { fg = '#1b6294' }) |
||||
|
set_hl('HopUnmatched', { fg = c.base01 }) |
||||
|
end |
@ -0,0 +1,32 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local colortool = require('solarized.utils.colors') |
||||
|
local darken = colortool.darken |
||||
|
local lighten = colortool.lighten |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
if vim.o.background == 'dark' then |
||||
|
set_hl('IndentBlanklineChar', { fg = darken(c.green, 20) }) -- Highlight of indent character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineSpaceChar', { link = 'IndentBlanklineChar' }) -- Highlight of space character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineContextChar', { fg = c.green }) -- Highlight of indent character when base of current context. Default: Label |
||||
|
set_hl( |
||||
|
'IndentBlanklineContextSpaceChar', |
||||
|
{ link = 'IndentBlanklineContextChar' } |
||||
|
) -- Highlight of space characters one indent level of the current context. Default: Label |
||||
|
set_hl('IblIndent', { fg = darken(c.green, 20), nocombine = true }) |
||||
|
set_hl('IblScope', { fg = c.green, nocombine = true }) |
||||
|
else |
||||
|
set_hl('IndentBlanklineChar', { fg = lighten(c.blue, 20) }) -- Highlight of indent character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineSpaceChar', { link = 'IndentBlanklineChar' }) -- Highlight of space character. Default: Whitespace |
||||
|
set_hl('IndentBlanklineContextChar', { fg = c.blue }) -- Highlight of indent character when base of current context. Default: Label |
||||
|
set_hl( |
||||
|
'IndentBlanklineContextSpaceChar', |
||||
|
{ link = 'IndentBlanklineContextChar' } |
||||
|
) -- Highlight of space characters one indent level of the current context. Default: Label |
||||
|
set_hl('IblIndent', { fg = lighten(c.blue, 20), nocombine = true }) |
||||
|
set_hl('IblScope', { fg = c.blue, nocombine = true }) |
||||
|
end |
||||
|
|
||||
|
-- set_hl('IndentBlanklineSpaceCharBlankline', {}) -- Highlight of space character on blank lines. Default: Whitespace |
||||
|
-- set_hl('IndentBlanklineContextStart', {}) -- Highlight of the first line of the current context. Default: Label |
||||
|
end |
@ -0,0 +1,24 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local colortool = require('solarized.utils.colors') |
||||
|
local darken = colortool.darken |
||||
|
local lighten = colortool.lighten |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('LspReferenceText', { link = 'Visual' }) -- used for highlighting "text" references |
||||
|
set_hl('LspReferenceRead', { link = 'Visual' }) -- used for highlighting "read" references |
||||
|
set_hl('LspReferenceWrite', { link = 'Visual' }) -- used for highlighting "write" references |
||||
|
|
||||
|
if vim.o.background == 'dark' then |
||||
|
set_hl('LspInlayHint', { fg = darken(c.yellow, 20) }) -- used for highlighting inlay hints |
||||
|
else |
||||
|
set_hl('LspInlayHint', { fg = lighten(c.yellow, 20) }) |
||||
|
end |
||||
|
|
||||
|
-- if you want to me to enable the highlight groups bellow, please send a screenshot for me to see how |
||||
|
-- they look like or how to config for me to test. |
||||
|
|
||||
|
-- set_hl('LspCodelens') -- Used to color the virtual text of the codelens. |
||||
|
-- set_hl('LspCodeLensSeparator') -- Used to color the separator between two or more code lenses. |
||||
|
-- set_hl('LspSignatureActiveParameter') -- Used to highlight the active parameter in the signature help. See |
||||
|
end |
@ -0,0 +1,55 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- Float window |
||||
|
set_hl('SagaNormal', { link = 'Pmenu' }) |
||||
|
set_hl( |
||||
|
'TitleString', |
||||
|
{ fg = c.orange, bold = true, bg = c.base02 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
|
||||
|
-- Outline |
||||
|
set_hl('OutlineIndent', { fg = c.green }) |
||||
|
|
||||
|
set_hl('SagaWinbarModule', { link = '@namespace' }) |
||||
|
set_hl('SagaWinbarInterface', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarConstructor', { link = '@constructor' }) |
||||
|
set_hl('SagaWinbarStruct', { link = 'Structure' }) |
||||
|
set_hl('SagaWinbarObject', { link = '@field' }) |
||||
|
set_hl('SagaWinbarUnit', { link = 'Number' }) |
||||
|
set_hl('SagaWinbarFile', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarSnippet', { link = 'Keyword' }) |
||||
|
set_hl('SagaWinbarText', { fg = c.base1 }) |
||||
|
set_hl('SagaWinbarTypeAlias', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarEvent', { fg = c.base2 }) |
||||
|
set_hl('SagaWinbarParameter', { link = '@parameter' }) |
||||
|
set_hl('SagaWinbarKey', { link = '@field' }) |
||||
|
set_hl('SagaWinbarValue', { fg = c.base2 }) |
||||
|
set_hl('SagaWinbarMacro', { link = 'Macro' }) |
||||
|
set_hl('SagaWinbarNumber', { link = 'Number' }) |
||||
|
set_hl('SagaWinbarConstant', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarFunction', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarEnum', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarField', { link = '@field' }) |
||||
|
set_hl('SagaWinbarProperty', { link = '@field' }) |
||||
|
set_hl('SagaWinbarMethod', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarClass', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarFolder', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarPackage', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarStaticMethod', { link = 'Function' }) |
||||
|
set_hl('SagaWinbarTypeParameter', { link = 'Type' }) |
||||
|
set_hl('SagaWinbarEnumMember', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarOperator', { link = 'Operator' }) |
||||
|
set_hl('SagaWinbarNull', { link = 'Constant' }) |
||||
|
set_hl('SagaWinbarNamespace', { link = '@namespace' }) |
||||
|
set_hl('SagaWinbarArray', { link = 'Delimiter' }) |
||||
|
set_hl('SagaWinbarBoolean', { link = 'Boolean' }) |
||||
|
set_hl('SagaWinbarString', { link = 'String' }) |
||||
|
set_hl('SagaWinbarVariable', { link = 'Identifier' }) |
||||
|
set_hl('SagaWinbarFilename', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarFolderName', { fg = c.base0 }) |
||||
|
set_hl('SagaWinbarFileIcon', { link = 'Directory' }) |
||||
|
set_hl('SagaWinbarSep', { link = 'Keyword' }) |
||||
|
end |
@ -0,0 +1,38 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- MiniCursor |
||||
|
set_hl('MiniCursorword', { bg = c.base02 }) |
||||
|
|
||||
|
-- MiniStatusLine |
||||
|
set_hl('MiniStatuslineModeNormal', { fg = c.base03, bg = c.blue }) |
||||
|
set_hl('MiniStatuslineModeInsert', { fg = c.base03, bg = c.green }) |
||||
|
set_hl('MiniStatuslineModeVisual', { fg = c.base03, bg = c.magenta }) |
||||
|
set_hl('MiniStatuslineModeReplace', { fg = c.base03, bg = c.red }) |
||||
|
set_hl('MiniStatuslineModeCommand', { fg = c.base03, bg = c.orange }) |
||||
|
set_hl('MinistatusLineFileName', { fg = c.base0, bg = c.base02 }) |
||||
|
set_hl('MiniStatuslineDevinfo', { fg = c.base03, bg = c.base1 }) |
||||
|
set_hl('MiniStatuslineFileinfo', { fg = c.base03, bg = c.base1 }) |
||||
|
set_hl('MiniStatuslineInactive', { fg = c.base01, bg = c.base03 }) |
||||
|
|
||||
|
-- MiniTabLine |
||||
|
set_hl('MiniTablineCurrent', { fg = c.base2, bg = c.base1 }) |
||||
|
set_hl('MiniTablineVisible', { fg = c.base2, bg = c.base03 }) |
||||
|
set_hl('MiniTablineHidden', { fg = c.base01, bg = c.base03 }) |
||||
|
set_hl('MiniTablineModifiedCurrent', { link = 'MiniTabLineCurrent' }) |
||||
|
set_hl('MiniTablineModifiedVisible', { link = 'MiniTablineVisible' }) |
||||
|
set_hl('MiniTablineModifiedHidden', { link = 'MiniTablineHidden' }) |
||||
|
set_hl('MiniTablineFill', { link = 'NormalFloat' }) |
||||
|
set_hl('MiniTablineTabpagesection', { link = 'NormalFloat' }) |
||||
|
|
||||
|
-- MiniStarter |
||||
|
set_hl('MiniStarterCurrent', { link = 'CursorLine' }) |
||||
|
set_hl('MiniStarterHeader', { fg = c.base00 }) |
||||
|
set_hl('MiniStarterFooter', { fg = c.base00 }) |
||||
|
set_hl('MiniStarterItem', { fg = c.base0 }) |
||||
|
set_hl('MiniStarterItemBullet', { fg = c.blue }) |
||||
|
set_hl('MiniStarterItemPrefix', { fg = c.blue }) |
||||
|
set_hl('MiniStarterSection', { link = 'Title' }) |
||||
|
set_hl('MiniStarterQuery', { fg = c.magenta, bg = 'NONE', bold = true }) |
||||
|
end |
@ -0,0 +1,33 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NavicIconsFile', { fg = c.base00 }) |
||||
|
set_hl('NavicIconsModule', { link = '@namespace' }) |
||||
|
set_hl('NavicIconsNamespace', { link = '@namespace' }) |
||||
|
set_hl('NavicIconsPackage', { link = 'Directory' }) |
||||
|
set_hl('NavicIconsClass', { link = 'Type' }) |
||||
|
set_hl('NavicIconsMethod', { link = 'Type' }) |
||||
|
set_hl('NavicIconsProperty', { link = '@field' }) |
||||
|
set_hl('NavicIconsField', { link = '@field' }) |
||||
|
set_hl('NavicIconsConstructor', { link = '@constructor' }) |
||||
|
set_hl('NavicIconsEnum', { link = 'Type' }) |
||||
|
set_hl('NavicIconsInterface', { link = 'Type' }) |
||||
|
set_hl('NavicIconsFunction', { link = 'Function' }) |
||||
|
set_hl('NavicIconsVariable', { link = 'Identifier' }) |
||||
|
set_hl('NavicIconsConstant', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsString', { link = 'String' }) |
||||
|
set_hl('NavicIconsNumber', { link = 'Number' }) |
||||
|
set_hl('NavicIconsBoolean', { link = 'Boolean' }) |
||||
|
set_hl('NavicIconsArray', { link = 'Delimiter' }) |
||||
|
set_hl('NavicIconsObject', { link = '@field' }) |
||||
|
set_hl('NavicIconsKey', { link = '@field' }) |
||||
|
set_hl('NavicIconsNull', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsEnumMember', { link = 'Constant' }) |
||||
|
set_hl('NavicIconsStruct', { link = 'Structure' }) |
||||
|
set_hl('NavicIconsEvent', { fg = c.base2 }) |
||||
|
set_hl('NavicIconsOperator', { link = 'Operator' }) |
||||
|
set_hl('NavicIconsTypeParameter', { link = '@parameter' }) |
||||
|
set_hl('NavicText', { fg = c.base1 }) |
||||
|
set_hl('NavicSeparator', { link = 'Keyword' }) |
||||
|
end |
@ -0,0 +1,27 @@ |
|||||
|
return function(c) |
||||
|
local blend = require('solarized.utils.colors').blend |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
local alpha = 0.05 |
||||
|
|
||||
|
set_hl('NeogitCursorLine', { link = 'CursorLine' }) |
||||
|
set_hl('NeogitBranch', { fg = c.magenta }) |
||||
|
set_hl('NeogitRemote', { fg = c.violet }) |
||||
|
set_hl( |
||||
|
'NeogitHunkHeader', |
||||
|
{ fg = c.orange, bg = blend(c.orange, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitHunkHeaderHighlight', { link = 'Title' }) |
||||
|
set_hl('NeogitDiffContextHighlight', { fg = c.base00, bg = c.base03 }) |
||||
|
set_hl('NeogitDiffContext', { fg = c.base00, bg = c.base03 }) |
||||
|
set_hl( |
||||
|
'NeogitDiffDeleteHighlight', |
||||
|
{ fg = c.red, bg = blend(c.red, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitDiffDelete', { fg = c.red }) |
||||
|
set_hl( |
||||
|
'NeogitDiffAddHighlight', |
||||
|
{ fg = c.green, bg = blend(c.green, c.base03, alpha) } |
||||
|
) |
||||
|
set_hl('NeogitDiffAdd', { fg = c.green }) |
||||
|
end |
@ -0,0 +1,28 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NeoTreeNormal', { |
||||
|
fg = c.base0, |
||||
|
}, { transparent = config.transparent }) |
||||
|
set_hl('NeoTreeNormalNC', { link = 'NeoTreeNormal' }) |
||||
|
set_hl('NeoTreeEndOfBuffer', { fg = c.base02 }) |
||||
|
set_hl('NeoTreeRootName', { link = 'Directory' }) |
||||
|
set_hl('NeoTreeFileName', { fg = c.base0 }) |
||||
|
set_hl('NeoTreeFileNameOpened', { link = 'Directory' }) |
||||
|
set_hl('NeoTreeFloatBorder', { link = 'WinSeparator' }) |
||||
|
set_hl('NeoTreeFloatTitle', { link = 'Title' }) |
||||
|
set_hl('NeoTreeGitAdded', { fg = c.add, bg = 'NONE' }) |
||||
|
set_hl('NeoTreeGitConflict', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitDeleted', { fg = c.delete }) |
||||
|
set_hl('NeoTreeGitIgnored', { fg = c.base01, italic = true }) |
||||
|
set_hl('NeoTreeGitModified', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitUnstaged', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitUntracked', { fg = c.change }) |
||||
|
set_hl('NeoTreeGitStaged', { fg = c.add }) |
||||
|
set_hl('NeoTreeIndentMarker', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeDotfile', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeFileStats', { fg = c.base01 }) |
||||
|
set_hl('NeoTreeTitleBar', { fg = darken(c.cyan, 50), bg = c.cyan }) |
||||
|
end |
@ -0,0 +1,9 @@ |
|||||
|
return function(c) |
||||
|
local set_hl = require('solarized.utils').set_hl |
||||
|
|
||||
|
set_hl('NoiceFormatProgressTodo', { fg = c.base01, reverse = true }) |
||||
|
set_hl('NoiceFormatProgressDone', { fg = c.cyan, reverse = true }) |
||||
|
set_hl('NoiceLspProgressSpinner', { fg = c.cyan }) |
||||
|
set_hl('NoiceLspProgressClient', { fg = c.blue }) |
||||
|
set_hl('NoiceLspProgressTitle', { link = 'Title' }) |
||||
|
end |
@ -0,0 +1,26 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NotifyBackground', { bg = c.base03 }) |
||||
|
set_hl('NotifyERRORBorder', { fg = c.error }) |
||||
|
set_hl('NotifyWARNBorder', { fg = c.warn }) |
||||
|
set_hl('NotifyINFOBorder', { fg = c.info }) |
||||
|
set_hl('NotifyDEBUGBorder', { fg = c.magenta }) |
||||
|
set_hl('NotifyTRACEBorder', { fg = c.violet }) |
||||
|
set_hl('NotifyERRORIcon', { link = 'NotifyERRORBorder' }) |
||||
|
set_hl('NotifyWARNIcon', { link = 'NotifyWARNBorder' }) |
||||
|
set_hl('NotifyINFOIcon', { link = 'NotifyINFOBorder' }) |
||||
|
set_hl('NotifyDEBUGIcon', { link = 'NotifyDEBUGBorder' }) |
||||
|
set_hl('NotifyTRACEIcon', { link = 'NotifyTRACEBorder' }) |
||||
|
set_hl('NotifyERRORTitle', { link = 'NotifyERRORBorder' }) |
||||
|
set_hl('NotifyWARNTitle', { link = 'NotifyWARNBorder' }) |
||||
|
set_hl('NotifyINFOTitle', { link = 'NotifyINFOBorder' }) |
||||
|
set_hl('NotifyDEBUGTitle', { link = 'NotifyDEBUGTitle' }) |
||||
|
set_hl('NotifyTRACETitle', { link = 'NotifyTRACEBorder' }) |
||||
|
set_hl('NotifyERRORBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyWARNBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyINFOBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyDEBUGBody', { link = 'Normal' }) |
||||
|
set_hl('NotifyTRACEBody', { link = 'Normal' }) |
||||
|
end |
@ -0,0 +1,33 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
-- Default highlight |
||||
|
set_hl('@lsp.type.class', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.decorator', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.enum', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.enumMember', { link = 'Constant' }) -- Constant |
||||
|
set_hl('@lsp.type.function', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.interface', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.macro', { link = 'Keyword' }) -- Keyword |
||||
|
set_hl('@lsp.type.method', { link = 'Function' }) -- Function |
||||
|
set_hl('@lsp.type.namespace', { link = 'Constant' }) -- Constant |
||||
|
set_hl( |
||||
|
'@lsp.type.parameter', |
||||
|
{ fg = c.orange, italic = true }, |
||||
|
{ styles = config.styles.parameters } |
||||
|
) |
||||
|
set_hl('@lsp.type.property', { fg = c.blue }) -- Property |
||||
|
set_hl('@lsp.type.struct', { link = 'Structure' }) -- Structure |
||||
|
set_hl('@lsp.type.type', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.typeParameter', { link = 'Type' }) -- Type |
||||
|
set_hl('@lsp.type.variable', { link = 'Identifier' }) -- Identifier |
||||
|
|
||||
|
-- Extra highlight |
||||
|
set_hl('@lsp.typemod.variable.defaultLibrary', { link = 'Constant' }) -- ex: "vim".api.nvim_set_hl |
||||
|
set_hl('@lsp.typemod.variable.readonly', { link = 'Constant' }) -- Constant variables ex: const hello = 'Hello World' |
||||
|
set_hl('@lsp.typemod.variable.global', { link = 'Constant' }) -- Global variables ex: HELLO = 'Hello World' |
||||
|
set_hl('@lsp.typemod.keyword.documentation', { link = 'Keyword' }) -- documentation comments |
||||
|
set_hl('@lsp.typemod.class.documentation', { link = 'Type' }) -- documentation comments |
||||
|
set_hl('@lsp.typemod.property.readonly', { link = 'Constant' }) -- Ex: System."out".println() |
||||
|
end |
@ -0,0 +1,44 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl( |
||||
|
'Comment', |
||||
|
{ fg = c.base01, italic = true }, |
||||
|
{ styles = config.styles.comments } |
||||
|
) -- any comment |
||||
|
set_hl('Constant', { fg = c.violet }, { styles = config.styles.constants }) -- any constant |
||||
|
set_hl('String', { fg = c.cyan }) -- a string constant: "this is a string" |
||||
|
set_hl('Character', { link = 'String' }) -- a character constant: 'c', '\n' |
||||
|
set_hl('Number', { fg = c.magenta }, { styles = config.styles.numbers }) -- a number constant: 234, 0xff |
||||
|
set_hl('Boolean', { fg = c.violet }) -- a boolean constant: TRUE, false |
||||
|
set_hl('Float', { link = 'Number' }) -- a floating point constant: 2.3e10 |
||||
|
set_hl('Identifier', { fg = c.base0 }, { styles = config.styles.variables }) -- any variable name |
||||
|
set_hl('Function', { fg = c.blue }, { styles = config.styles.functions }) -- function name (also: methods for classes) |
||||
|
set_hl('Statement', { link = 'Keyword' }) -- any statement |
||||
|
set_hl('Conditional', { link = 'Keyword' }) -- if, then, else, endif, switch, etc. |
||||
|
set_hl('Repeat', { link = 'Keyword' }) -- for, do, while, etc. |
||||
|
set_hl('Label', { link = 'Keyword' }) -- case, default, etc. |
||||
|
set_hl('Operator', { link = 'Keyword' }) -- "sizeof", "+", "*", etc. |
||||
|
set_hl('Keyword', { fg = c.green }, { styles = config.styles.keywords }) -- any other keyword |
||||
|
set_hl('Exception', { link = 'Keyword' }) -- try, catch, throw |
||||
|
set_hl('PreProc', { link = 'Keyword' }) -- generic Preprocessor |
||||
|
set_hl('Include', { link = 'Keyword' }) -- preprocessor #include |
||||
|
set_hl('Define', { link = 'Keyword' }) -- preprocessor #define |
||||
|
set_hl('Macro', { link = 'Keyword' }) -- same as Define |
||||
|
set_hl('PreCondit', { link = 'Keyword' }) -- preprocessor #if, #else, #endif, etc. |
||||
|
set_hl('Type', { fg = c.yellow }, { styles = config.styles.types }) -- int, long, char, etc. |
||||
|
set_hl('StorageClass', { link = 'Keyword' }) -- static, register, volatile, etc. |
||||
|
set_hl('Structure', { fg = c.yellow }) -- struct, union, enum, etc. |
||||
|
set_hl('Typedef', { link = 'Keyword' }) -- A typedef |
||||
|
set_hl('Special', { fg = c.magenta }) -- special symbol |
||||
|
set_hl('SpecialChar', { fg = c.violet }) -- special character in a constant |
||||
|
set_hl('Tag', { link = 'Special' }) -- you can use CTRL-] on this |
||||
|
set_hl('Delimiter', { fg = c.orange }) -- character that needs attention |
||||
|
set_hl('SpecialComment', { link = 'Keyword' }) -- special things inside a comment |
||||
|
set_hl('Debug', { link = 'Keyword' }) -- debugging statements |
||||
|
set_hl('Underlined', { fg = c.violet, underline = true }) --text that stands out, HTML links |
||||
|
set_hl('Ignore') --left blank, hidden |hl-Ignore| |
||||
|
set_hl('Error', { fg = c.error }) --any erroneous construct |
||||
|
set_hl('Todo', { fg = c.violet }) --anything that needs extra attention; mostly the keywords TODO FIXME and XXX |
||||
|
end |
@ -0,0 +1,45 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local base04 = darken(c.base03, 10) |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('TelescopeSelection', { link = 'CursorLine' }) |
||||
|
set_hl('TelescopeSelectionCaret', { fg = c.red }) |
||||
|
set_hl('TelescopeMultiSelection', { link = 'Type' }) |
||||
|
set_hl('TelescopeMultiIcon', { fg = c.cyan }) |
||||
|
|
||||
|
-- "Normal" in the floating windows created by telescope. |
||||
|
set_hl( |
||||
|
'TelescopeNormal', |
||||
|
{ fg = c.base0, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
set_hl('TelescopePreviewNormal', { link = 'TelescopeNormal' }) |
||||
|
set_hl('TelescopePromptNormal', { link = 'TelescopeNormal' }) |
||||
|
set_hl('TelescopeResultsNormal', { link = 'TelescopeNormal' }) |
||||
|
|
||||
|
-- Border highlight groups. |
||||
|
-- Use TelescopeBorder to override the default. |
||||
|
-- Otherwise set them specifically |
||||
|
set_hl('TelescopeBorder', { link = 'WinSeparator' }) |
||||
|
set_hl('TelescopePromptBorder', { link = 'TelescopeBorder' }) |
||||
|
set_hl('TelescopeResultsBorder', { link = 'TelescopeBorder' }) |
||||
|
set_hl('TelescopePreviewBorder', { link = 'TelescopeBorder' }) |
||||
|
|
||||
|
-- Title highlight groups. |
||||
|
-- Use TelescopeTitle to override the default. |
||||
|
-- Otherwise set them specifically |
||||
|
set_hl('TelescopeTitle', { fg = c.blue, reverse = true }) |
||||
|
set_hl('TelescopePromptTitle', { link = 'TelescopeTitle' }) |
||||
|
set_hl('TelescopeResultsTitle', { link = 'TelescopeTitle' }) |
||||
|
set_hl('TelescopePreviewTitle', { link = 'TelescopeTitle' }) |
||||
|
|
||||
|
set_hl('TelescopePromptCounter', { link = 'NonText' }) |
||||
|
|
||||
|
-- Used for highlighting characters that you match. |
||||
|
set_hl('TelescopeMatching', { link = 'IncSearch' }) |
||||
|
|
||||
|
-- Used for the prompt prefix |
||||
|
set_hl('TelescopePromptPrefix', { fg = c.magenta }) |
||||
|
end |
@ -0,0 +1,50 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local colortool = require('solarized.utils.colors') |
||||
|
local set_hl = utils.set_hl |
||||
|
local colorFunc |
||||
|
local percentage = 80 |
||||
|
|
||||
|
if vim.o.background == 'light' then |
||||
|
colorFunc = colortool.lighten |
||||
|
else |
||||
|
colorFunc = colortool.darken |
||||
|
end |
||||
|
|
||||
|
-- TODO: TODO |
||||
|
-- WARN: WARN |
||||
|
-- TEST: TEST |
||||
|
-- PERF: PERF |
||||
|
-- NOTE: NOTE |
||||
|
-- HACK: HACK |
||||
|
|
||||
|
set_hl('TodoFgTODO', { fg = c.info }) |
||||
|
set_hl('TodoFgWARN', { fg = c.warning }) |
||||
|
set_hl('TodoFgTEST', { fg = c.violet }) |
||||
|
set_hl('TodoFgPERF', { fg = c.magenta }) |
||||
|
set_hl('TodoFgNOTE', { fg = c.hint }) |
||||
|
set_hl('TodoFgHACK', { fg = c.cyan }) |
||||
|
set_hl('TodoFgFIX', { fg = c.error }) |
||||
|
|
||||
|
set_hl('TodoSignTODO', { fg = c.info }) |
||||
|
set_hl('TodoSignWARN', { fg = c.warning }) |
||||
|
set_hl('TodoSignTEST', { fg = c.violet }) |
||||
|
set_hl('TodoSignPERF', { fg = c.magenta }) |
||||
|
set_hl('TodoSignNOTE', { fg = c.hint }) |
||||
|
set_hl('TodoSignHACK', { fg = c.cyan }) |
||||
|
set_hl('TodoSignFIX', { fg = c.error }) |
||||
|
|
||||
|
set_hl('TodoBgTODO', { fg = c.info, bg = colorFunc(c.info, percentage) }) |
||||
|
set_hl( |
||||
|
'TodoBgWARN', |
||||
|
{ fg = c.warning, bg = colorFunc(c.warning, percentage) } |
||||
|
) |
||||
|
set_hl('TodoBgTEST', { fg = c.violet, bg = colorFunc(c.violet, percentage) }) |
||||
|
set_hl( |
||||
|
'TodoBgPERF', |
||||
|
{ fg = c.magenta, bg = colorFunc(c.magenta, percentage) } |
||||
|
) |
||||
|
set_hl('TodoBgNOTE', { fg = c.hint, bg = colorFunc(c.hint, percentage) }) |
||||
|
set_hl('TodoBgHACK', { fg = c.cyan, bg = colorFunc(c.cyan, percentage) }) |
||||
|
set_hl('TodoBgFIX', { fg = c.error, bg = colorFunc(c.error, percentage) }) |
||||
|
end |
@ -0,0 +1,66 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local darken = require('solarized.utils.colors').darken |
||||
|
local base04 = darken(c.base03, 10) |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('NvimTreeSymlink', { link = 'Underlined' }) |
||||
|
set_hl('NvimTreeSymlinkIcon', { link = 'Directory' }) |
||||
|
-- set_hl('NvimTreeSymlinkFolderName') -- (Directory) |
||||
|
set_hl('NvimTreeFolderName', { fg = c.base0 }) -- (Directory) |
||||
|
set_hl('NvimTreeRootFolder', { link = 'Title' }) |
||||
|
set_hl('NvimTreeFolderIcon', { link = 'Directory' }) |
||||
|
-- set_hl('NvimTreeOpenedFolderIcon') -- (NvimTreeFolderIcon) |
||||
|
-- set_hl('NvimTreeClosedFolderIcon') -- (NvimTreeFolderIcon) |
||||
|
-- set_hl('NvimTreeFileIcon') |
||||
|
set_hl('NvimTreeEmptyFolderName', { fg = c.base0 }) -- (Directory) |
||||
|
-- set_hl('NvimTreeOpenedFolderName') -- (Directory) |
||||
|
set_hl('NvimTreeExecFile', { link = 'Function' }) |
||||
|
set_hl('NvimTreeOpenedFile', { fg = c.orange, bold = true }) |
||||
|
set_hl('NvimTreeModifiedFile', { fg = c.change }) |
||||
|
set_hl('NvimTreeSpecialFile', { link = 'Special' }) |
||||
|
-- set_hl('NvimTreeImageFile') |
||||
|
set_hl('NvimTreeIndentMarker', { fg = c.base01 }) |
||||
|
-- set_hl('NvimTreeLspDiagnosticsError') -- (DiagnosticError) |
||||
|
-- set_hl('NvimTreeLspDiagnosticsWarning') -- (DiagnosticWarn) |
||||
|
set_hl('NvimTreeLspDiagnosticsInformation') -- (DiagnosticInfo) |
||||
|
set_hl('NvimTreeLspDiagnosticsHint') -- (DiagnosticHint) |
||||
|
set_hl('NvimTreeGitDirty', { fg = c.change }) |
||||
|
set_hl('NvimTreeGitStaged', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitMerge', { fg = c.change }) |
||||
|
set_hl('NvimTreeGitRenamed', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitNew', { fg = c.add }) |
||||
|
set_hl('NvimTreeGitDeleted', { fg = c.delete }) |
||||
|
-- set_hl('NvimTreeGitIgnored') -- (Comment) |
||||
|
-- set_hl('NvimTreeWindowPicker') |
||||
|
set_hl( |
||||
|
'NvimTreeNormal', |
||||
|
{ fg = c.base0, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) |
||||
|
set_hl('NvimTreeNormalFloat', { link = 'NvimTreeNormal' }) |
||||
|
set_hl('NvimTreeEndOfBuffer', { fg = base04 }) -- (NonText) |
||||
|
-- set_hl('NvimTreeCursorLine') -- (CursorLine) |
||||
|
-- set_hl('NvimTreeCursorLineNr') -- (CursorLineNr) |
||||
|
-- set_hl('NvimTreeLineNr') -- (LineNr) |
||||
|
set_hl( |
||||
|
'NvimTreeWinSeparator', |
||||
|
{ fg = base04, bg = base04 }, |
||||
|
{ transparent = config.transparent } |
||||
|
) -- (WinSeparator) |
||||
|
-- set_hl('NvimTreeCursorColumn') -- (CursorColumn) |
||||
|
-- |
||||
|
-- There are also links for file highlight with git properties, linked to their |
||||
|
-- Git equivalent: |
||||
|
-- |
||||
|
-- set_hl('NvimTreeFileDirty') -- (NvimTreeGitDirty) |
||||
|
-- set_hl('NvimTreeFileStaged') -- (NvimTreeGitStaged) |
||||
|
-- set_hl('NvimTreeFileMerge') -- (NvimTreeGitMerge) |
||||
|
-- set_hl('NvimTreeFileRenamed') -- (NvimTreeGitRenamed) |
||||
|
-- set_hl('NvimTreeFileNew') -- (NvimTreeGitNew) |
||||
|
-- set_hl('NvimTreeFileDeleted') -- (NvimTreeGitDeleted) |
||||
|
-- set_hl('NvimTreeFileIgnored') -- (NvimTreeGitIgnored) |
||||
|
-- set_hl('NvimTreeLiveFilterPrefix') |
||||
|
-- set_hl('NvimTreeLiveFilterValue') |
||||
|
-- set_hl('NvimTreeBookmark') |
||||
|
end |
@ -0,0 +1,114 @@ |
|||||
|
return function(c, config) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
--[[ Highlight capture names as of nvim-treesitter commit `6806d7a` ]] |
||||
|
-- |
||||
|
|
||||
|
-- Identifiers |
||||
|
set_hl('@variable', { link = 'Identifier' }) -- various variable names |
||||
|
set_hl('@variable.builtin', { fg = c.violet, italic = true }) -- built-in variable names (e.g. `this`) |
||||
|
set_hl( |
||||
|
'@variable.parameter', |
||||
|
{ fg = c.orange, italic = true }, |
||||
|
{ styles = config.styles.parameters } |
||||
|
) -- parameters of a function |
||||
|
set_hl('@variable.member', { fg = c.blue }) -- object and struct fields |
||||
|
set_hl('@constant', { link = 'Constant' }) -- constant identifiers |
||||
|
set_hl('@constant.builtin', { link = 'Constant' }) -- built-in constant values |
||||
|
set_hl('@constant.macro', { link = 'Constant' }) -- constants defined by the preprocessor |
||||
|
set_hl('@module', { fg = c.violet }) -- modules or namespaces |
||||
|
set_hl('@module.builtin', { fg = c.cyan }) -- built-in modules or namespaces |
||||
|
set_hl('@label', { link = 'Label' }) -- GOTO and other labels (e.g. `label:` in C), including heredoc labels |
||||
|
|
||||
|
-- Literals |
||||
|
set_hl('@string', { link = 'String' }) -- string literals |
||||
|
set_hl('@string.documentation', { link = 'Comment' }) -- string documenting code (e.g. Python docstrings) |
||||
|
set_hl('@string.regexp', { fg = c.violet }) -- regular expressions |
||||
|
set_hl('@string.escape', { link = 'Keyword' }) -- escape sequences |
||||
|
set_hl('@string.special', { link = 'Constant' }) -- other special strings (e.g. dates) |
||||
|
set_hl('@string.special.symbol', { fg = c.violet }) -- symbols or atoms |
||||
|
set_hl('@string.special.url', { link = 'Underlined' }) -- URIs (e.g. hyperlinks) |
||||
|
set_hl('@string.special.path', { link = 'Underlined' }) -- filenames |
||||
|
set_hl('@character', { link = 'String' }) -- character literals |
||||
|
set_hl('@character.special', { link = 'Constant' }) -- special characters (e.g. wildcards) |
||||
|
set_hl('@character.printf', { fg = c.violet }) -- special characters (e.g. wildcards) |
||||
|
set_hl('@boolean', { link = 'Constant' }) -- boolean literals |
||||
|
set_hl('@number', { link = 'Number' }) -- numeric literals |
||||
|
set_hl('@number.float', { link = 'Number' }) -- floating-point number literals |
||||
|
|
||||
|
-- Types |
||||
|
set_hl('@type', { link = 'Type' }) -- type or class definitions and annotations |
||||
|
set_hl('@type.builtin', { link = 'Type' }) -- built-in types |
||||
|
set_hl('@type.definition', { link = 'Type' }) -- identifiers in type definitions (e.g. `typedef <type> <identifier>` in C) |
||||
|
set_hl('@type.qualifier', { link = 'Keyword' }) -- type qualifiers (e.g. `const`) |
||||
|
set_hl('@attribute', { link = 'Function' }) -- attribute annotations (e.g. Python decorators) |
||||
|
set_hl('@property', { link = '@variable.member' }) -- the key in key/value pairs |
||||
|
|
||||
|
-- Functions |
||||
|
set_hl('@function', { link = 'Function' }) -- function definitions |
||||
|
set_hl('@function.builtin', { link = 'Function' }) -- built-in functions |
||||
|
set_hl('@function.call', { link = 'Function' }) -- function calls |
||||
|
set_hl('@function.macro', { link = 'Function' }) -- preprocessor macros |
||||
|
set_hl('@function.method', { link = 'Function' }) -- method definitions |
||||
|
set_hl('@function.method.call', { link = 'Function' }) -- method calls |
||||
|
set_hl('@constructor', { fg = c.magenta }) -- constructor calls and definitions |
||||
|
set_hl('@operator', { link = 'Keyword' }) -- symbolic operators (e.g. `+` / `*`) |
||||
|
|
||||
|
-- Keywords |
||||
|
set_hl('@keyword', { link = 'Keyword' }) -- keywords not fitting into specific categories |
||||
|
set_hl('@keyword.coroutine', { link = 'Keyword' }) -- keywords related to coroutines (e.g. `go` in Go, `async/await` in Python) |
||||
|
set_hl('@keyword.function', { link = 'Keyword' }) -- keywords that define a function (e.g. `func` in Go, `def` in Python) |
||||
|
set_hl('@keyword.operator', { link = 'Keyword' }) -- operators that are English words (e.g. `and` / `or`) |
||||
|
set_hl('@keyword.import', { link = 'Keyword' }) -- keywords for including modules (e.g. `import` / `from` in Python) |
||||
|
set_hl('@keyword.storage', { link = 'Keyword' }) -- modifiers that affect storage in memory or life-time |
||||
|
set_hl('@keyword.repeat', { link = 'Keyword' }) -- keywords related to loops (e.g. `for` / `while`) |
||||
|
set_hl('@keyword.return', { link = 'Keyword' }) -- keywords like `return` and `yield` |
||||
|
set_hl('@keyword.debug', { link = 'Keyword' }) -- keywords related to debugging |
||||
|
set_hl('@keyword.exception', { link = 'Keyword' }) -- keywords related to exceptions (e.g. `throw` / `catch`) |
||||
|
set_hl('@keyword.conditional', { link = 'Keyword' }) -- keywords related to conditionals (e.g. `if` / `else`) |
||||
|
set_hl('@keyword.conditional.ternary', { link = 'Keyword' }) -- ternary operator (e.g. `?` / `:`) |
||||
|
set_hl('@keyword.directive', { link = 'Keyword' }) -- various preprocessor directives & shebangs |
||||
|
set_hl('@keyword.directive.define', { link = 'Keyword' }) -- preprocessor definition directives |
||||
|
|
||||
|
-- Punctuations |
||||
|
set_hl('@punctuation.delimiter', { link = 'Delimiter' }) -- delimiters (e.g. `;` / `.` / `,`) |
||||
|
set_hl('@punctuation.bracket', { link = 'Delimiter' }) -- brackets (e.g. `()` / `{}` / `[]`) |
||||
|
set_hl('@punctuation.special', { link = 'Delimiter' }) -- special symbols (e.g. `{}` in string interpolation) |
||||
|
|
||||
|
-- Comments |
||||
|
set_hl('@comment', { link = 'Comment' }) -- line and block comments |
||||
|
set_hl('@comment.documentation', { link = 'Comment' }) -- comments documenting code |
||||
|
set_hl('@comment.error', { fg = c.error }) -- error-type comments (e.g. `ERROR`, `FIXME`, `DEPRECATED:`) |
||||
|
set_hl('@comment.warning', { fg = c.warning }) -- warning-type comments (e.g. `WARNING:`, `FIX:`, `HACK:`) |
||||
|
set_hl('@comment.todo', { link = 'Todo' }) -- todo-type comments (e.g. `TODO:`, `WIP:`, `FIXME:`) |
||||
|
set_hl('@comment.note', { fg = c.info }) -- note-type comments (e.g. `NOTE:`, `INFO:`, `XXX`) |
||||
|
|
||||
|
-- Markup |
||||
|
set_hl('@markup.strong', { fg = c.yellow }) -- bold text |
||||
|
set_hl('@markup.italic', { fg = c.yellow, italic = true }) -- italic text |
||||
|
set_hl('@markup.strikethrough', { fg = c.base01, strikethrough = true }) -- struck-through text |
||||
|
set_hl('@markup.underline', { link = 'Underlined' }) -- underlined text (only for literal underline markup!) |
||||
|
set_hl('@markup.heading', { link = 'Title' }) -- headings, titles (including markers) |
||||
|
set_hl('@markup.quote', { fg = c.cyan }) -- block quotes |
||||
|
set_hl('@markup.math', { link = 'Number' }) -- math environments (e.g. `$ ... $` in LaTeX) |
||||
|
set_hl('@markup.environment', { fg = c.base0 }) -- environments (e.g. in LaTeX) |
||||
|
set_hl('@markup.link', { link = 'Underlined' }) -- text references, footnotes, citations, etc. |
||||
|
set_hl('@markup.link.label', { link = 'Constant' }) -- link, reference descriptions |
||||
|
set_hl('@markup.link.url', { link = 'Underlined' }) -- URL-style links |
||||
|
set_hl('@markup.raw', { fg = c.base0 }) -- literal or verbatim text (e.g., inline code) |
||||
|
set_hl('@markup.raw.block', { fg = c.base0 }) -- literal or verbatim text as a stand-alone block (use priority 90 for blocks with injections) |
||||
|
set_hl('@markup.list', { link = 'Delimiter' }) -- list markers |
||||
|
set_hl('@markup.list.checked', { link = 'Delimiter' }) -- checked todo-style list markers |
||||
|
set_hl('@markup.list.unchecked', { link = 'Delimiter' }) -- unchecked todo-style list markers |
||||
|
|
||||
|
-- Diffs |
||||
|
set_hl('@diff.plus', { fg = c.add }) -- added text (for diff files) |
||||
|
set_hl('@diff.minus', { fg = c.delete }) -- deleted text (for diff files) |
||||
|
set_hl('@diff.delta', { fg = c.change }) -- changed text (for diff files) |
||||
|
|
||||
|
-- Tags |
||||
|
set_hl('@tag', { fg = c.green }) -- XML-style tag names (and similar) |
||||
|
set_hl('@tag.attribute', { link = '@variable.member' }) -- XML-style tag attributes |
||||
|
set_hl('@tag.delimiter', { link = 'Delimiter' }) -- XML-style tag delimiters |
||||
|
end |
@ -0,0 +1,12 @@ |
|||||
|
return function(c) |
||||
|
local utils = require('solarized.utils') |
||||
|
local set_hl = utils.set_hl |
||||
|
|
||||
|
set_hl('WhichKey', { fg = c.base0 }) -- the key |
||||
|
set_hl('WhichKeyGroup', { fg = c.blue }) -- a group |
||||
|
set_hl('WhichKeySeparator', { fg = c.magenta }) -- the separator between the key and its label |
||||
|
set_hl('WhichKeyDesc', { fg = c.base2 }) -- the label of the key |
||||
|
-- set_hl('WhichKeyFloat') -- Normal in the popup window |
||||
|
-- set_hl('WhichKeyBorder', { link = 'WinSeparator' }) |
||||
|
-- set_hl('WhichKeyValue') -- used by plugins that provide values |
||||
|
end |
@ -0,0 +1,88 @@ |
|||||
|
local M = {} |
||||
|
|
||||
|
--- Convert a hexadecimal color code to RGB color values |
||||
|
--- |
||||
|
--- @param hex string The hexadecimal color code (e.g., "#RRGGBB" or "RRGGBB") |
||||
|
--- @return number red The red component of the RGB color (0-255) |
||||
|
--- @return number green The green component of the RGB color (0-255) |
||||
|
--- @return number blue The blue component of the RGB color (0-255) |
||||
|
function M.hex_to_rgb(hex) |
||||
|
local red = tonumber(hex:sub(2, 3), 16) |
||||
|
local green = tonumber(hex:sub(4, 5), 16) |
||||
|
local blue = tonumber(hex:sub(6, 7), 16) |
||||
|
|
||||
|
return red, green, blue |
||||
|
end |
||||
|
|
||||
|
--- Convert rgb to hex |
||||
|
--- |
||||
|
--- @param red number |
||||
|
--- @param green number |
||||
|
--- @param blue number |
||||
|
--- @return string color |
||||
|
function M.rgb_to_hex(red, green, blue) |
||||
|
return string.format('#%02x%02x%02x', red, green, blue) |
||||
|
end |
||||
|
|
||||
|
--- Darken a color by a given distance |
||||
|
--- |
||||
|
--- @param color string The color to be darkened in any valid color format |
||||
|
--- @param percentage number The distance by which the color should be darkened (between 1 and 10) |
||||
|
--- @return string color The resulting darkened color in the same format as the input color |
||||
|
function M.darken(color, percentage) |
||||
|
local red, green, blue = M.hex_to_rgb(color) |
||||
|
local i = 1 |
||||
|
local result = { |
||||
|
red = red * (1 - (percentage / 100) * i), |
||||
|
green = green * (1 - (percentage / 100) * i), |
||||
|
blue = blue * (1 - (percentage / 100) * i), |
||||
|
} |
||||
|
|
||||
|
return M.rgb_to_hex(result.red, result.green, result.blue) |
||||
|
end |
||||
|
|
||||
|
--- Lighten a color by a given percentage |
||||
|
--- |
||||
|
--- @param color string The color to be lightened in any valid color format |
||||
|
--- @param percentage number The percentage by which the color should be lightened (between 1 and 10) |
||||
|
--- @return string color The resulting lightened color in the same format as the input color |
||||
|
function M.lighten(color, percentage) |
||||
|
local red, green, blue = M.hex_to_rgb(color) |
||||
|
local i = 1 |
||||
|
local result = { |
||||
|
red = red + (255 - red) * i * (percentage / 100), |
||||
|
green = green + (255 - green) * i * (percentage / 100), |
||||
|
blue = blue + (255 - blue) * i * (percentage / 100), |
||||
|
} |
||||
|
|
||||
|
return M.rgb_to_hex(result.red, result.green, result.blue) |
||||
|
end |
||||
|
|
||||
|
--- Blend two colors with a given alpha value |
||||
|
--- |
||||
|
--- @param hex_fg string The foreground color in hexadecimal format (e.g., "#RRGGBB") |
||||
|
--- @param hex_bg string The background color in hexadecimal format (e.g., "#RRGGBB") |
||||
|
--- @param alpha number The alpha value between 0 and 1, indicating the blending ratio |
||||
|
--- @return string color The resulting blended color in hexadecimal format |
||||
|
function M.blend(hex_fg, hex_bg, alpha) |
||||
|
local red_bg, green_bg, blue_bg = M.hex_to_rgb(hex_bg) |
||||
|
local red_fg, green_fg, blue_fg = M.hex_to_rgb(hex_fg) |
||||
|
|
||||
|
local min = math.min |
||||
|
local max = math.max |
||||
|
local floor = math.floor |
||||
|
|
||||
|
local function blend_channel(fg, bg) |
||||
|
local ret = alpha * fg + ((1 - alpha) * bg) |
||||
|
|
||||
|
return floor(min(max(0, ret), 255) + 0.5) |
||||
|
end |
||||
|
|
||||
|
return M.rgb_to_hex( |
||||
|
blend_channel(red_fg, red_bg), |
||||
|
blend_channel(green_fg, green_bg), |
||||
|
blend_channel(blue_fg, blue_bg) |
||||
|
) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,49 @@ |
|||||
|
local M = {} |
||||
|
|
||||
|
--- Sets a highlight group |
||||
|
--- @param name string |
||||
|
--- @param val? table |
||||
|
--- @param opts? table The opts object.. |
||||
|
--- - opts.transparent: (boolean) Specifies whether transparency is enabled. |
||||
|
--- - opts.styles: (table) A table of custom styles for various elements. |
||||
|
---@return nil |
||||
|
function M.set_hl(name, val, opts) |
||||
|
local default_val = { fg = 'NONE', bg = 'NONE' } |
||||
|
val = val or {} |
||||
|
|
||||
|
if not val.link then val = vim.tbl_extend('force', default_val, val) end |
||||
|
|
||||
|
if opts then |
||||
|
if opts.styles then val = vim.tbl_extend('force', val, opts.styles) end |
||||
|
|
||||
|
if opts.transparent then val.bg = 'NONE' end |
||||
|
end |
||||
|
|
||||
|
vim.api.nvim_set_hl(0, name, val) |
||||
|
end |
||||
|
|
||||
|
--- get highlight group |
||||
|
--- @param highlight_name string |
||||
|
--- @return table highlight |
||||
|
function M.get_hl(highlight_name) |
||||
|
local highlight = |
||||
|
vim.api.nvim_get_hl(0, { name = highlight_name, link = true }) |
||||
|
|
||||
|
if highlight.link then return M.get_hl(highlight.link) end |
||||
|
|
||||
|
return highlight |
||||
|
end |
||||
|
|
||||
|
--- @param opts table The user-specified custom configuration |
||||
|
--- - fnc (function): callback type configuration |
||||
|
--- - tbl (function): table type configuration |
||||
|
--- @param config (table|function): config to be used |
||||
|
function M.on_config(opts, config) |
||||
|
if type(config) == 'table' and not vim.tbl_isempty(config) then |
||||
|
opts.tbl() |
||||
|
elseif type(config) == 'function' then |
||||
|
opts.fnc() |
||||
|
end |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,7 @@ |
|||||
|
local M = {} |
||||
|
|
||||
|
function M.to_hex(decimal) |
||||
|
return string.format('#%06x', decimal) |
||||
|
end |
||||
|
|
||||
|
return M |
@ -0,0 +1,16 @@ |
|||||
|
vim.api.nvim_create_user_command('Solarized', function(args) |
||||
|
require('solarized.command').load( |
||||
|
args.fargs[1], |
||||
|
vim.list_slice(args.fargs, 2) |
||||
|
) |
||||
|
end, { |
||||
|
range = true, |
||||
|
nargs = '+', |
||||
|
complete = function(arg) |
||||
|
local list = require('solarized.command').list() |
||||
|
|
||||
|
return vim.tbl_filter(function(s) |
||||
|
return string.match(s, '^' .. arg) |
||||
|
end, list) |
||||
|
end, |
||||
|
}) |
Loading…
Reference in new issue