<% # RNB, A VIM COLORSCHEME TEMPLATE # Author: Romain Lafourcade (https://github.com/romainl) # Canonical URL: https://gist.github.com/romainl/5cd2f4ec222805f49eca # This template is designed to help vimmers create their own colorschemes # without much effort. # # You will need Ruby to generate your colorscheme but Ruby knowledge is # not needed at all. # # The process is divided in four steps: # 1. start by editing your colorscheme's information, # 2. define your colors, # 3. define your highlight groups and links, # 4. and generate your colorscheme. # Step 1: information # # Make sure the name of your colorscheme is unique and attractive. # The description should fit in a single line with no linefeed. # 'background' can be "light" or "dark". information = { author: "foo", email: "foo@foo.foo", name: "bar", description: "Lorem ipsum dolor sit amet.", background: "light", webpage: "http://www.example.com" } # Step 2: colors # # black = [ give each color a distinctive name # "#000000", hexadecimal color for GVim/MacVim and "true colors" terminals # 0, integer between 0 and 255 for terminals supporting 256 colors # "black" color name for less capable color terminals, can be "darkred", "red", # "darkgreen", "green", "darkyellow", "yellow", "darkblue", "blue", # "darkmagenta", "magenta", "black", "darkgrey", "grey", "white" # ] # # If your colors are defined correctly, the resulting colorscheme is guaranteed # to work in GVim (Windows/Linux), MacVim, and any properly set up terminal emulator. # # The colors below are the first 16 colors of the xterm palette. They # are only here as an example so you can get rid of them, I won't be mad. black = ["#000000", 0, "black"] darkred = ["#800000", 1, "darkred"] darkgreen = ["#008000", 2, "darkgreen"] darkyellow = ["#808000", 3, "darkyellow"] darkblue = ["#000080", 4, "darkblue"] darkmagenta = ["#800080", 5, "darkmagenta"] darkcyan = ["#008080", 6, "darkcyan"] gray = ["#c0c0c0", 7, "gray"] darkgray = ["#808080", 8, "darkgray"] red = ["#ff0000", 9, "red"] green = ["#00ff00", 10, "green"] yellow = ["#ffff00", 11, "yellow"] blue = ["#0000ff", 12, "blue"] magenta = ["#ff00ff", 13, "magenta"] cyan = ["#00ffff", 14, "cyan"] white = ["#ffffff", 15, "white"] # dark background #hi! gitGutterAdd guifg=#344230 cterm=bold gui=bold #hi! GitGutterChange guifg=#483b2b cterm=bold gui=bold #hi! gitGutterDelete guifg=#582b2b cterm=bold gui=bold #hi! gitGutterChangeDelete guifg=#583b2b cterm=bold gui=bold # light background #hi! gitGutterAdd guifg=#788f71 cterm=bold gui=bold #hi! GitGutterChange guifg=#8f8671 cterm=bold gui=bold ##hi! gitGutterDelete guifg=#8f7171 cterm=bold gui=bold #hi! gitGutterChangeDelete guifg=#8f755c cterm=bold gui=bold m00 = ["#000000"] # normal bg m09 = ["#090909"] m10 = ["#101010"] m11 = ["#111111"] m12 = ["#121212"] m1c = ["#1c1c1c"] m22 = ["#222222"] m25 = ["#252525"] m26 = ["#262626"] m29 = ["#292929"] m33 = ["#333333"] m36 = ["#363636"] m38 = ["#383838"] m3a = ["#3a3a3a"] m40 = ["#404040"] m44 = ["#444444"] m4E = ["#4e4e4e"] m50 = ["#505050"] m55 = ["#555555"] # normal fg m57 = ["#575757"] m58 = ["#585858"] m66 = ["#666666"] m71 = ["#717171"] m70 = ["#707070"] m76 = ["#767676"] m77 = ["#777777"] m71 = ["#717171"] m7c = ["#7c7c7c"] m85 = ["#858585"] m80 = ["#808080"] m80 = ["#808080"] m87 = ["#878787"] m88 = ["#888888"] m93 = ["#939393"] m99 = ["#999999"] m9e = ["#9e9e9e"] mA8 = ["#a8a8a8"] mAA = ["#aaaaaa"] mA6 = ["#a6a6a6"] mB2 = ["#b2b2b2"] mBB = ["#bbbbbb"] mC0 = ["#c0c0c0"] mC6 = ["#c6c6c6"] mC7 = ["#c7c7c7"] mCC = ["#cccccc"] mDD = ["#dddddd"] mE6 = ["#e6e6e6"] mEE = ["#eeeeee"] mF6 = ["#f6f6f6"] # normal bg mFF = ["#ffffff"] r1d = ["#1d0808"] # colorcolumn r20 = ["#200000"] r22 = ["#220000"] r29 = ["#290000"] r44 = ["#440000"] r45 = ["#450000"] r55 = ["#550000"] r66 = ["#660000"] t87 = ["#870000"] r8b = ["#8b0606"] r9d = ["#9d0606"] rA0 = ["#aa0000"] rAE = ["#ae0707"] rBF = ["#bf0707"] rCC = ["#cc0000"] rEE = ["#ee0000"] rF0 = ["#ff0000"] r74 = ["#744746"] rC4 = ["#7f4e4c"] r9e = ["#9e7a7a"] rC1 = ["#c17573"] rD0 = ["#d09796"] rCD = ["#cdbdba"] r73 = ["#736060"] rCA = ["#ccaaaa"] rDB = ["#ddbbbb"] rDC = ["#ddcccc"] rf7 = ["#f7dfdf"] rf2 = ["#f2e6e6"] r21 = ["#472129"] r66 = ["#663c3b"] r9f = ["#945f5d"] rA7 = ["#aa7674"] rE7 = ["#ee7777"] rfa = ["#ffaaaa"] g10 = ["#001000"] g54 = ["#54b082"] g83 = ["#83a695"] g5A = ["#5a635a"] gCD = ["#ccddcc"] g4D = ["#4d955f"] bA9 = ["#a9ccd6"] bB3 = ["#b3c2c7"] bc1 = ["#c1e7f4"] baf = ["#00baff"] b48 = ["#484a4d"] b37 = ["#373e61"] b50 = ["#505b8f"] b3d = ["#3d3d96"] b5f = ["#5f82b7"] p61 = ["#615d7a"] p99 = ["#9999bb"] pBB = ["#bbbbdd"] p61 = ["#616185"] p76 = ["#7676a2"] p9B = ["#9b9bbb"] # Step 3: highlights # # You can define highlight groups like this: # # [ "Normal", name of the highlight group # white, the color used for background color, or use "NONE", "fg" or "bg" # darkgray, the color used for foreground color, or use "NONE", "fg" or "bg" # "NONE" style, can be "bold", "underline", "reverse", "italic", # "standout", "NONE" or "undercurl" # ] # # The sample above tells Vim to render normal text in dark gray against a white # background, without any styling. # # or link an highlight group to another: # # [ "Title", "Normal" ] # # In GUI Vim, there is an additional color for the undercurl used to # highlight spelling mistakes: # # [ "SpellBad", name of the highlight group # "NONE", the color used for background color, or use "NONE", "fg" or "bg" # red, the color used for foreground color, or use "NONE", "fg" or "bg" # "undercurl", style # red color used for the undercurl # ] # # The sample above tells Vim to render badly spelled words in red against the current # background, with a red undercurl. # # You can add any custom highlight group to the standard list below but you shouldn't # remove any if you want a working colorscheme. highlights = [ [ "Normal", white, darkgray, "NONE" ], [ "NonText", white, darkgray, "NONE" ], [ "Comment", white, darkgray, "NONE" ], [ "Constant", white, darkgray, "NONE" ], [ "Error", white, darkgray, "NONE" ], [ "Identifier", white, darkgray, "NONE" ], [ "Ignore", white, darkgray, "NONE" ], [ "PreProc", white, darkgray, "NONE" ], [ "Special", white, darkgray, "NONE" ], [ "Statement", white, darkgray, "NONE" ], [ "String", white, darkgray, "NONE" ], [ "Number", white, darkgray, "NONE" ], [ "Todo", white, darkgray, "NONE" ], [ "Type", white, darkgray, "NONE" ], [ "Underlined", white, darkgray, "NONE" ], [ "StatusLine", white, darkgray, "NONE" ], [ "StatusLineNC", white, darkgray, "NONE" ], [ "VertSplit", white, darkgray, "NONE" ], [ "TabLine", white, darkgray, "NONE" ], [ "TabLineFill", white, darkgray, "NONE" ], [ "TabLineSel", white, darkgray, "NONE" ], [ "Title", white, darkgray, "NONE" ], [ "CursorLine", white, darkgray, "NONE" ], [ "LineNr", white, darkgray, "NONE" ], [ "CursorLineNr", white, darkgray, "NONE" ], [ "helpLeadBlank", white, darkgray, "NONE" ], [ "helpNormal", white, darkgray, "NONE" ], [ "Visual", white, darkgray, "NONE" ], [ "VisualNOS", white, darkgray, "NONE" ], [ "Pmenu", white, darkgray, "NONE" ], [ "PmenuSbar", white, darkgray, "NONE" ], [ "PmenuSel", white, darkgray, "NONE" ], [ "PmenuThumb", white, darkgray, "NONE" ], [ "FoldColumn", white, darkgray, "NONE" ], [ "Folded", white, darkgray, "NONE" ], [ "WildMenu", white, darkgray, "NONE" ], [ "SpecialKey", white, darkgray, "NONE" ], [ "DiffAdd", white, darkgray, "NONE" ], [ "DiffChange", white, darkgray, "NONE" ], [ "DiffDelete", white, darkgray, "NONE" ], [ "DiffText", white, darkgray, "NONE" ], [ "IncSearch", white, darkgray, "NONE" ], [ "Search", white, darkgray, "NONE" ], [ "Directory", white, darkgray, "NONE" ], [ "MatchParen", white, darkgray, "NONE" ], [ "SpellBad", white, darkgray, "NONE", red ], [ "SpellCap", white, darkgray, "NONE", blue ], [ "SpellLocal", white, darkgray, "NONE", magenta ], [ "SpellRare", white, darkgray, "NONE", cyan ], [ "ColorColumn", white, darkgray, "NONE" ], [ "signColumn", white, darkgray, "NONE" ], [ "ErrorMsg", white, darkgray, "NONE" ], [ "ModeMsg", white, darkgray, "NONE" ], [ "MoreMsg", white, darkgray, "NONE" ], [ "Question", white, darkgray, "NONE" ], [ "WarningMsg", white, darkgray, "NONE" ], [ "Cursor", white, darkgray, "NONE" ], [ "CursorColumn", white, darkgray, "NONE" ] ] # Step 4: generation # # From a separate shell: # # $ erb -T - bar.erb > bar.vim # # From Vim: # # :!erb -T - % > %:r.vim # These online resources can help you design your colorscheme: # # * http://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg # the xterm palette # * http://whatcolor.herokuapp.com/ # play with hexadecimal colors right in the address bar (currently down) # * http://color.hailpixel.com/ # similar concept, fuzzier implementation # * http://colourco.de/ # similar concept, fancier implementation # * http://www.colr.org/ # extract a palette from an image # * http://colores.manugarri.com/ # search for 'word', get images and color palettes # * http://www.colourlovers.com/palettes # user-created palettes # * http://www.perbang.dk/color+scheme/ # a no-nonsense colorscheme generator # * https://color.adobe.com/ # Adobe's fancy colorscheme generator # * http://paletton.com/ # The classic 'Color Scheme Designer', rebranded # * http://vrl.cs.brown.edu/color # A very smart palette generator # * https://cmcenroe.me/2018/04/03/colour-scheme.html # "I Made My Own Colour Scheme and You Can Too!" # A few general advices: # # * The Windows console is limited to the 16 so-called "ANSI" colors but it has # a few of them interverted which makes numbers impractical. Use color names # instead of numbers: :help cterm-colors # * The Windows console (yeah…) doesn't do italics, underlines or bolded text; # it is limited to normal and reverse. Keep that in mind if you want # your colorscheme to be usable in as many environments as possible by as many # people as possible. # * All of the terminal emulators in use these days allow their users to # change the 16 so-called "ANSI" colors. It is also possible on some platforms # to change some or all of the 256 colors in the xterm palette. Don't take # anything for granted. # * When used against a light background, strong colors work better than muted # ones. Light or dark doesn't really matters. Also, it is harder to discriminate # between two similar colors on a light background. # * Both strong and muted colors work well against a dark background. It is also # easier to work with similar colors, but dark colors don't work at all. # * Use as many text samples as possible. String-heavy languages may look completely # different than keyword-heavy ones. This can have an impact on the usability # of your colorscheme. # * Most terminal emulators and terminal multiplexers currently in use on unix-like # systems support 256 colors but they almost always default to a '$TERM' that tells # Vim otherwise. Your users will need to make sure their terminal emulator/multiplexer # is correctly set up if they want to enjoy the best possible experience. # Many thanks to Barry Arthur (https://github.com/dahu) for the original idea. # You don't need to edit anything beyond this line. -%> " <%= information[:name] %>.vim -- Vim color scheme. " Author: <%= information[:author] %> (<%= information[:email] %>) " Webpage: <%= information[:webpage] %> " Description: <%= information[:description] %> hi clear if exists("syntax_on") syntax reset endif let colors_name = "<%= information[:name] %>" if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running") <% for highlight in highlights -%> <% if highlight.length == 2 -%> hi link <%= highlight[0] %> <%= highlight[1] %> <% elsif highlight.length == 4 -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][1] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][0] %> guifg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][0] %> gui=<%= highlight[3] %> <% if highlight[0] == "Normal" -%> set background=<%= information[:background] %> <% end -%> <% else -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][1] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][0] %> guifg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][0] %> gui=<%= highlight[3] %> guisp=<%= highlight[4].kind_of?(String) ? highlight[4] : highlight[4][0] %> <% end -%> <% end -%> elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 set t_Co=16 <% for highlight in highlights -%> <% if highlight.length == 2 -%> hi link <%= highlight[0] %> <%= highlight[1] %> <% else -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][2] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][2] %> cterm=<%= highlight[3] %> <% if highlight[0] == "Normal" -%> set background=<%= information[:background] %> <% end -%> <% end -%> <% end -%> endif " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)<% # RNB, A VIM COLORSCHEME TEMPLATE # Author: Romain Lafourcade (https://github.com/romainl) # Canonical URL: https://gist.github.com/romainl/5cd2f4ec222805f49eca # This template is designed to help vimmers create their own colorschemes # without much effort. # # You will need Ruby to generate your colorscheme but Ruby knowledge is # not needed at all. # # The process is divided in four steps: # 1. start by editing your colorscheme's information, # 2. define your colors, # 3. define your highlight groups and links, # 4. and generate your colorscheme. # Step 1: information # # Make sure the name of your colorscheme is unique and attractive. # The description should fit in a single line with no linefeed. # 'background' can be "light" or "dark". information = { author: "foo", email: "foo@foo.foo", name: "bar", description: "Lorem ipsum dolor sit amet.", background: "light", webpage: "http://www.example.com" } # Step 2: colors # # black = [ give each color a distinctive name # "#000000", hexadecimal color for GVim/MacVim and "true colors" terminals # 0, integer between 0 and 255 for terminals supporting 256 colors # "black" color name for less capable color terminals, can be "darkred", "red", # "darkgreen", "green", "darkyellow", "yellow", "darkblue", "blue", # "darkmagenta", "magenta", "black", "darkgrey", "grey", "white" # ] # # If your colors are defined correctly, the resulting colorscheme is guaranteed # to work in GVim (Windows/Linux), MacVim, and any properly set up terminal emulator. # # The colors below are the first 16 colors of the xterm palette. They # are only here as an example so you can get rid of them, I won't be mad. black = ["#000000", 0, "black"] darkred = ["#800000", 1, "darkred"] darkgreen = ["#008000", 2, "darkgreen"] darkyellow = ["#808000", 3, "darkyellow"] darkblue = ["#000080", 4, "darkblue"] darkmagenta = ["#800080", 5, "darkmagenta"] darkcyan = ["#008080", 6, "darkcyan"] gray = ["#c0c0c0", 7, "gray"] darkgray = ["#808080", 8, "darkgray"] red = ["#ff0000", 9, "red"] green = ["#00ff00", 10, "green"] yellow = ["#ffff00", 11, "yellow"] blue = ["#0000ff", 12, "blue"] magenta = ["#ff00ff", 13, "magenta"] cyan = ["#00ffff", 14, "cyan"] white = ["#ffffff", 15, "white"] # Step 3: highlights # # You can define highlight groups like this: # # [ "Normal", name of the highlight group # white, the color used for background color, or use "NONE", "fg" or "bg" # darkgray, the color used for foreground color, or use "NONE", "fg" or "bg" # "NONE" style, can be "bold", "underline", "reverse", "italic", # "standout", "NONE" or "undercurl" # ] # # The sample above tells Vim to render normal text in dark gray against a white # background, without any styling. # # or link an highlight group to another: # # [ "Title", "Normal" ] # # In GUI Vim, there is an additional color for the undercurl used to # highlight spelling mistakes: # # [ "SpellBad", name of the highlight group # "NONE", the color used for background color, or use "NONE", "fg" or "bg" # red, the color used for foreground color, or use "NONE", "fg" or "bg" # "undercurl", style # red color used for the undercurl # ] # # The sample above tells Vim to render badly spelled words in red against the current # background, with a red undercurl. # # You can add any custom highlight group to the standard list below but you shouldn't # remove any if you want a working colorscheme. highlights = [ [ "Normal", white, darkgray, "NONE" ], [ "NonText", white, darkgray, "NONE" ], [ "Comment", white, darkgray, "NONE" ], [ "Constant", white, darkgray, "NONE" ], [ "Error", white, darkgray, "NONE" ], [ "Identifier", white, darkgray, "NONE" ], [ "Ignore", white, darkgray, "NONE" ], [ "PreProc", white, darkgray, "NONE" ], [ "Special", white, darkgray, "NONE" ], [ "Statement", white, darkgray, "NONE" ], [ "String", white, darkgray, "NONE" ], [ "Number", white, darkgray, "NONE" ], [ "Todo", white, darkgray, "NONE" ], [ "Type", white, darkgray, "NONE" ], [ "Underlined", white, darkgray, "NONE" ], [ "StatusLine", white, darkgray, "NONE" ], [ "StatusLineNC", white, darkgray, "NONE" ], [ "VertSplit", white, darkgray, "NONE" ], [ "TabLine", white, darkgray, "NONE" ], [ "TabLineFill", white, darkgray, "NONE" ], [ "TabLineSel", white, darkgray, "NONE" ], [ "Title", white, darkgray, "NONE" ], [ "CursorLine", white, darkgray, "NONE" ], [ "LineNr", white, darkgray, "NONE" ], [ "CursorLineNr", white, darkgray, "NONE" ], [ "helpLeadBlank", white, darkgray, "NONE" ], [ "helpNormal", white, darkgray, "NONE" ], [ "Visual", white, darkgray, "NONE" ], [ "VisualNOS", white, darkgray, "NONE" ], [ "Pmenu", white, darkgray, "NONE" ], [ "PmenuSbar", white, darkgray, "NONE" ], [ "PmenuSel", white, darkgray, "NONE" ], [ "PmenuThumb", white, darkgray, "NONE" ], [ "FoldColumn", white, darkgray, "NONE" ], [ "Folded", white, darkgray, "NONE" ], [ "WildMenu", white, darkgray, "NONE" ], [ "SpecialKey", white, darkgray, "NONE" ], [ "DiffAdd", white, darkgray, "NONE" ], [ "DiffChange", white, darkgray, "NONE" ], [ "DiffDelete", white, darkgray, "NONE" ], [ "DiffText", white, darkgray, "NONE" ], [ "IncSearch", white, darkgray, "NONE" ], [ "Search", white, darkgray, "NONE" ], [ "Directory", white, darkgray, "NONE" ], [ "MatchParen", white, darkgray, "NONE" ], [ "SpellBad", white, darkgray, "NONE", red ], [ "SpellCap", white, darkgray, "NONE", blue ], [ "SpellLocal", white, darkgray, "NONE", magenta ], [ "SpellRare", white, darkgray, "NONE", cyan ], [ "ColorColumn", white, darkgray, "NONE" ], [ "signColumn", white, darkgray, "NONE" ], [ "ErrorMsg", white, darkgray, "NONE" ], [ "ModeMsg", white, darkgray, "NONE" ], [ "MoreMsg", white, darkgray, "NONE" ], [ "Question", white, darkgray, "NONE" ], [ "WarningMsg", white, darkgray, "NONE" ], [ "Cursor", white, darkgray, "NONE" ], [ "CursorColumn", white, darkgray, "NONE" ] ] # Step 4: generation # # From a separate shell: # # $ erb -T - bar.erb > bar.vim # # From Vim: # # :!erb -T - % > %:r.vim # These online resources can help you design your colorscheme: # # * http://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg # the xterm palette # * http://whatcolor.herokuapp.com/ # play with hexadecimal colors right in the address bar (currently down) # * http://color.hailpixel.com/ # similar concept, fuzzier implementation # * http://colourco.de/ # similar concept, fancier implementation # * http://www.colr.org/ # extract a palette from an image # * http://colores.manugarri.com/ # search for 'word', get images and color palettes # * http://www.colourlovers.com/palettes # user-created palettes # * http://www.perbang.dk/color+scheme/ # a no-nonsense colorscheme generator # * https://color.adobe.com/ # Adobe's fancy colorscheme generator # * http://paletton.com/ # The classic 'Color Scheme Designer', rebranded # * http://vrl.cs.brown.edu/color # A very smart palette generator # * https://cmcenroe.me/2018/04/03/colour-scheme.html # "I Made My Own Colour Scheme and You Can Too!" # A few general advices: # # * The Windows console is limited to the 16 so-called "ANSI" colors but it has # a few of them interverted which makes numbers impractical. Use color names # instead of numbers: :help cterm-colors # * The Windows console (yeah…) doesn't do italics, underlines or bolded text; # it is limited to normal and reverse. Keep that in mind if you want # your colorscheme to be usable in as many environments as possible by as many # people as possible. # * All of the terminal emulators in use these days allow their users to # change the 16 so-called "ANSI" colors. It is also possible on some platforms # to change some or all of the 256 colors in the xterm palette. Don't take # anything for granted. # * When used against a light background, strong colors work better than muted # ones. Light or dark doesn't really matters. Also, it is harder to discriminate # between two similar colors on a light background. # * Both strong and muted colors work well against a dark background. It is also # easier to work with similar colors, but dark colors don't work at all. # * Use as many text samples as possible. String-heavy languages may look completely # different than keyword-heavy ones. This can have an impact on the usability # of your colorscheme. # * Most terminal emulators and terminal multiplexers currently in use on unix-like # systems support 256 colors but they almost always default to a '$TERM' that tells # Vim otherwise. Your users will need to make sure their terminal emulator/multiplexer # is correctly set up if they want to enjoy the best possible experience. # Many thanks to Barry Arthur (https://github.com/dahu) for the original idea. # You don't need to edit anything beyond this line. -%> " <%= information[:name] %>.vim -- Vim color scheme. " Author: <%= information[:author] %> (<%= information[:email] %>) " Webpage: <%= information[:webpage] %> " Description: <%= information[:description] %> hi clear if exists("syntax_on") syntax reset endif let colors_name = "<%= information[:name] %>" if ($TERM =~ '256' || &t_Co >= 256) || has("gui_running") <% for highlight in highlights -%> <% if highlight.length == 2 -%> hi link <%= highlight[0] %> <%= highlight[1] %> <% elsif highlight.length == 4 -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][1] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][0] %> guifg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][0] %> gui=<%= highlight[3] %> <% if highlight[0] == "Normal" -%> set background=<%= information[:background] %> <% end -%> <% else -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][1] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][0] %> guifg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][0] %> gui=<%= highlight[3] %> guisp=<%= highlight[4].kind_of?(String) ? highlight[4] : highlight[4][0] %> <% end -%> <% end -%> elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16 set t_Co=16 <% for highlight in highlights -%> <% if highlight.length == 2 -%> hi link <%= highlight[0] %> <%= highlight[1] %> <% else -%> hi <%= highlight[0] %> ctermbg=<%= highlight[1].kind_of?(String) ? highlight[1] : highlight[1][2] %> ctermfg=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[2][2] %> cterm=<%= highlight[3] %> <% if highlight[0] == "Normal" -%> set background=<%= information[:background] %> <% end -%> <% end -%> <% end -%> endif " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)