From 1b0ec8cef70b7b94d8d03d55a5979760036e3983 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 23 Dec 2014 15:20:54 +0100 Subject: [PATCH] version 2 --- LICENSE | 21 ++ README.md | 31 +- colors/flatcolor.vim | 690 +++++++++++++++++++------------------------ 3 files changed, 336 insertions(+), 406 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6f354e0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 MaxSt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md index bb2a73f..c681965 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,23 @@ ## FlatColor ## -Dark, high contrast colorscheme for gvim and 256 color terminal inspired by [harlequin](https://github.com/nielsmadan/harlequin) and [FlatUi Colors](http://flatuicolors.com/). +![FlatColor](http://uppix.com/f-flatcolor_multib54997651001824f8.png) +Dark, high contrast colorscheme for gvim and 256 color terminal inspired by [FlatUi Colors](http://flatuicolors.com/). -### Options ### - * g:flatcolor_cursorlinebold - If this options value is 1 the cursorline is bold. It is set to 0 by default. +### Options ### * g:flatcolor_termcolors This options sets the terminal colors to 16 or 256 Colors. Default value is 256. If it is set to 16 ,this colorscheme will attempt to use the standard 16 colors of your terminal emulator. + For the best colors in terminal, its recommended to set set your terminalcolors to [FlatColor Terminal Colors](#flatcolor-terminal-colors) and use 16 colors. + - * g:flatcolor_bluebg + * g:flatcolor_asphaltbg This option sets the background color of the colorscheme to a dark blue if its value is 1. To set the background to a dark grey color set it to 0. - Default value is 0. + Default value is 1. - Example Flatcolor Terminal Colors: +###FlatColor Terminal Colors### ``` ! ~/.Xresource ! Colors @@ -60,19 +61,3 @@ URxvt*color7: #ecf0f1 URxvt*color15: #bdc3c7 URxvt.foreground : #bdc3c7 ``` - - -### screenshots ### - -Python - -![python](http://i.imgur.com/aL2fZoy.png) - -ruby - -![ruby](http://i.imgur.com/hGJPMcy.png) - -VimL - -![viml](http://i.imgur.com/X7AOItg.png) - diff --git a/colors/flatcolor.vim b/colors/flatcolor.vim index 5ad9cf4..46d03e0 100644 --- a/colors/flatcolor.vim +++ b/colors/flatcolor.vim @@ -1,415 +1,339 @@ -" Color scheme based on harlequin by Niels Madan and FlatUIColors (http://flatuicolors.com) -" -" Author: Max St -" URL: github.com/MaxSt/flatcolor +" Vim Color File +" Name: flatcolor.vim +" Version: 2.0 +" Maintainer: github.com/MaxSt +" License: The MIT License (MIT) +" Based On: pencil by github.com/reedes and github.com/mattly hi clear -set background=dark - -if exists("syntax_on") +if exists('syntax on') syntax reset endif -if !has("gui_running") && &t_Co != 256 - finish -endif +let g:colors_name='flatcolor' -if !exists("g:flatcolor_cursorlinebold") - let g:flatcolor_cursorlinebold=0 +if ! exists("g:flatcolor_termcolors") + let g:flatcolor_termcolors = 256 endif -if !exists("g:flatcolor_bluebg") - let g:flatcolor_bluebg=0 +if ! exists("g:flatcolor_asphaltbg") + let g:flatcolor_asphaltbg = 1 endif -if !exists("g:flatcolor_termcolors") - let g:flatcolor_termcolors=256 +" not all terminals support italics properly. If yours does, opt-in. +if ! exists("g:flatcolor_terminal_italics") + let g:flatcolor_terminal_italics = 0 endif -let colors_name = "flatcolor" - - - -if g:flatcolor_termcolors == 256 - let s:white = ['#FFFFFF', 15] - let s:black = ['#000000', 0] - let s:greys = [['#BEBEBE', 250], ['#808080', 244], ['#696969', 242], ['#545454', 240], ['#343434', 236], ['#080808', 232]] - let s:darkgreys = [['#080808',232],['#121212',233],["#1c1c1c",234],['#262626',235],["#303030",236],["#3a3a3a",237],["#444444",238],["#4e4e4e",239]] - - let s:clouds = ['#ECF0F1', 15] " very light gray - - let s:cerise = ['#FF0033', 197] " red/ping +" Colors +let s:black = { "gui": "#212121", "cterm": "0", "cterm16" : "0" } +let s:medium_gray = { "gui": "#767676", "cterm": "243", "cterm16" : "243" } +let s:white = { "gui": "#F1F1F1", "cterm": "15", "cterm16" : "15" } +let s:actual_white = { "gui": "#FFFFFF", "cterm": "231", "cterm16" : "231" } +let s:light_black = { "gui": "#424242", "cterm": "8", "cterm16" : "8" } +let s:lighter_black = { "gui": "#545454", "cterm": "240", "cterm16" : "240" } - let s:emerald = ['#2ECC71', 41] " green +" lighter shadows and darker grays +let s:subtle_black = { "gui": "#303030", "cterm": "236", "cterm16" : "236" } +let s:light_gray = { "gui": "#B2B2B2", "cterm": "249", "cterm16" : "249" } +let s:lighter_gray = { "gui": "#C6C6C6", "cterm": "251", "cterm16" : "251" } - let s:orange = ['#ff5f00', 202] +" flat colors: +let s:asphalt= { "gui": "#384257", "cterm": "242", "cterm16": "0"} +let s:asphalt_subtle = { "gui": "#2c3845", "cterm": "239", "cterm16": "0"} +let s:dark_asphalt = { "gui": "#242f38", "cterm": "237", "cterm16": "8"} - let s:pomegranate = ['#C0392B', 196] "red +let s:red = { "gui": "#FF0033", "cterm": "197", "cterm16": "1"} +let s:dark_red = { "gui": "#C0392B", "cterm": "196", "cterm16": "9"} - let s:peterriver = ['#3498DB', 68] "light blue +let s:green = { "gui": "#2ecc71", "cterm": "35", "cterm16": "2"} +let s:dark_green = { "gui": "#27ae60", "cterm": "36", "cterm16": "10"} - let s:turquoise = ['#1ABC9C', 37] +let s:yellow = { "gui": "#f1c40f", "cterm": "214", "cterm16": "3"} +let s:dark_yellow = { "gui": "#f39c12", "cterm": "208", "cterm16": "11"} - let s:gold = ['#FFD700', 220] +let s:blue = { "gui": "#3498db", "cterm": "33", "cterm16": "4"} +let s:dark_blue = { "gui": "#2980b9", "cterm": "32", "cterm16": "12"} - let s:moss = ['#004225', 22] "dark green +let s:purple = { "gui": "#9b59b6", "cterm": "56", "cterm16": "5"} +let s:dark_purple = { "gui": "#8e44ad", "cterm": "55", "cterm16": "13"} - let s:purple = ['#875faf', 97] " purple +let s:cyan = { "gui": "#1abc9c", "cterm": "116", "cterm16": "6"} +let s:dark_cyan = { "gui": "#16a085", "cterm": "110", "cterm16": "14"} - let s:text = s:clouds +let s:clouds = { "gui": "#ecf0f1", "cterm": "244", "cterm16": "244"} +let s:clouds_subtle = { "gui": "#DAE1E3", "cterm": "251", "cterm16": "251"} +let s:dark_clouds = { "gui": "#BECDD1", "cterm": "254", "cterm16": "254"} - if g:flatcolor_bluebg == 1 - let s:text_bg = ['#2c3e50', 23] - let s:cursorline = ['#34495e', 59] +if &background == "dark" + if g:flatcolor_asphaltbg == 1 + let s:bg = s:dark_asphalt + let s:bg_subtle = s:asphalt + let s:bg_very_subtle = s:asphalt_subtle else - let s:text_bg = ['#1C1C1C', 234] - let s:cursorline = ['#808080', 244] - endif - - let s:text_bg_light = ['#303030', 236] + let s:bg = s:black + let s:bg_subtle = s:light_black + let s:bg_very_subtle = s:subtle_black + end + let s:norm = s:lighter_gray + let s:norm_subtle = s:light_gray + let s:purple = s:purple + let s:cyan = s:cyan + let s:green = s:green + let s:red = s:red + let s:visual = s:lighter_black else - let s:white = ['#BDC3C7', 15] - let s:black = ['#292929', 8] - let s:greys = [['#BEBEBE', 250], ['#808080', 244], ['#696969', 242], ['#545454', 240], ['#343434', 236], ['#080808', 232]] - let s:darkgreys = [['#080808',232],['#121212',233],["#1c1c1c",234],['#262626',235],["#303030",236],["#3a3a3a",237],["#444444",238],["#4e4e4e",239]] - - let s:clouds = ['#ECF0F1', 15] " very light gray - - let s:cerise = ['#FF0033', 1] " red/ping - - let s:emerald = ['#2ECC71', 2] " green - - let s:orange = ['#F39C12', 11] - - let s:pomegranate = ['#C0392B', 9] "red - - let s:peterriver = ['#3498DB', 4] "light blue - - let s:turquoise = ['#1ABC9C', 6] - - let s:gold = ['#F1C40F', 3] - - let s:moss = ['#27ae60', 10] "dark green - - let s:purple = ['#9b59b6', 5] " purple - - let s:text = s:clouds - if g:flatcolor_bluebg == 1 - let s:text_bg = ['#2c3e50', 8] - let s:cursorline = ['#34495e', 0] - else - let s:text_bg = ['#1C1C1C', 8] - let s:cursorline = ['#808080', 0] - endif - let s:text_bg_light = ['#2b2b2b', 0] + let s:bg = s:clouds + let s:bg_subtle = s:dark_clouds + let s:bg_very_subtle = s:clouds_subtle + let s:norm = s:light_black + let s:norm_subtle = s:lighter_black + let s:purple = s:dark_purple + let s:cyan = s:dark_cyan + let s:green = s:dark_green + let s:red = s:dark_red + let s:visual = s:blue endif +let s:head_a = s:dark_blue +let s:head_b = s:blue +let s:head_c = s:dark_cyan -" pass empty string for defaults: guifg - fg, guibg - bg, gui - none, guisp - fg -function! s:Highlight(group_name, guifg, guibg, gui, guisp) - if !empty(a:guifg) - let guifg = a:guifg - else - let guifg = ['fg', 'fg'] - endif - if !empty(a:guibg) - let guibg = a:guibg - else - let guibg = ['bg', 'bg'] - endif - if !empty(a:gui) - let gui = a:gui - else - let gui = 'none' - endif - if !empty(a:guisp) - let guisp = a:guisp - else - let guisp = ['fg', 'fg'] - endif - - if has("gui_running") - exe 'hi ' . a:group_name . ' guifg=' . guifg[0] . ' guibg=' . guibg[0] . ' gui=' . gui . ' guisp=' . guisp[0] - else - exe 'hi ' . a:group_name . ' ctermfg=' . guifg[1] . ' ctermbg=' . guibg[1] . ' cterm=' . gui - endif -endfunction - -" Function without defaults. -function! s:HighlightX(group_name, guifg, guibg, gui, guisp) - if empty(a:guifg) && empty(a:guibg) && empty(a:gui) && !has("gui_running") - return - endif - - let hi_str = 'hi ' . a:group_name - - if !empty(a:guifg) - if has("gui_running") - let hi_str = hi_str . ' guifg=' . a:guifg[0] - else - let hi_str = hi_str . ' ctermfg=' . a:guifg[1] - endif - endif - - if !empty(a:guibg) - if has("gui_running") - let hi_str = hi_str . ' guibg=' . a:guibg[0] - else - let hi_str = hi_str . ' ctermbg=' . a:guibg[1] - endif - endif - - if !empty(a:gui) - if has("gui_running") - let hi_str = hi_str . ' gui=' . a:gui - else - let hi_str = hi_str . ' cterm=' . a:gui - endif - endif - - if !empty(a:guisp) && has("gui_running") - let hi_str = hi_str . ' guisp=' . a:guisp[0] - endif - - exe hi_str +" shamelessly stolen from hemisu: https://github.com/noahfrederick/vim-hemisu/ +function! s:h(group, style) + " Not all terminals support italics properly. If yours does, opt-in. + if g:flatcolor_terminal_italics == 0 && has_key(a:style, "cterm") && a:style["cterm"] == "italic" + unlet a:style.cterm + endif + if g:flatcolor_termcolors == 16 + let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE") + let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE") + else + let l:ctermfg = (has_key(a:style, "fg") ? a:style.fg.cterm16 : "NONE") + let l:ctermbg = (has_key(a:style, "bg") ? a:style.bg.cterm16 : "NONE") + end + execute "highlight" a:group + \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE") + \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE") + \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE") + \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE") + \ "ctermfg=" . l:ctermfg + \ "ctermbg=" . l:ctermbg + \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE") endfunction -call s:HighlightX('Normal', s:text, s:text_bg, '', '') - -call s:Highlight('Statement', s:cerise, '', 'bold', '') -call s:Highlight('Keyword', s:cerise, '', 'bold', '') -call s:Highlight('Conditional', s:cerise, '', 'bold', '') -call s:Highlight('Operator', s:cerise, '', '', '') -call s:Highlight('Label', s:cerise, '', '', '') -call s:Highlight('Repeat', s:cerise, '', 'bold', '') - -call s:Highlight('Type', s:pomegranate, '', '', '') -call s:Highlight('StorageClass', s:cerise, '', '', '') -call s:Highlight('Structure', s:cerise, '', '', '') -call s:Highlight('TypeDef', s:cerise, '', 'bold', '') - -call s:Highlight('Exception', s:turquoise, '', 'bold', '') -call s:Highlight('Include', s:turquoise, '', 'bold', '') - -call s:Highlight('PreProc', s:turquoise, '', '', '') -call s:Highlight('Macro', s:turquoise, '', '', '') -call s:Highlight('Define', s:turquoise, '', '', '') -call s:Highlight('Delimiter', s:turquoise, '', '', '') -call s:Highlight('Ignore', s:turquoise, '', '', '') -call s:Highlight('PreCondit', s:turquoise, '', 'bold', '') -call s:Highlight('Debug', s:turquoise, '', 'bold', '') - -call s:Highlight('Function', s:orange, '', '', '') -call s:Highlight('Identifier', s:orange, '', '', '') - -call s:Highlight('Comment', s:emerald, '', '', '') -call s:Highlight('CommentEmail', s:emerald, '', 'underline', '') -call s:Highlight('CommentUrl', s:emerald, '', 'underline', '') -call s:Highlight('SpecialComment', s:emerald, '', 'bold', '') -call s:Highlight('Todo', s:emerald, '', 'bold', '') - -call s:Highlight('String', s:gold, '', '', '') -call s:Highlight('SpecialKey', s:darkgreys[4], '', 'bold', '') -call s:Highlight('Special', s:peterriver, '', 'bold', '') -call s:Highlight('SpecialChar', s:peterriver, '', 'bold', '') - -call s:Highlight('Boolean', s:peterriver, '', 'bold', '') -call s:Highlight('Character', s:peterriver, '', 'bold', '') -call s:Highlight('Number', s:peterriver, '', 'bold', '') -call s:Highlight('Constant', s:peterriver, '', 'bold', '') -call s:Highlight('Float', s:peterriver, '', 'bold', '') - -call s:Highlight('FoldColumn', s:greys[1], s:black, '', '') -call s:Highlight('Folded', s:greys[1], s:black, '', '') - -call s:Highlight('MatchParen', s:black, s:orange, 'bold', '') - -call s:Highlight('LineNr', s:greys[2], s:darkgreys[2], '', '') - -call s:Highlight('NonText', s:greys[2], '', '', '') -call s:HighlightX('CursorColumn', '', s:darkgreys[4], '', '') -if g:flatcolor_cursorlinebold == 1 - call s:HighlightX('CursorLine', '', s:cursorline, 'bold', '') +" common groups ================================================================ +" (see `:h w18`) + +call s:h("Normal", {"bg": s:bg, "fg": s:norm}) +call s:h("Cursor", {"bg": s:blue, "fg": s:norm }) +call s:h("Comment", {"fg": s:medium_gray, "gui": "italic", "cterm": "italic"}) + +call s:h("Constant", {"fg": s:yellow}) +hi! link String Constant +hi! link Character Constant +hi! link Number Constant +hi! link Boolean Constant +hi! link Float Constant + +call s:h("Identifier", {"fg": s:dark_yellow}) +hi! link Function Identifier + +call s:h("Statement", {"fg": s:red}) +hi! link Conditonal Statement +hi! link Repeat Statement +hi! link Label Statement +hi! link Operator Statement +hi! link Keyword Statement +hi! link Exception Statement + +call s:h("PreProc", {"fg": s:green}) +hi! link Include PreProc +hi! link Define PreProc +hi! link Macro PreProc +hi! link PreCondit PreProc + +call s:h("Type", {"fg": s:blue}) +hi! link StorageClass Type +hi! link Structure Type +hi! link Typedef Type + +call s:h("Special", {"fg": s:cyan}) +hi! link SpecialChar Special +hi! link Tag Special +hi! link Delimiter Special +hi! link SpecialComment Special +hi! link Debug Special + +call s:h("Underlined", {"fg": s:norm , "gui": "underline", "cterm": "underline"}) +call s:h("Ignore", {"fg": s:bg }) +call s:h("Error", {"fg": s:actual_white, "bg": s:dark_red , "gui": "bold" , "cterm": "bold" }) +call s:h("Todo", {"fg": s:actual_white, "bg": s:blue, "gui": "bold" , "cterm": "bold" }) + +" ui chrome ==================================================================== +" ordered according to `:help hitest.vim` + +call s:h("SpecialKey", {"fg": s:blue}) +call s:h("Boolean", {"fg": s:purple}) +call s:h("Number", {"fg": s:purple}) +call s:h("Float", {"fg": s:purple}) +call s:h("NonText", {"fg": s:bg_subtle}) +call s:h("Directory", {"fg": s:purple}) +call s:h("ErrorMsg", {"fg": s:dark_red}) +call s:h("IncSearch", {"bg": s:red, "fg": s:clouds}) +call s:h("Search", {"bg": s:bg_subtle}) +call s:h("MoreMsg", {"fg": s:medium_gray, "gui": "bold", "cterm": "bold"}) +hi! link ModeMsg MoreMsg +call s:h("LineNr", {"fg": s:bg_subtle}) +call s:h("CursorLineNr", {"fg": s:blue, "bg": s:bg_very_subtle}) +call s:h("Question", {"fg": s:red}) +call s:h("StatusLine", {"bg": s:bg_very_subtle}) +call s:h("Conceal", {"fg": s:norm}) +call s:h("StatusLineNC", {"bg": s:bg_very_subtle, "fg": s:medium_gray}) +call s:h("VertSplit", {"bg": s:bg_very_subtle, "fg": s:bg_very_subtle}) +call s:h("Title", {"fg": s:dark_blue}) +call s:h("Visual", {"bg": s:visual}) +call s:h("VisualNOS", {"bg": s:bg_subtle}) +call s:h("WarningMsg", {"fg": s:dark_red}) +call s:h("WildMenu", {"fg": s:bg, "bg": s:norm}) +call s:h("Folded", {"fg": s:medium_gray}) +call s:h("FoldColumn", {"fg": s:bg_subtle}) +call s:h("DiffAdd", {"fg": s:green}) +call s:h("DiffDelete", {"fg": s:red}) +call s:h("DiffChange", {"fg": s:dark_yellow}) +call s:h("DiffText", {"fg": s:dark_blue}) +call s:h("SignColumn", {"fg": s:green}) + +if has("gui_running") + call s:h("SpellBad", {"gui": "underline", "sp": s:dark_red}) + call s:h("SpellCap", {"gui": "underline", "sp": s:green}) + call s:h("SpellRare", {"gui": "underline", "sp": s:red}) + call s:h("SpellLocal", {"gui": "underline", "sp": s:dark_green}) else - call s:HighlightX('CursorLine', '', s:cursorline, 'none', '') -endif -call s:Highlight('SignColumn', '', s:darkgreys[4], '', '') -call s:HighlightX('ColorColumn', '', s:darkgreys[4], '', '') - -call s:Highlight('Error', s:pomegranate, s:greys[5], 'bold', '') -call s:Highlight('ErrorMsg', s:pomegranate, '', 'bold', '') -call s:Highlight('WarningMsg', s:pomegranate, '', '', '') - -call s:Highlight('Cursor', s:darkgreys[3], s:white, '', '') -call s:Highlight('vCursor', s:darkgreys[3], s:white, '', '') -call s:Highlight('iCursor', s:darkgreys[3], s:white, '', '') - -call s:Highlight('StatusLine', s:white, s:black, 'bold', '') -call s:Highlight('StatusLineNC', s:greys[1], s:darkgreys[3], 'bold', '') -call s:Highlight('VertSplit', s:greys[1], s:darkgreys[3], 'bold', '') - -call s:Highlight('Conceal', s:emerald, '', '', '') - -call s:Highlight('ModeMsg', s:gold, '', 'bold', '') - -if has("spell") - call s:Highlight('SpellBad', s:pomegranate, '', '', '') - call s:HighlightX('SpellBad', '', '', 'undercurl', s:pomegranate) - call s:Highlight('SpellCap', s:pomegranate, '', '', '') - call s:HighlightX('SpellCap', '', '', 'undercurl', s:pomegranate) - call s:Highlight('SpellLocal', s:pomegranate, '', '', '') - call s:HighlightX('SpellLocal', '', '', 'undercurl', s:pomegranate) - call s:Highlight('SpellRare', s:pomegranate, '', '', '') - call s:HighlightX('SpellRare', '', '', 'undercurl', s:pomegranate) + call s:h("SpellBad", {"cterm": "underline", "fg": s:dark_red}) + call s:h("SpellCap", {"cterm": "underline", "fg": s:green}) + call s:h("SpellRare", {"cterm": "underline", "fg": s:red}) + call s:h("SpellLocal", {"cterm": "underline", "fg": s:dark_green}) endif - -call s:HighlightX('VisualNOS', '', s:purple, '', '') -call s:HighlightX('Visual', '', s:purple, '', '') -call s:Highlight('Search', s:white, s:cerise, '', '') -call s:Highlight('IncSearch', s:white, s:cerise, '', '') - -call s:Highlight('Pmenu', s:black, s:orange, '', '') -call s:Highlight('PmenuSel', s:orange, s:black, 'bold', '') -call s:Highlight('Pmenu', '', s:greys[5], '', '') -call s:Highlight('Pmenu', s:emerald, '', '', '') - -call s:HighlightX('DiffDelete', s:pomegranate, s:pomegranate, '', '') -call s:HighlightX('DiffText', '', s:greys[3], '', '') -call s:HighlightX('DiffChange', '', s:greys[4], '', '') -call s:HighlightX('DiffAdd', '', s:moss, '', '') - -call s:HighlightX('Underlined', '', '', 'underline', '') - -call s:Highlight('Directory', s:turquoise, '', '', '') -call s:Highlight('Question', s:turquoise, '', '', '') -call s:Highlight('MoreMsg', s:turquoise, '', '', '') - -call s:Highlight('WildMenu', s:black, s:peterriver, 'bold', '') - -call s:Highlight('Title', '', '', 'underline', '') - -call s:HighlightX('Tag', '', '', 'bold', '') - -"*** PYTHON *** -call s:Highlight('pythonDecorator', s:cerise, '', '', '') -call s:Highlight('pythonException', s:turquoise, '', 'bold', '') -call s:Highlight('pythonExceptions', s:turquoise, '', '', '') - -"*** RUBY *** -call s:Highlight('rubyModule', s:turquoise, '', '', '') -call s:Highlight('rubyModuleNameTag', s:text, '', '', '') -call s:Highlight('rubyPseudoVariable', s:text, '', '', '') -call s:Highlight('rubyClass', s:cerise, '', '', '') -call s:Highlight('rubyClassNameTag', s:orange, '', '', '') -call s:Highlight('rubyDefine', s:cerise, '', '', '') -call s:Highlight('rubyConstant', s:text, '', '', '') -call s:Highlight('rubyStringDelimiter', s:gold, '', '', '') -call s:Highlight('rubyInterpolation', s:peterriver, '', '', '') -call s:Highlight('rubyInterpolationDelimiter', s:peterriver, '', '', '') - -"*** JAVASCRIPT *** -call s:Highlight('javaScriptNull', s:peterriver, '', 'bold', '') -call s:Highlight('javaScriptNumber', s:peterriver, '', 'bold', '') -call s:Highlight('javaScriptFunction', s:cerise, '', '', '') -call s:Highlight('javaScriptOperator', s:cerise, '', 'bold', '') -call s:Highlight('javaScriptBraces', s:text, '', '', '') -call s:Highlight('javaScriptIdentifier', s:pomegranate, '', '', '') -call s:Highlight('javaScriptMember', s:orange, '', '', '') -call s:Highlight('javaScriptType', s:orange, '', '', '') - -"*** CLOJURE *** -call s:Highlight('clojureDefine', s:cerise, '', '', '') -call s:Highlight('clojureSpecial', s:cerise, '', '', '') -call s:Highlight('clojureCond', s:cerise, '', '', '') -call s:Highlight('clojureParen0', s:text, '', '', '') -call s:Highlight('clojureMacro', s:turquoise, '', 'bold', '') -call s:Highlight('clojureDispatch', s:peterriver, '', 'bold', '') -call s:Highlight('clojureError', s:black, s:pomegranate, 'bold', '') - -"*** SCALA *** -call s:Highlight('scalaClassName', s:orange, '', '', '') -call s:Highlight('scalaConstructor', s:text, '', '', '') - -"*** VIMSCRIPT *** -call s:Highlight('vimCommentTitle', s:emerald, '', 'bold', '') -call s:Highlight('vimParenSep', s:text, '', '', '') -call s:Highlight('vimSep', s:text, '', '', '') -call s:Highlight('vimOper', s:text, '', '', '') - -"*** XML *** -call s:Highlight('xmlProcessingDelim', s:pomegranate, '', '', '') -call s:Highlight('xmlNamespace', s:orange, '', '', '') -call s:Highlight('xmlTag', s:orange, '', '', '') -call s:Highlight('xmlTagName', s:orange, '', '', '') -call s:Highlight('xmlEndTag', s:orange, '', '', '') -call s:Highlight('xmlAttrib', s:pomegranate, '', '', '') -call s:Highlight('xmlAttribPunct', s:pomegranate, '', '', '') -call s:Highlight('xmlEntity', s:peterriver, '', 'bold', '') -call s:Highlight('xmlEntityPunct', s:peterriver, '', '', '') - -"*** HTML *** -call s:Highlight('htmlTagName', s:orange, '', '', '') -call s:Highlight('htmlTag', s:orange, '', '', '') -call s:Highlight('htmlTagN', s:orange, '', '', '') -call s:Highlight('htmlEvent', s:pomegranate, '', '', '') -call s:Highlight('htmlEventDQ', s:turquoise, '', '', '') -call s:Highlight('htmlH1', '', '', 'bold', '') -call s:Highlight('htmlH2', '', '', 'bold', '') -call s:Highlight('htmlH3', '', '', 'bold', '') -call s:Highlight('htmlH4', '', '', 'bold', '') -call s:Highlight('htmlScriptTag', s:turquoise, '', '', '') - -"*** HTML/JAVASCRIPT *** -call s:Highlight('javaScript', s:text, '', '', '') - -"*** CSS *** -call s:Highlight('cssSelectorOp', s:text, '', '', '') -call s:Highlight('cssSelectorOp2', s:text, '', '', '') -call s:Highlight('cssBraces', s:text, '', '', '') -call s:Highlight('cssPseudoClass', s:turquoise, '', '', '') -call s:Highlight('cssValueNumber', s:peterriver, '', '', '') -call s:Highlight('cssValueLength', s:peterriver, '', '', '') -call s:Highlight('cssColor', s:peterriver, '', '', '') -call s:Highlight('cssImportant', s:turquoise, '', 'bold', '') -call s:Highlight('cssCommonAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssRenderAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssBoxAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssUIAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssTextAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssTableAttr', s:peterriver, '', 'bold', '') -call s:Highlight('cssColorAttr', s:peterriver, '', 'bold', '') - -"*** minibufexpl *** -call s:Highlight('MBENormal', s:greys[1], '', '', '') -call s:Highlight('MBEVisibleNormal', s:white, '', 'bold', '') -call s:Highlight('MBEVisibleActive', s:emerald, '', 'bold', '') -call s:Highlight('MBEChanged', s:greys[1], '', 'italic', '') -call s:Highlight('MBEVisibleChanged', s:white, '', 'bold,italic', '') -call s:Highlight('MBEVisibleChangedActive', s:emerald, '', 'bold,italic', '') - -"*** vim-easymotion *** -call s:Highlight('EasyMotionTarget', s:cerise, '', 'bold', '') -call s:Highlight('EasyMotionShade', s:greys[2], '', '', '') - -"*** CtrlP *** -call s:Highlight('CtrlPNoEntries', s:pomegranate, '', '', '') -call s:Highlight('CtrlPPrtBase', '', '', 'bold', '') - -"*** taglist.vim *** -call s:Highlight('TagListTitle', s:white, '', 'bold', '') -call s:Highlight('TagListFileName', s:pomegranate, '', '', '') - -"*** Tabs *** -call s:Highlight('TabLineFill', s:darkgreys[1], '', '', '') -call s:Highlight('TabLine', s:greys[1], '', '', '') -call s:Highlight('TabLineSel', s:white, s:peterriver, '', '') - -"*** CtrlSpace *** -call s:Highlight('CtrlSpaceSelected', s:white, s:peterriver, '', '') -call s:Highlight('CtrlSpaceNormal', '', '', '', '') -call s:Highlight('CtrlSpaceFound', s:white, s:cerise, '', '') - -"*** IndentGuides *** -call s:Highlight('IndentGuidesOdd', '', s:text_bg, '', '') -call s:Highlight('IndentGuidesEven', '', s:text_bg_light, '', '') +call s:h("Pmenu", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuSel", {"fg": s:norm, "bg": s:blue}) +call s:h("PmenuSbar", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("PmenuThumb", {"fg": s:norm, "bg": s:bg_subtle}) +call s:h("TabLine", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("TabLineSel", {"fg": s:blue, "bg": s:bg_subtle, "gui": "bold", "cterm": "bold"}) +call s:h("TabLineFill", {"fg": s:norm, "bg": s:bg_very_subtle}) +call s:h("CursorColumn", {"bg": s:bg_very_subtle}) +call s:h("CursorLine", {"bg": s:bg_very_subtle}) +call s:h("ColorColumn", {"bg": s:bg_subtle}) + +" remainder of syntax highlighting +call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm}) +call s:h("qfLineNr", {"fg": s:medium_gray}) + +" hi helpHyperTextJump guifg=#5FAFD7 ctermfg=74 + +" HTML syntax +hi! link htmlTag Special +hi! link htmlEndTag htmlTag + +hi! link htmlTagName KeyWord +" html5 tags show up as htmlTagN +hi! link htmlTagN Keyword + +" HTML content +call s:h("htmlH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" }) +call s:h("htmlH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" }) +call s:h("htmlH3", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" }) +call s:h("htmlH4", {"fg": s:head_b, "gui": "italic" , "cterm": "italic" }) +call s:h("htmlH5", {"fg": s:head_c }) +call s:h("htmlH6", {"fg": s:head_c }) +call s:h("htmlLink", {"fg": s:blue , "gui": "underline" , "cterm": "underline"}) +call s:h("htmlItalic", { "gui": "italic" , "cterm": "italic" }) +call s:h("htmlBold", { "gui": "bold" , "cterm": "bold" }) +call s:h("htmlBoldItalic",{ "gui": "bold,italic", "cterm": "bold" }) +" hi htmlString guifg=#87875f guibg=NONE gui=NONE ctermfg=101 ctermbg=NONE cterm=NONE + +" tpope/vim-markdown +call s:h("markdownBlockquote", {"fg": s:norm}) +call s:h("markdownBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" }) +call s:h("markdownBoldItalic", {"fg": s:norm , "gui": "bold,italic", "cterm": "bold" }) +call s:h("markdownEscape", {"fg": s:norm}) +call s:h("markdownH1", {"fg": s:head_a, "gui": "bold,italic", "cterm": "bold" }) +call s:h("markdownH2", {"fg": s:head_a, "gui": "bold" , "cterm": "bold" }) +call s:h("markdownH3", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"}) +call s:h("markdownH4", {"fg": s:head_a, "gui": "italic" , "cterm": "italic"}) +call s:h("markdownH5", {"fg": s:head_a}) +call s:h("markdownH6", {"fg": s:head_a}) +call s:h("markdownHeadingDelimiter", {"fg": s:norm}) +call s:h("markdownHeadingRule", {"fg": s:norm}) +call s:h("markdownId", {"fg": s:medium_gray}) +call s:h("markdownIdDeclaration", {"fg": s:norm_subtle}) +call s:h("markdownItalic", {"fg": s:norm , "gui": "italic" , "cterm": "italic"}) +call s:h("markdownLinkDelimiter", {"fg": s:medium_gray}) +call s:h("markdownLinkText", {"fg": s:norm}) +call s:h("markdownLinkTextDelimiter", {"fg": s:medium_gray}) +call s:h("markdownListMarker", {"fg": s:norm}) +call s:h("markdownOrderedListMarker", {"fg": s:norm}) +call s:h("markdownRule", {"fg": s:norm}) +call s:h("markdownUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("markdownUrlDelimiter", {"fg": s:medium_gray}) +call s:h("markdownUrlTitle", {"fg": s:norm}) +call s:h("markdownUrlTitleDelimiter", {"fg": s:medium_gray}) +call s:h("markdownCode", {"fg": s:norm}) +call s:h("markdownCodeDelimiter", {"fg": s:norm}) + +" plasticboy/vim-markdown +call s:h("mkdBlockQuote", {"fg": s:norm}) +call s:h("mkdDelimiter", {"fg": s:medium_gray}) +call s:h("mkdID", {"fg": s:medium_gray}) +call s:h("mkdLineContinue", {"fg": s:norm}) +call s:h("mkdLink", {"fg": s:norm}) +call s:h("mkdLinkDef", {"fg": s:medium_gray}) +call s:h("mkdListItem", {"fg": s:norm}) +call s:h("mkdNonListItemBlock", {"fg": s:norm}) " bug in syntax? +call s:h("mkdRule", {"fg": s:norm}) +call s:h("mkdUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("mkdCode", {"fg": s:norm}) +call s:h("mkdIndentCode", {"fg": s:norm}) + +" gabrielelana/vim-markdown +call s:h("markdownBlockquoteDelimiter", {"fg": s:norm}) +call s:h("markdownInlineDelimiter", {"fg": s:norm}) +call s:h("markdownItemDelimiter", {"fg": s:norm}) +call s:h("markdownLinkReference", {"fg": s:medium_gray}) +call s:h("markdownLinkText", {"fg": s:norm}) +call s:h("markdownLinkTextContainer", {"fg": s:medium_gray}) +call s:h("markdownLinkUrl", {"fg": s:medium_gray, "gui": "underline", "cterm": "underline"}) +call s:h("markdownLinkUrlContainer", {"fg": s:medium_gray}) +call s:h("markdownFencedCodeBlock", {"fg": s:norm}) +call s:h("markdownInlineCode", {"fg": s:norm}) + +" mattly/vim-markdown-enhancements +call s:h("mmdFootnoteDelimiter", {"fg": s:medium_gray}) +call s:h("mmdFootnoteMarker", {"fg": s:norm}) +call s:h("mmdTableAlign", {"fg": s:norm}) +call s:h("mmdTableDelimiter", {"fg": s:norm}) +call s:h("mmdTableHeadDelimiter", {"fg": s:norm}) +call s:h("mmdTableHeader", {"fg": s:norm}) +call s:h("mmdTableCaptionDelimiter", {"fg": s:norm}) +call s:h("mmdTableCaption", {"fg": s:norm}) + +" Textile content +" https://github.com/timcharper/textile.vim/blob/master/syntax/textile.vim +"call s:h("txtBold", {"fg": s:norm , "gui": "bold" , "cterm": "bold" }) +"call s:h("txtEmphasis", {"fg": s:norm , "gui": "italic" , "cterm": "italic"}) + +" XML content +hi! link xmlTag htmlTag +hi! link xmlEndTag xmlTag +hi! link xmlTagName htmlTagName + +" Signify, git-gutter +hi link SignifySignAdd LineNr +hi link SignifySignDelete LineNr +hi link SignifySignChange LineNr +hi link GitGutterAdd LineNr +hi link GitGutterDelete LineNr +hi link GitGutterChange LineNr +hi link GitGutterChangeDelete LineNr