Skip to content

Instantly share code, notes, and snippets.

@cwonrails
Forked from romainl/_rnb.md
Last active August 29, 2015 14:26
Show Gist options
  • Save cwonrails/67c0e4b57c30c06ea349 to your computer and use it in GitHub Desktop.
Save cwonrails/67c0e4b57c30c06ea349 to your computer and use it in GitHub Desktop.

Revisions

  1. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -21,12 +21,12 @@
    # The description should fit in a single line with no linefeed.
    # 'background' can be "light" or "dark".
    information = {
    author: "foo",
    email: "[email protected]",
    name: "bar",
    author: "foo",
    email: "[email protected]",
    name: "bar",
    description: "Lorem ipsum dolor sit amet.",
    background: "light",
    webpage: "http://www.example.com"
    background: "light",
    webpage: "http://www.example.com"
    }

    # Step 2: colors
  2. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@
    #
    # 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"
    # 'background' can be "light" or "dark".
    information = {
    author: "foo",
    email: "[email protected]",
    @@ -85,7 +85,7 @@
    #
    # The highlight groups below are fairly standard and should give you a
    # working colorscheme. Some syntax scripts and plugins may define their own, though,
    # so eel free to add them to this array as needed.
    # so feel free to add them to this array as needed.
    highlights = [
    [ "Normal", white, darkgray, "NONE" ],
    [ "NonText", white, darkgray, "NONE" ],
  3. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -179,7 +179,7 @@

    # A few general advices:
    # * The Windows console is limited to the 16 "ANSI" colors but it has a few of
    # them interverted which makes numbers inpractical. Use color names instead:
    # them interverted which makes numbers impractical. Use color names instead:
    # :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
    @@ -200,7 +200,7 @@
    # * Most terminal emulators and terminal multiplexers currently in use on unix-like
    # systems support 256 color 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 your carefully chosen xterm colors.
    # 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.

  4. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 24 additions and 15 deletions.
    39 changes: 24 additions & 15 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,13 @@
    <%
    # RNB, A VIM COLORSCHEME TEMPLATE
    # Author: Romain Lafourcade (https://github.com/romainl)
    # Canonical address: https://gist.github.com/romainl/5cd2f4ec222805f49eca
    # 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 colorscheme
    # This template is designed to help vimmers create their own colorschemes
    # without much effort.
    #
    # The only hard requirement is Ruby but Ruby knowledge is not necessary.
    # 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,
    @@ -30,16 +31,19 @@

    # Step 2: colors
    #
    # black = [ give your color an easy name
    # black = [ give each color a distinctive name
    # "#000000", hexadecimal color for GVim/MacVim
    # 0, integer between 0 and 255 for terminals supporting 256 colors
    # "black" color name, can be "darkred", "red", "darkgreen", "green", "darkyellow",
    # "yellow", "darkblue", "blue", "darkmagenta", "magenta", "black",
    # "darkgrey", "grey", "white"
    # "black" color name for color terminals, can be "darkred", "red", "darkgreen",
    # "green", "darkyellow", "yellow", "darkblue", "blue", "darkmagenta",
    # "magenta", "black", "darkgrey", "grey", "white"
    # ]
    #
    # The colors below are the first 16 colors of the xterm palette and
    # are only here as an example. You can get rid of them, I won't be mad.
    # 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"]
    @@ -70,7 +74,7 @@
    # or link an highlight group to another:
    # [ "Title", "Normal" ]
    #
    # You can define an additional color for the undercurl used for
    # In GUI Vim, there is an additional color for the undercurl used to
    # highlighting spelling mistakes:
    # [ "SpellBad", name of the highlight group
    # "NONE", the color used for background color, or use "NONE", "fg" or "bg"
    @@ -79,8 +83,9 @@
    # red color used for the undercurl
    # ]
    #
    # The highlight groups below are fairly standard but some syntax scripts and
    # plugins may define their own. Feel free to append them to this array as needed.
    # The highlight groups below are fairly standard and should give you a
    # working colorscheme. Some syntax scripts and plugins may define their own, though,
    # so eel free to add them to this array as needed.
    highlights = [
    [ "Normal", white, darkgray, "NONE" ],
    [ "NonText", white, darkgray, "NONE" ],
    @@ -144,7 +149,7 @@

    # Step 4: generation
    #
    # From a shell:
    # From a separate shell:
    # $ erb -T - bar.erb > bar.vim
    #
    # From Vim:
    @@ -192,8 +197,12 @@
    # * 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 color 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 your carefully chosen xterm colors.

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.
    # Many thanks to Barry Arthur (https://github.com/dahu) for the original idea.

    # You don't need to edit anything beyond this line.
    -%>
  5. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -3,7 +3,7 @@
    # Author: Romain Lafourcade (https://github.com/romainl)
    # Canonical address: https://gist.github.com/romainl/5cd2f4ec222805f49eca

    # This template is designed to help vimmers create their own Vim colorscheme
    # This template is designed to help vimmers create their own colorscheme
    # without much effort.
    #
    # The only hard requirement is Ruby but Ruby knowledge is not necessary.
    @@ -173,9 +173,9 @@
    # The classic 'Color Scheme Designer', rebranded

    # A few general advices:
    # * The Windows console is limited to the 16 colors usually called ANSI.
    # But it has a few of its standard colors interverted which makes numbers
    # inpractical. Use color names instead: :help cterm-colors
    # * The Windows console is limited to the 16 "ANSI" colors but it has a few of
    # them interverted which makes numbers inpractical. Use color names instead:
    # :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
  6. @romainl romainl revised this gist Aug 2, 2015. 1 changed file with 0 additions and 4 deletions.
    4 changes: 0 additions & 4 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -79,10 +79,6 @@
    # red color used for the undercurl
    # ]
    #
    # Please note that it is possible to use values that are outside of your
    # defined palette by putting them between double quotes:
    # [ "CursorLine", "gray", "2", "NONE" ]
    #
    # The highlight groups below are fairly standard but some syntax scripts and
    # plugins may define their own. Feel free to append them to this array as needed.
    highlights = [
  7. @romainl romainl revised this gist Aug 1, 2015. 1 changed file with 26 additions and 0 deletions.
    26 changes: 26 additions & 0 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -79,6 +79,10 @@
    # red color used for the undercurl
    # ]
    #
    # Please note that it is possible to use values that are outside of your
    # defined palette by putting them between double quotes:
    # [ "CursorLine", "gray", "2", "NONE" ]
    #
    # The highlight groups below are fairly standard but some syntax scripts and
    # plugins may define their own. Feel free to append them to this array as needed.
    highlights = [
    @@ -93,6 +97,7 @@
    [ "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" ],
    @@ -171,6 +176,27 @@
    # * http://paletton.com/
    # The classic 'Color Scheme Designer', rebranded

    # A few general advices:
    # * The Windows console is limited to the 16 colors usually called ANSI.
    # But it has a few of its standard colors interverted which makes numbers
    # inpractical. Use color names instead: :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 does'nt really matters. Also, it is harder to discriminate
    # between two similar colors on a light background.
    # * Both stong 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.

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.

    # You don't need to edit anything beyond this line.
  8. @romainl romainl revised this gist Jul 29, 2015. 1 changed file with 5 additions and 5 deletions.
    10 changes: 5 additions & 5 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -31,9 +31,9 @@
    # Step 2: colors
    #
    # black = [ give your color an easy name
    # '#000000', hexadecimal color for GVim/MacVim
    # "#000000", hexadecimal color for GVim/MacVim
    # 0, integer between 0 and 255 for terminals supporting 256 colors
    # 'black' color name, can be "darkred", "red", "darkgreen", "green", "darkyellow",
    # "black" color name, can be "darkred", "red", "darkgreen", "green", "darkyellow",
    # "yellow", "darkblue", "blue", "darkmagenta", "magenta", "black",
    # "darkgrey", "grey", "white"
    # ]
    @@ -182,13 +182,13 @@

    hi clear

    if exists('syntax_on')
    if exists("syntax_on")
    syntax reset
    endif

    let colors_name = '<%= information[:name] %>'
    let colors_name = "<%= information[:name] %>"

    if &t_Co >= 256 || has('gui_running')
    if &t_Co >= 256 || has("gui_running")
    <% for highlight in highlights -%>
    <% if highlight.length == 2 -%>
    hi link <%= highlight[0] %> <%= highlight[1] %>
  9. @romainl romainl revised this gist Jul 29, 2015. 1 changed file with 16 additions and 16 deletions.
    32 changes: 16 additions & 16 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -40,22 +40,22 @@
    #
    # The colors below are the first 16 colors of the xterm palette and
    # are only here as an example. 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']
    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
    #
  10. @romainl romainl revised this gist Jul 29, 2015. 1 changed file with 20 additions and 18 deletions.
    38 changes: 20 additions & 18 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -30,30 +30,32 @@

    # Step 2: colors
    #
    # darkgray = [ give your color a convenient name
    # black = [ give your color an easy name
    # '#000000', hexadecimal color for GVim/MacVim
    # 0, integer between 0 and 255 for terminals supporting 256 colors
    # 0 integer between 0 and 15 for terminals limited to 16 colors
    # 'black' color name, can be "darkred", "red", "darkgreen", "green", "darkyellow",
    # "yellow", "darkblue", "blue", "darkmagenta", "magenta", "black",
    # "darkgrey", "grey", "white"
    # ]
    #
    # The colors below are the first 16 colors of the xterm palette and
    # are only here as an example. You can get rid of them, I won't be mad.
    darkgray = ['#000000', 0, 0]
    darkred = ['#800000', 1, 1]
    darkgreen = ['#008000', 2, 2]
    darkyellow = ['#808000', 3, 3]
    darkblue = ['#000080', 4, 4]
    darkmagenta = ['#800080', 5, 5]
    darkcyan = ['#008080', 6, 6]
    darkwhite = ['#c0c0c0', 7, 7]
    gray = ['#808080', 8, 8]
    red = ['#ff0000', 9, 9]
    green = ['#00ff00', 10, 10]
    yellow = ['#ffff00', 11, 11]
    blue = ['#0000ff', 12, 12]
    magenta = ['#ff00ff', 13, 13]
    cyan = ['#00ffff', 14, 14]
    white = ['#ffffff', 15, 15]
    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
    #
  11. @romainl romainl revised this gist Jul 29, 2015. 1 changed file with 6 additions and 5 deletions.
    11 changes: 6 additions & 5 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -192,24 +192,25 @@ if &t_Co >= 256 || has('gui_running')
    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 -%>

    set background=<%= information[:background] %>
    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 -%>

    set background=<%= information[:background] %>
    endif

    " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
  12. @romainl romainl revised this gist Jun 26, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@
    # This template is designed to help vimmers create their own Vim colorscheme
    # without much effort.
    #
    # The only requirement is Ruby.
    # The only hard requirement is Ruby but Ruby knowledge is not necessary.
    #
    # The process is divided in four steps:
    # 1. start by editing your colorscheme's information,
  13. @romainl romainl revised this gist Jun 26, 2015. 1 changed file with 17 additions and 15 deletions.
    32 changes: 17 additions & 15 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -3,10 +3,10 @@
    # Author: Romain Lafourcade (https://github.com/romainl)
    # Canonical address: https://gist.github.com/romainl/5cd2f4ec222805f49eca

    # This template is designed to help you create your Vim colorscheme
    # with little effort.
    # This template is designed to help vimmers create their own Vim colorscheme
    # without much effort.
    #
    # The only requirement for using this template is Ruby.
    # The only requirement is Ruby.
    #
    # The process is divided in four steps:
    # 1. start by editing your colorscheme's information,
    @@ -24,7 +24,8 @@
    email: "[email protected]",
    name: "bar",
    description: "Lorem ipsum dolor sit amet.",
    background: "light"
    background: "light",
    webpage: "http://www.example.com"
    }

    # Step 2: colors
    @@ -56,7 +57,7 @@

    # Step 3: highlights
    #
    # You can define an highlight group like this:
    # 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"
    @@ -148,32 +149,33 @@

    # These online resources can help you design your colorscheme:
    # * http://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
    # the xterm palette
    # the xterm palette
    # * http://whatcolor.herokuapp.com/
    # play with hexadecimal colors right in the address bar
    # play with hexadecimal colors right in the address bar (currently down)
    # * http://color.hailpixel.com/
    # similar concept, fuzzier implementation
    # similar concept, fuzzier implementation
    # * http://colourco.de/
    # similar concept, fancier implementation
    # similar concept, fancier implementation
    # * http://www.colr.org/
    # extract a palette from an image
    # extract a palette from an image
    # * http://colores.manugarri.com/
    # search for 'word', get images and color palettes
    # search for 'word', get images and color palettes
    # * http://www.colourlovers.com/palettes
    # user-created palettes
    # user-created palettes
    # * http://www.perbang.dk/color+scheme/
    # a no-nonsense colorscheme generator
    # a no-nonsense colorscheme generator
    # * https://color.adobe.com/
    # Adobe's colorscheme generator
    # Adobe's fancy colorscheme generator
    # * http://paletton.com/
    # The classic 'Color Scheme Designer', rebranded
    # The classic 'Color Scheme Designer', rebranded

    # 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
  14. @romainl romainl revised this gist Jun 19, 2015. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    <%
    # RNB, A VIM COLORSCHEME TEMPLATE
    # Author: Romain Lafourcade (https://github.com/romainl)
    # Canonical address: https://gist.github.com/romainl/5cd2f4ec222805f49eca

    # This template is designed to help you create your Vim colorscheme
    # with little effort.
  15. @romainl romainl revised this gist Jun 12, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -142,7 +142,7 @@
    # $ erb -T - bar.erb > bar.vim
    #
    # From Vim:
    # :!erb -T - % > bar.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
  16. @romainl romainl revised this gist Apr 26, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -187,7 +187,7 @@ if &t_Co >= 256 || has('gui_running')
    <% 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][0] %> gui=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[3] %>
    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] %>
    <% 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 -%>
  17. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 19 additions and 19 deletions.
    38 changes: 19 additions & 19 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -7,17 +7,17 @@
    # The only requirement for using this template is Ruby.
    #
    # The process is divided in four steps:
    # 1. start by editing your colorscheme's metadata,
    # 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: metadata
    # 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"
    metadata = {
    information = {
    author: "foo",
    email: "[email protected]",
    name: "bar",
    @@ -55,11 +55,11 @@
    # Step 3: highlights
    #
    # You can define an highlight group like this:
    # [ "Normal", name of the highlight group
    # white, color, defined above, used for background color or, use "NONE"
    # darkgray, color, defined above, used for foreground color or, use "NONE"
    # "NONE" style, can be "bold", "underline", "reverse", "italic",
    # "standout", "NONE" or "undercurl"
    # [ "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"
    # ]
    #
    # or link an highlight group to another:
    @@ -68,8 +68,8 @@
    # You can define an additional color for the undercurl used for
    # highlighting spelling mistakes:
    # [ "SpellBad", name of the highlight group
    # "NONE", color, defined above, used for background color, or use "NONE"
    # red, color, defined above, used for foreground color, or use "NONE"
    # "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
    # ]
    @@ -170,42 +170,42 @@

    # You don't need to edit anything beyond this line.
    -%>
    " <%= metadata[:name] %>.vim -- Vim color scheme.
    " Author: <%= metadata[:author] %> (<%= metadata[:email] %>)
    " Description: <%= metadata[:description] %>
    " <%= information[:name] %>.vim -- Vim color scheme.
    " Author: <%= information[:author] %> (<%= information[:email] %>)
    " Description: <%= information[:description] %>

    hi clear

    if exists('syntax_on')
    syntax reset
    endif

    let colors_name = '<%= metadata[:name] %>'
    let colors_name = '<%= information[:name] %>'

    if &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][1] %> ctermfg=<%= highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1][0] %> guifg=<%= highlight[2][0] %> gui=<%= highlight[3] %>
    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][0] %> gui=<%= highlight[2].kind_of?(String) ? highlight[2] : highlight[3] %>
    <% else -%>
    hi <%= highlight[0] %> ctermbg=<%= highlight[1][1] %> ctermfg=<%= highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1][0] %> guifg=<%= highlight[2][0] %> gui=<%= highlight[3] %> guisp=<%= highlight[4][0] %>
    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 -%>

    set background=<%= metadata[:background] %>
    set background=<%= information[:background] %>
    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][2] %> ctermfg=<%= highlight[2][2] %> cterm=<%= highlight[3] %>
    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] %>
    <% end -%>
    <% end -%>

    set background=<%= metadata[:background] %>
    set background=<%= information[:background] %>
    endif

    " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
  18. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    <%
    # RNB, A VIM COLORSCHEME TEMPLATE

    # This template is designed to let you create your Vim colorscheme
    # This template is designed to help you create your Vim colorscheme
    # with little effort.
    #
    # The only requirement for using this template is Ruby.
  19. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 6 additions and 6 deletions.
    12 changes: 6 additions & 6 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -149,22 +149,22 @@
    # the xterm palette
    # * http://whatcolor.herokuapp.com/
    # play with hexadecimal colors right in the address bar
    # * 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://color.hailpixel.com/
    # very intuitive but very fuzzy colorscheme creator
    # * http://colourco.de/
    # similar to the above
    # * http://www.perbang.dk/color+scheme/
    # a no-nonsense colorscheme generator
    # * https://color.adobe.com/
    # Adobe's colorscheme generator
    # * http://paletton.com/
    # The classic 'Color Scheme Designer', rebranded
    # * http://colores.manugarri.com/
    # search for 'word', get images and color palettes

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.

  20. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 31 additions and 6 deletions.
    37 changes: 31 additions & 6 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -56,8 +56,8 @@
    #
    # You can define an highlight group like this:
    # [ "Normal", name of the highlight group
    # white, color used for background color, defined above
    # darkgray, color used for foreground color, defined above
    # white, color, defined above, used for background color or, use "NONE"
    # darkgray, color, defined above, used for foreground color or, use "NONE"
    # "NONE" style, can be "bold", "underline", "reverse", "italic",
    # "standout", "NONE" or "undercurl"
    # ]
    @@ -68,11 +68,14 @@
    # You can define an additional color for the undercurl used for
    # highlighting spelling mistakes:
    # [ "SpellBad", name of the highlight group
    # "NONE", color used for background color, defined above
    # red, color used for foreground color, defined above
    # "NONE", color, defined above, used for background color, or use "NONE"
    # red, color, defined above, used for foreground color, or use "NONE"
    # "undercurl", style
    # red color used for the undercurl
    # ]
    #
    # The highlight groups below are fairly standard but some syntax scripts and
    # plugins may define their own. Feel free to append them to this array as needed.
    highlights = [
    [ "Normal", white, darkgray, "NONE" ],
    [ "NonText", white, darkgray, "NONE" ],
    @@ -141,9 +144,31 @@
    # From Vim:
    # :!erb -T - % > bar.vim

    # You don't need to edit anything beyond this line.
    # 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
    # * http://www.colr.org/
    # extract a palette from an image
    # * http://www.colourlovers.com/palettes
    # user-created palettes
    # * http://color.hailpixel.com/
    # very intuitive but very fuzzy colorscheme creator
    # * http://colourco.de/
    # similar to the above
    # * http://www.perbang.dk/color+scheme/
    # a no-nonsense colorscheme generator
    # * https://color.adobe.com/
    # Adobe's colorscheme generator
    # * http://paletton.com/
    # The classic 'Color Scheme Designer', rebranded
    # * http://colores.manugarri.com/
    # search for 'word', get images and color palettes

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.

    # You don't need to edit anything beyond this line.
    -%>
    " <%= metadata[:name] %>.vim -- Vim color scheme.
    " Author: <%= metadata[:author] %> (<%= metadata[:email] %>)
    @@ -183,4 +208,4 @@ elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
    set background=<%= metadata[:background] %>
    endif

    " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
    " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
  21. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -142,7 +142,7 @@
    # :!erb -T - % > bar.vim

    # You don't need to edit anything beyond this line.

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.
    -%>
    " <%= metadata[:name] %>.vim -- Vim color scheme.
  22. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion rnb.erb
    Original file line number Diff line number Diff line change
    @@ -183,4 +183,4 @@ elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
    set background=<%= metadata[:background] %>
    endif

    " generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
    " Generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
  23. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 7 additions and 6 deletions.
    13 changes: 7 additions & 6 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -33,8 +33,8 @@
    # 0 integer between 0 and 15 for terminals limited to 16 colors
    # ]
    #
    # The colors below are the 16 first colors of the xterm palette and
    # are only here as an example. You can get rid of it, I won't be mad.
    # The colors below are the first 16 colors of the xterm palette and
    # are only here as an example. You can get rid of them, I won't be mad.
    darkgray = ['#000000', 0, 0]
    darkred = ['#800000', 1, 1]
    darkgreen = ['#008000', 2, 2]
    @@ -54,7 +54,7 @@

    # Step 3: highlights
    #
    # you can define an highlight group like this:
    # You can define an highlight group like this:
    # [ "Normal", name of the highlight group
    # white, color used for background color, defined above
    # darkgray, color used for foreground color, defined above
    @@ -70,8 +70,7 @@
    # [ "SpellBad", name of the highlight group
    # "NONE", color used for background color, defined above
    # red, color used for foreground color, defined above
    # "undercurl", style, can be "bold", "underline", "reverse", "italic",
    # "standout", "NONE" or "undercurl"
    # "undercurl", style
    # red color used for the undercurl
    # ]
    highlights = [
    @@ -182,4 +181,6 @@ elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
    <% end -%>

    set background=<%= metadata[:background] %>
    endif
    endif

    " generated with RNB (https://gist.github.com/romainl/5cd2f4ec222805f49eca)
  24. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions rnb.erb
    Original file line number Diff line number Diff line change
    @@ -135,9 +135,11 @@
    ]

    # Step 4: generation
    # * from a shell:
    #
    # From a shell:
    # $ erb -T - bar.erb > bar.vim
    # * from Vim:
    #
    # From Vim:
    # :!erb -T - % > bar.vim

    # You don't need to edit anything beyond this line.
  25. @romainl romainl renamed this gist Apr 25, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  26. @romainl romainl renamed this gist Apr 25, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  27. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 1 addition and 12 deletions.
    13 changes: 1 addition & 12 deletions gistfile1.erb
    Original file line number Diff line number Diff line change
    @@ -134,13 +134,6 @@
    [ "CursorColumn", white, darkgray, "NONE" ]
    ]

    # or link an highlight group to another:
    # [ "Title", "Normal" ]
    links = [
    [ "Foobar", "Normal" ],
    [ "Barbaz", "Statement" ]
    ]

    # Step 4: generation
    # * from a shell:
    # $ erb -T - bar.erb > bar.vim
    @@ -187,8 +180,4 @@ elseif &t_Co == 8 || $TERM !~# '^linux' || &t_Co == 16
    <% end -%>

    set background=<%= metadata[:background] %>
    endif

    <% for link in links -%>
    hi link <%= link[0] %> <%= link[1] %>
    <% end -%>
    endif
  28. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion gistfile1.erb
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    <%
    # VIM COLORSCHEME TEMPLATE
    # RNB, A VIM COLORSCHEME TEMPLATE

    # This template is designed to let you create your Vim colorscheme
    # with little effort.
    @@ -148,6 +148,8 @@
    # :!erb -T - % > bar.vim

    # You don't need to edit anything beyond this line.

    # Thanks to Barry Arthur (https://github.com/dahu) for the original idea.
    -%>
    " <%= metadata[:name] %>.vim -- Vim color scheme.
    " Author: <%= metadata[:author] %> (<%= metadata[:email] %>)
  29. @romainl romainl revised this gist Apr 25, 2015. 1 changed file with 183 additions and 28 deletions.
    211 changes: 183 additions & 28 deletions gistfile1.erb
    Original file line number Diff line number Diff line change
    @@ -1,37 +1,192 @@
    " definitions, to be edited manually
    " (no output for the colors but we could build an ASCII table pretty easily)
    <%
    author = {
    name: "foo",
    email: "[email protected]"
    }
    colorscheme = {
    name: "foo",
    description: "lorem ipsum"
    # VIM COLORSCHEME TEMPLATE

    # This template is designed to let you create your Vim colorscheme
    # with little effort.
    #
    # The only requirement for using this template is Ruby.
    #
    # The process is divided in four steps:
    # 1. start by editing your colorscheme's metadata,
    # 2. define your colors,
    # 3. define your highlight groups and links,
    # 4. and generate your colorscheme.

    # Step 1: metadata
    #
    # 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"
    metadata = {
    author: "foo",
    email: "[email protected]",
    name: "bar",
    description: "Lorem ipsum dolor sit amet.",
    background: "light"
    }
    colors = [
    ['Brown', '#875F00', '94', '4'],
    ['Pink', '#ffdfdf', '224', '13'],
    ['None', 'NONE', 'NONE', 'NONE'],
    ['Blue', '#00d7ff', '45', '12']

    # Step 2: colors
    #
    # darkgray = [ give your color a convenient name
    # '#000000', hexadecimal color for GVim/MacVim
    # 0, integer between 0 and 255 for terminals supporting 256 colors
    # 0 integer between 0 and 15 for terminals limited to 16 colors
    # ]
    #
    # The colors below are the 16 first colors of the xterm palette and
    # are only here as an example. You can get rid of it, I won't be mad.
    darkgray = ['#000000', 0, 0]
    darkred = ['#800000', 1, 1]
    darkgreen = ['#008000', 2, 2]
    darkyellow = ['#808000', 3, 3]
    darkblue = ['#000080', 4, 4]
    darkmagenta = ['#800080', 5, 5]
    darkcyan = ['#008080', 6, 6]
    darkwhite = ['#c0c0c0', 7, 7]
    gray = ['#808080', 8, 8]
    red = ['#ff0000', 9, 9]
    green = ['#00ff00', 10, 10]
    yellow = ['#ffff00', 11, 11]
    blue = ['#0000ff', 12, 12]
    magenta = ['#ff00ff', 13, 13]
    cyan = ['#00ffff', 14, 14]
    white = ['#ffffff', 15, 15]

    # Step 3: highlights
    #
    # you can define an highlight group like this:
    # [ "Normal", name of the highlight group
    # white, color used for background color, defined above
    # darkgray, color used for foreground color, defined above
    # "NONE" style, can be "bold", "underline", "reverse", "italic",
    # "standout", "NONE" or "undercurl"
    # ]
    #
    # or link an highlight group to another:
    # [ "Title", "Normal" ]
    #
    # You can define an additional color for the undercurl used for
    # highlighting spelling mistakes:
    # [ "SpellBad", name of the highlight group
    # "NONE", color used for background color, defined above
    # red, color used for foreground color, defined above
    # "undercurl", style, can be "bold", "underline", "reverse", "italic",
    # "standout", "NONE" or "undercurl"
    # red color used for the undercurl
    # ]
    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" ],
    [ "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" ]
    ]

    # or link an highlight group to another:
    # [ "Title", "Normal" ]
    links = [
    [ "Foobar", "Normal" ],
    [ "Barbaz", "Statement" ]
    ]
    styles = ['NONE', 'reverse', 'bold', 'italic']

    colors_permutations = colors.permutation(2).to_a
    # Step 4: generation
    # * from a shell:
    # $ erb -T - bar.erb > bar.vim
    # * from Vim:
    # :!erb -T - % > bar.vim

    # You don't need to edit anything beyond this line.
    -%>
    " <%= colorscheme[:name] %> -- Vim color scheme.
    " Author: <%= author[:name] %> (<%= author[:email] %>)
    " Description: <%= colorscheme[:description] %>

    " color combos, automatically generated
    <% for permutation in colors_permutations -%>
    <% for style in styles -%>
    hi <%= permutation[0][0].capitalize %>On<%= permutation[1][0].capitalize %>And<%= style.capitalize %> ctermbg=<%= permutation[0][2] %> ctermfg=<%= permutation[1][2] %> cterm=<%= style %>
    " <%= metadata[:name] %>.vim -- Vim color scheme.
    " Author: <%= metadata[:author] %> (<%= metadata[:email] %>)
    " Description: <%= metadata[:description] %>

    hi clear

    if exists('syntax_on')
    syntax reset
    endif

    let colors_name = '<%= metadata[:name] %>'

    if &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][1] %> ctermfg=<%= highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1][0] %> guifg=<%= highlight[2][0] %> gui=<%= highlight[3] %>
    <% else -%>
    hi <%= highlight[0] %> ctermbg=<%= highlight[1][1] %> ctermfg=<%= highlight[2][1] %> cterm=<%= highlight[3] %> guibg=<%= highlight[1][0] %> guifg=<%= highlight[2][0] %> gui=<%= highlight[3] %> guisp=<%= highlight[4][0] %>
    <% end -%>
    <% end -%>

    set background=<%= metadata[:background] %>
    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][2] %> ctermfg=<%= highlight[2][2] %> cterm=<%= highlight[3] %>
    <% end -%>
    <% end -%>

    " highlight group links, to be edited manually
    hi link Comment BrownOnNoneAndNone
    set background=<%= metadata[:background] %>
    endif

    " generation
    " $ erb -T - foo.erb > foo.vim
    <% for link in links -%>
    hi link <%= link[0] %> <%= link[1] %>
    <% end -%>
  30. @romainl romainl revised this gist Mar 10, 2015. 1 changed file with 30 additions and 8 deletions.
    38 changes: 30 additions & 8 deletions gistfile1.erb
    Original file line number Diff line number Diff line change
    @@ -1,15 +1,37 @@
    " color definitions in VERY basic ruby
    " (no output)
    " definitions, to be edited manually
    " (no output for the colors but we could build an ASCII table pretty easily)
    <%
    brown = ['#875F00', '94', '4']
    style = ['NONE', 'reverse', 'bold', 'italic']
    author = {
    name: "foo",
    email: "[email protected]"
    }
    colorscheme = {
    name: "foo",
    description: "lorem ipsum"
    }
    colors = [
    ['Brown', '#875F00', '94', '4'],
    ['Pink', '#ffdfdf', '224', '13'],
    ['None', 'NONE', 'NONE', 'NONE'],
    ['Blue', '#00d7ff', '45', '12']
    ]
    styles = ['NONE', 'reverse', 'bold', 'italic']

    colors_permutations = colors.permutation(2).to_a
    -%>
    " <%= colorscheme[:name] %> -- Vim color scheme.
    " Author: <%= author[:name] %> (<%= author[:email] %>)
    " Description: <%= colorscheme[:description] %>

    " color combos in a loop
    hi BrownOnNoneAndBold ctermbg=<%= style[0] %> ctermfg=<%= brown[1] %> cterm=<%= style[2] %>
    " color combos, automatically generated
    <% for permutation in colors_permutations -%>
    <% for style in styles -%>
    hi <%= permutation[0][0].capitalize %>On<%= permutation[1][0].capitalize %>And<%= style.capitalize %> ctermbg=<%= permutation[0][2] %> ctermfg=<%= permutation[1][2] %> cterm=<%= style %>
    <% end -%>
    <% end -%>

    " links
    hi link Comment BrownOnNoneAndBold
    " highlight group links, to be edited manually
    hi link Comment BrownOnNoneAndNone

    " generation
    " $ erb -T - foo.erb > foo.vim