diff --git a/colors/odyssey.vim b/colors/odyssey.vim index d57a6ab..c4c21eb 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -17,6 +17,7 @@ " " Bootstrap {{{ +" TODO Improve the bootstrap process ;-) set termguicolors let s:colors = {} @@ -65,7 +66,12 @@ function! s:HL(group, bg, ...) let histring .= ' guifg=#'. cfg endif - let histring .= ' cterm=none' + if a:0 > 1 + let histring .= ' cterm=' . a:2 + else + let histring .= ' cterm=none' + endif + execute histring endfunction @@ -100,70 +106,72 @@ let s:colors.constant = s:hsv2hex(230, 45, 70) " associated colors. They appear in the same order than when the highlight " command is used. -call s:HL( 'SpecialKey', 'background', 'warning') -call s:HL( 'EndOfBuffer', 'background', 'linenumber') -call s:HL( 'NonText', 'background', 'linenumber') -call s:HL( 'Directory', 'background', 'foreground') -call s:HL( 'ErrorMsg', 'background', 'error') -call s:HL( 'MoreMsg', 'background', 'warning') -call s:HL( 'ModeMsg', 'background', 'warning') -call s:HL( 'IncSearch', 'foreground', 'background') -call s:HL( 'Search', 'linenumber', 'background') -call s:HL( 'LineNr', 'background', 'linenumber') -call s:HL('CursorLineNr', 'cursorline', 'foreground') -call s:HL( 'Question', 'background', 'warning') -call s:HL( 'StatusLine', 'cursorline', 'foreground') -call s:HL('StatusLineNC', 'beyondback', 'linenumber') -call s:HL( 'VertSplit', 'beyondback', 'beyondback') -call s:HL( 'Title', 'background', 'procedure') -"call s:HL( 'Visual', 'background', 'linenumber') -"call s:HL( 'VisualNOS', 'background', 'linenumber') -call s:HL( 'WarningMsg', 'background', 'warning') -"call s:HL( 'WildMenu', 'background', 'linenumber') -call s:HL( 'Folded', 'foldedline', 'linenumber') -call s:HL( 'FoldColumn', 'foldedline', 'linenumber') -"call s:HL( 'DiffAdd', 'background', 'linenumber') -"call s:HL( 'DiffChange', 'background', 'linenumber') -"call s:HL( 'DiffDelete', 'background', 'linenumber') -"call s:HL( 'DiffText', 'background', 'linenumber') -"call s:HL( 'SignColumn', 'background', 'linenumber') -"call s:HL( 'Conceal', 'background', 'linenumber') -"call s:HL( 'SpellBad', 'background', 'linenumber') -"call s:HL( 'SpellCap', 'background', 'linenumber') -"call s:HL( 'SpellRare', 'background', 'linenumber') -"call s:HL( 'SpellLocal', 'background', 'linenumber') -"call s:HL( 'Pmenu', 'background', 'linenumber') -"call s:HL( 'PmenuSel', 'background', 'linenumber') -"call s:HL( 'PmenuSbar', 'background', 'linenumber') -"call s:HL( 'PmenuThumb', 'background', 'linenumber') -"call s:HL( 'TabLine', 'background', 'linenumber') -"call s:HL( 'TabLineSel', 'background', 'linenumber') -"call s:HL( 'TabLineFill', 'background', 'linenumber') -call s:HL( 'CursorLine', 'cursorline') -call s:HL( 'ColorColumn', 'foldedline') -"call s:HL( 'StatusLineTerm', 'background', 'linenumber') -"call s:HL( 'StatusLineTermNC', 'background', 'linenumber') -call s:HL( 'MatchParen', 'linenumber', 'background') -"call s:HL( 'ToolbarLine', 'background', 'linenumber') -"call s:HL( 'ToolbarButton', 'background', 'linenumber') -call s:HL( 'Comment', 'background', 'linenumber') -call s:HL( 'Constant', 'background', 'constant') -call s:HL( 'Special', 'background', 'warning') -call s:HL( 'Identifier', 'background', 'keyword') -call s:HL( 'Statement', 'background', 'keyword') -call s:HL( 'Preproc', 'background', 'warning') -call s:HL( 'Type', 'background', 'type') -"call s:HL( 'Underline', 'background', 'type') -"call s:HL( 'Ignore', 'background', 'type') -"call s:HL( 'Error', 'background', 'type') -call s:HL( 'String', 'background', 'constant') -call s:HL( 'Number', 'background', 'constant') -call s:HL( 'Function', 'background', 'procedure') -call s:HL( 'Conditional', 'background', 'keyword') -call s:HL( 'Tag', 'background', 'warning') -call s:HL( 'SpecialChar', 'background', 'constant') -call s:HL( 'Delimiter', 'background', 'foreground') -call s:HL( 'Normal', 'background', 'foreground') +call s:HL( 'SpecialKey', 'background', 'warning') +call s:HL( 'EndOfBuffer', 'background', 'linenumber') +call s:HL( 'NonText', 'background', 'linenumber') +call s:HL( 'Directory', 'background', 'foreground') +call s:HL( 'ErrorMsg', 'background', 'error') +call s:HL( 'MoreMsg', 'background', 'warning') +call s:HL( 'ModeMsg', 'background', 'warning') +call s:HL( 'IncSearch', 'foreground', 'background') +call s:HL( 'Search', 'linenumber', 'background') +call s:HL( 'LineNr', 'background', 'linenumber') +call s:HL( 'CursorLineNr', 'cursorline', 'foreground') +call s:HL( 'Question', 'background', 'warning') +call s:HL( 'StatusLine', 'cursorline', 'foreground') +call s:HL( 'StatusLineNC', 'beyondback', 'linenumber') +call s:HL( 'VertSplit', 'beyondback', 'beyondback') +call s:HL( 'Title', 'background', 'procedure') +call s:HL( 'Visual', 'foreground', 'background') +call s:HL( 'VisualNOS', 'foreground', 'background') +call s:HL( 'WarningMsg', 'background', 'warning') +call s:HL( 'WildMenu', 'cursorline', 'warning') +call s:HL( 'Folded', 'foldedline', 'linenumber') +call s:HL( 'FoldColumn', 'foldedline', 'linenumber') +call s:HL( 'DiffAdd', 'procedure', 'background') +call s:HL( 'DiffChange', 'warning', 'background') +call s:HL( 'DiffDelete', 'error', 'background') +call s:HL( 'DiffText', 'error', 'background') +call s:HL( 'SignColumn', 'background', 'error') +call s:HL( 'Conceal', 'background', 'keyword') +call s:HL( 'SpellBad', 'background', 'error', 'underline') +call s:HL( 'SpellCap', 'background', 'warning', 'underline') +call s:HL( 'SpellRare', 'background', 'constant', 'underline') +call s:HL( 'SpellLocal', 'background', 'keyword', 'underline') +call s:HL( 'Pmenu', 'foldedline', 'linenumber') +call s:HL( 'PmenuSel', 'foreground', 'background') +call s:HL( 'PmenuSbar', 'beyondback', 'linenumber') " TODO Use a GUI ? +call s:HL( 'PmenuThumb', 'beyondback', 'linenumber') " TODO Use a GUI ? +call s:HL( 'TabLine', 'background', 'linenumber') +call s:HL( 'TabLineSel', 'background', 'foreground') +call s:HL( 'TabLineFill', 'beyondback', 'linenumber') +call s:HL( 'CursorColumn', 'cursorline') +call s:HL( 'CursorLine', 'cursorline') +call s:HL( 'ColorColumn', 'foldedline') +call s:HL( 'StatusLineTerm', 'cursorline', 'foreground') +call s:HL('StatusLineTermNC', 'beyondback', 'linenumber') +call s:HL( 'MatchParen', 'linenumber', 'background') +"call s:HL( 'ToolbarLine', 'background', 'linenumber') " TODO Use a GUI +"call s:HL( 'ToolbarButton', 'background', 'linenumber') " TODO Use a GUI +call s:HL( 'Comment', 'background', 'linenumber') +call s:HL( 'Constant', 'background', 'constant') +call s:HL( 'Special', 'background', 'warning') +call s:HL( 'Identifier', 'background', 'procedure') +call s:HL( 'Statement', 'background', 'keyword') +call s:HL( 'Preproc', 'background', 'warning') +call s:HL( 'Type', 'background', 'type') +call s:HL( 'Underlined', 'background', 'foreground', 'underline') +call s:HL( 'Ignore', 'background', 'background') +call s:HL( 'Error', 'background', 'error') +call s:HL( 'Todo', 'background', 'warning') +call s:HL( 'String', 'background', 'constant') +call s:HL( 'Number', 'background', 'constant') +call s:HL( 'Function', 'background', 'procedure') +call s:HL( 'Conditional', 'background', 'keyword') +call s:HL( 'Tag', 'background', 'warning') +call s:HL( 'SpecialChar', 'background', 'warning') +call s:HL( 'Delimiter', 'background', 'warning') +call s:HL( 'Normal', 'background', 'foreground') " }}} " vim: foldmethod=marker