1. Marlo Simon Noval
  2. vimrc

Commits

Marlo Simon Noval  committed 758b94e

Added indent guides. Updated css snippets.

  • Participants
  • Parent commits 940df03
  • Branches default

Comments (0)

Files changed (12)

File autoload/color_helper.vim

View file
+" Author:   Nate Kane <nathanaelkane AT gmail DOT com>
+" Homepage: http://github.com/nathanaelkane/vim-indent-guides
+
+"
+" Return hex string equivalent to given decimal string or number.
+"
+" Example: color_helper#dec_to_hex(255, 2)
+" Returns: 'FF'
+"
+" Example: color_helper#dec_to_hex(255, 5)
+" Returns: '000FF'
+"
+function! color_helper#dec_to_hex(arg, padding)
+  return toupper(printf('%0' . a:padding . 'x', a:arg + 0))
+endfunction
+
+"
+" Return number equivalent to given hex string ('0x' is optional).
+"
+" Example: color_helper#hex_to_dec('FF')
+" Returns: 255
+"
+" Example: color_helper#hex_to_dec('88')
+" Returns: 136
+"
+" Example: color_helper#hex_to_dec('00')
+" Returns: 0
+"
+function! color_helper#hex_to_dec(arg)
+  return (a:arg =~? '^0x') ? a:arg + 0 : ('0x'.a:arg) + 0
+endfunction
+
+"
+" Converts a given hex color string into an rgb list (eg. [red, green, blue]).
+"
+" Example: color_helper#hex_color_to_rgb('#0088FF')
+" Returns: [0, 136, 255]
+"
+function! color_helper#hex_color_to_rgb(hex_color)
+  let l:rgb = []
+
+  if a:hex_color =~ g:indent_guides_color_hex_pattern
+    let l:red   = color_helper#hex_to_dec(strpart(a:hex_color, 1, 2))
+    let l:green = color_helper#hex_to_dec(strpart(a:hex_color, 3, 2))
+    let l:blue  = color_helper#hex_to_dec(strpart(a:hex_color, 5, 2))
+    let l:rgb = [l:red, l:green, l:blue]
+  end
+
+  return l:rgb
+endfunction
+
+"
+" Converts a given rgb list (eg. [red, green, blue]) into a hex color string.
+"
+" Example: color_helper#rgb_color_to_hex([0, 136, 255])
+" Returns: '#0088FF'
+"
+function! color_helper#rgb_color_to_hex(rgb_color)
+  let l:hex_color  = '#'
+  let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[0], 2) " red
+  let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[1], 2) " green
+  let l:hex_color .= color_helper#dec_to_hex(a:rgb_color[2], 2) " blue
+
+  return l:hex_color
+endfunction
+
+"
+" Returns a ligtened color using the given color and the percent to lighten it
+" by.
+"
+" Example: color_helper#hex_color_lighten('#000000', 0.10)
+" Returns: '#191919'
+"
+function! color_helper#hex_color_lighten(color, percent)
+  let l:rgb = color_helper#hex_color_to_rgb(a:color)
+  let l:rgb_lightened = []
+
+  for i in l:rgb
+    call add(l:rgb_lightened, float2nr(i + ((255 - i) * a:percent)))
+  endfor
+
+  return color_helper#rgb_color_to_hex(l:rgb_lightened)
+endfunction
+
+"
+" Returns a darkened color using the given color and the percent to darken it
+" by.
+"
+" Example: color_helper#hex_color_darken('#FFFFFF', 0.10)
+" Returns: '#E5E5E5'
+"
+function! color_helper#hex_color_darken(color, percent)
+  let l:rgb = color_helper#hex_color_to_rgb(a:color)
+  let l:rgb_darkened = []
+
+  for i in l:rgb
+    call add(l:rgb_darkened, float2nr(i * (1 - a:percent)))
+  endfor
+
+  return color_helper#rgb_color_to_hex(l:rgb_darkened)
+endfunction
+
+"
+" Returns a hex color code for the given color name.
+"
+" Example: color_helper#color_name_to_hex('darkslategray')
+" Returns: '#2F4F4F'
+"
+function! color_helper#color_name_to_hex(color_name)
+  let l:hex_code   = ''
+  let l:color_name = tolower(a:color_name)
+
+  let l:color_list = {
+    \ 'alice blue'             : '#F0F8FF',
+    \ 'aliceblue'              : '#F0F8FF',
+    \ 'antique white'          : '#FAEBD7',
+    \ 'antiquewhite'           : '#FAEBD7',
+    \ 'antiquewhite1'          : '#FFEFDB',
+    \ 'antiquewhite2'          : '#EEDFCC',
+    \ 'antiquewhite3'          : '#CDC0B0',
+    \ 'antiquewhite4'          : '#8B8378',
+    \ 'aquamarine'             : '#7FFFD4',
+    \ 'aquamarine1'            : '#7FFFD4',
+    \ 'aquamarine2'            : '#76EEC6',
+    \ 'aquamarine3'            : '#66CDAA',
+    \ 'aquamarine4'            : '#458B74',
+    \ 'azure'                  : '#F0FFFF',
+    \ 'azure1'                 : '#F0FFFF',
+    \ 'azure2'                 : '#E0EEEE',
+    \ 'azure3'                 : '#C1CDCD',
+    \ 'azure4'                 : '#838B8B',
+    \ 'beige'                  : '#F5F5DC',
+    \ 'bisque'                 : '#FFE4C4',
+    \ 'bisque1'                : '#FFE4C4',
+    \ 'bisque2'                : '#EED5B7',
+    \ 'bisque3'                : '#CDB79E',
+    \ 'bisque4'                : '#8B7D6B',
+    \ 'black'                  : '#000000',
+    \ 'blanched almond'        : '#FFEBCD',
+    \ 'blanchedalmond'         : '#FFEBCD',
+    \ 'blue violet'            : '#8A2BE2',
+    \ 'blue'                   : '#0000FF',
+    \ 'blue1'                  : '#0000FF',
+    \ 'blue2'                  : '#0000EE',
+    \ 'blue3'                  : '#0000CD',
+    \ 'blue4'                  : '#00008B',
+    \ 'blueviolet'             : '#8A2BE2',
+    \ 'brown'                  : '#A52A2A',
+    \ 'brown1'                 : '#FF4040',
+    \ 'brown2'                 : '#EE3B3B',
+    \ 'brown3'                 : '#CD3333',
+    \ 'brown4'                 : '#8B2323',
+    \ 'burlywood'              : '#DEB887',
+    \ 'burlywood1'             : '#FFD39B',
+    \ 'burlywood2'             : '#EEC591',
+    \ 'burlywood3'             : '#CDAA7D',
+    \ 'burlywood4'             : '#8B7355',
+    \ 'cadet blue'             : '#5F9EA0',
+    \ 'cadetblue'              : '#5F9EA0',
+    \ 'cadetblue1'             : '#98F5FF',
+    \ 'cadetblue2'             : '#8EE5EE',
+    \ 'cadetblue3'             : '#7AC5CD',
+    \ 'cadetblue4'             : '#53868B',
+    \ 'chartreuse'             : '#7FFF00',
+    \ 'chartreuse1'            : '#7FFF00',
+    \ 'chartreuse2'            : '#76EE00',
+    \ 'chartreuse3'            : '#66CD00',
+    \ 'chartreuse4'            : '#458B00',
+    \ 'chocolate'              : '#D2691E',
+    \ 'chocolate1'             : '#FF7F24',
+    \ 'chocolate2'             : '#EE7621',
+    \ 'chocolate3'             : '#CD661D',
+    \ 'chocolate4'             : '#8B4513',
+    \ 'coral'                  : '#FF7F50',
+    \ 'coral1'                 : '#FF7256',
+    \ 'coral2'                 : '#EE6A50',
+    \ 'coral3'                 : '#CD5B45',
+    \ 'coral4'                 : '#8B3E2F',
+    \ 'cornflower blue'        : '#6495ED',
+    \ 'cornflowerblue'         : '#6495ED',
+    \ 'cornsilk'               : '#FFF8DC',
+    \ 'cornsilk1'              : '#FFF8DC',
+    \ 'cornsilk2'              : '#EEE8CD',
+    \ 'cornsilk3'              : '#CDC8B1',
+    \ 'cornsilk4'              : '#8B8878',
+    \ 'cyan'                   : '#00FFFF',
+    \ 'cyan1'                  : '#00FFFF',
+    \ 'cyan2'                  : '#00EEEE',
+    \ 'cyan3'                  : '#00CDCD',
+    \ 'cyan4'                  : '#008B8B',
+    \ 'dark blue'              : '#00008B',
+    \ 'dark cyan'              : '#008B8B',
+    \ 'dark goldenrod'         : '#B8860B',
+    \ 'dark gray'              : '#A9A9A9',
+    \ 'dark green'             : '#006400',
+    \ 'dark grey'              : '#A9A9A9',
+    \ 'dark khaki'             : '#BDB76B',
+    \ 'dark magenta'           : '#8B008B',
+    \ 'dark olive green'       : '#556B2F',
+    \ 'dark orange'            : '#FF8C00',
+    \ 'dark orchid'            : '#9932CC',
+    \ 'dark red'               : '#8B0000',
+    \ 'dark salmon'            : '#E9967A',
+    \ 'dark sea green'         : '#8FBC8F',
+    \ 'dark slate blue'        : '#483D8B',
+    \ 'dark slate gray'        : '#2F4F4F',
+    \ 'dark slate grey'        : '#2F4F4F',
+    \ 'dark turquoise'         : '#00CED1',
+    \ 'dark violet'            : '#9400D3',
+    \ 'dark yellow'            : '#BBBB00',
+    \ 'darkblue'               : '#00008B',
+    \ 'darkcyan'               : '#008B8B',
+    \ 'darkgoldenrod'          : '#B8860B',
+    \ 'darkgoldenrod1'         : '#FFB90F',
+    \ 'darkgoldenrod2'         : '#EEAD0E',
+    \ 'darkgoldenrod3'         : '#CD950C',
+    \ 'darkgoldenrod4'         : '#8B6508',
+    \ 'darkgray'               : '#A9A9A9',
+    \ 'darkgreen'              : '#006400',
+    \ 'darkgrey'               : '#A9A9A9',
+    \ 'darkkhaki'              : '#BDB76B',
+    \ 'darkmagenta'            : '#8B008B',
+    \ 'darkolivegreen'         : '#556B2F',
+    \ 'darkolivegreen1'        : '#CAFF70',
+    \ 'darkolivegreen2'        : '#BCEE68',
+    \ 'darkolivegreen3'        : '#A2CD5A',
+    \ 'darkolivegreen4'        : '#6E8B3D',
+    \ 'darkorange'             : '#FF8C00',
+    \ 'darkorange1'            : '#FF7F00',
+    \ 'darkorange2'            : '#EE7600',
+    \ 'darkorange3'            : '#CD6600',
+    \ 'darkorange4'            : '#8B4500',
+    \ 'darkorchid'             : '#9932CC',
+    \ 'darkorchid1'            : '#BF3EFF',
+    \ 'darkorchid2'            : '#B23AEE',
+    \ 'darkorchid3'            : '#9A32CD',
+    \ 'darkorchid4'            : '#68228B',
+    \ 'darkred'                : '#8B0000',
+    \ 'darksalmon'             : '#E9967A',
+    \ 'darkseagreen'           : '#8FBC8F',
+    \ 'darkseagreen1'          : '#C1FFC1',
+    \ 'darkseagreen2'          : '#B4EEB4',
+    \ 'darkseagreen3'          : '#9BCD9B',
+    \ 'darkseagreen4'          : '#698B69',
+    \ 'darkslateblue'          : '#483D8B',
+    \ 'darkslategray'          : '#2F4F4F',
+    \ 'darkslategray1'         : '#97FFFF',
+    \ 'darkslategray2'         : '#8DEEEE',
+    \ 'darkslategray3'         : '#79CDCD',
+    \ 'darkslategray4'         : '#528B8B',
+    \ 'darkslategrey'          : '#2F4F4F',
+    \ 'darkturquoise'          : '#00CED1',
+    \ 'darkviolet'             : '#9400D3',
+    \ 'darkyellow'             : '#BBBB00',
+    \ 'deep pink'              : '#FF1493',
+    \ 'deep sky blue'          : '#00BFFF',
+    \ 'deeppink'               : '#FF1493',
+    \ 'deeppink1'              : '#FF1493',
+    \ 'deeppink2'              : '#EE1289',
+    \ 'deeppink3'              : '#CD1076',
+    \ 'deeppink4'              : '#8B0A50',
+    \ 'deepskyblue'            : '#00BFFF',
+    \ 'deepskyblue1'           : '#00BFFF',
+    \ 'deepskyblue2'           : '#00B2EE',
+    \ 'deepskyblue3'           : '#009ACD',
+    \ 'deepskyblue4'           : '#00688B',
+    \ 'dim gray'               : '#696969',
+    \ 'dim grey'               : '#696969',
+    \ 'dimgray'                : '#696969',
+    \ 'dimgrey'                : '#696969',
+    \ 'dodger blue'            : '#1E90FF',
+    \ 'dodgerblue'             : '#1E90FF',
+    \ 'dodgerblue1'            : '#1E90FF',
+    \ 'dodgerblue2'            : '#1C86EE',
+    \ 'dodgerblue3'            : '#1874CD',
+    \ 'dodgerblue4'            : '#104E8B',
+    \ 'firebrick'              : '#B22222',
+    \ 'firebrick1'             : '#FF3030',
+    \ 'firebrick2'             : '#EE2C2C',
+    \ 'firebrick3'             : '#CD2626',
+    \ 'firebrick4'             : '#8B1A1A',
+    \ 'floral white'           : '#FFFAF0',
+    \ 'floralwhite'            : '#FFFAF0',
+    \ 'forest green'           : '#228B22',
+    \ 'forestgreen'            : '#228B22',
+    \ 'gainsboro'              : '#DCDCDC',
+    \ 'ghost white'            : '#F8F8FF',
+    \ 'ghostwhite'             : '#F8F8FF',
+    \ 'gold'                   : '#FFD700',
+    \ 'gold1'                  : '#FFD700',
+    \ 'gold2'                  : '#EEC900',
+    \ 'gold3'                  : '#CDAD00',
+    \ 'gold4'                  : '#8B7500',
+    \ 'goldenrod'              : '#DAA520',
+    \ 'goldenrod1'             : '#FFC125',
+    \ 'goldenrod2'             : '#EEB422',
+    \ 'goldenrod3'             : '#CD9B1D',
+    \ 'goldenrod4'             : '#8B6914',
+    \ 'gray'                   : '#BEBEBE',
+    \ 'gray0'                  : '#000000',
+    \ 'gray1'                  : '#030303',
+    \ 'gray10'                 : '#1A1A1A',
+    \ 'gray100'                : '#FFFFFF',
+    \ 'gray11'                 : '#1C1C1C',
+    \ 'gray12'                 : '#1F1F1F',
+    \ 'gray13'                 : '#212121',
+    \ 'gray14'                 : '#242424',
+    \ 'gray15'                 : '#262626',
+    \ 'gray16'                 : '#292929',
+    \ 'gray17'                 : '#2B2B2B',
+    \ 'gray18'                 : '#2E2E2E',
+    \ 'gray19'                 : '#303030',
+    \ 'gray2'                  : '#050505',
+    \ 'gray20'                 : '#333333',
+    \ 'gray21'                 : '#363636',
+    \ 'gray22'                 : '#383838',
+    \ 'gray23'                 : '#3B3B3B',
+    \ 'gray24'                 : '#3D3D3D',
+    \ 'gray25'                 : '#404040',
+    \ 'gray26'                 : '#424242',
+    \ 'gray27'                 : '#454545',
+    \ 'gray28'                 : '#474747',
+    \ 'gray29'                 : '#4A4A4A',
+    \ 'gray3'                  : '#080808',
+    \ 'gray30'                 : '#4D4D4D',
+    \ 'gray31'                 : '#4F4F4F',
+    \ 'gray32'                 : '#525252',
+    \ 'gray33'                 : '#545454',
+    \ 'gray34'                 : '#575757',
+    \ 'gray35'                 : '#595959',
+    \ 'gray36'                 : '#5C5C5C',
+    \ 'gray37'                 : '#5E5E5E',
+    \ 'gray38'                 : '#616161',
+    \ 'gray39'                 : '#636363',
+    \ 'gray4'                  : '#0A0A0A',
+    \ 'gray40'                 : '#666666',
+    \ 'gray41'                 : '#696969',
+    \ 'gray42'                 : '#6B6B6B',
+    \ 'gray43'                 : '#6E6E6E',
+    \ 'gray44'                 : '#707070',
+    \ 'gray45'                 : '#737373',
+    \ 'gray46'                 : '#757575',
+    \ 'gray47'                 : '#787878',
+    \ 'gray48'                 : '#7A7A7A',
+    \ 'gray49'                 : '#7D7D7D',
+    \ 'gray5'                  : '#0D0D0D',
+    \ 'gray50'                 : '#7F7F7F',
+    \ 'gray51'                 : '#828282',
+    \ 'gray52'                 : '#858585',
+    \ 'gray53'                 : '#878787',
+    \ 'gray54'                 : '#8A8A8A',
+    \ 'gray55'                 : '#8C8C8C',
+    \ 'gray56'                 : '#8F8F8F',
+    \ 'gray57'                 : '#919191',
+    \ 'gray58'                 : '#949494',
+    \ 'gray59'                 : '#969696',
+    \ 'gray6'                  : '#0F0F0F',
+    \ 'gray60'                 : '#999999',
+    \ 'gray61'                 : '#9C9C9C',
+    \ 'gray62'                 : '#9E9E9E',
+    \ 'gray63'                 : '#A1A1A1',
+    \ 'gray64'                 : '#A3A3A3',
+    \ 'gray65'                 : '#A6A6A6',
+    \ 'gray66'                 : '#A8A8A8',
+    \ 'gray67'                 : '#ABABAB',
+    \ 'gray68'                 : '#ADADAD',
+    \ 'gray69'                 : '#B0B0B0',
+    \ 'gray7'                  : '#121212',
+    \ 'gray70'                 : '#B3B3B3',
+    \ 'gray71'                 : '#B5B5B5',
+    \ 'gray72'                 : '#B8B8B8',
+    \ 'gray73'                 : '#BABABA',
+    \ 'gray74'                 : '#BDBDBD',
+    \ 'gray75'                 : '#BFBFBF',
+    \ 'gray76'                 : '#C2C2C2',
+    \ 'gray77'                 : '#C4C4C4',
+    \ 'gray78'                 : '#C7C7C7',
+    \ 'gray79'                 : '#C9C9C9',
+    \ 'gray8'                  : '#141414',
+    \ 'gray80'                 : '#CCCCCC',
+    \ 'gray81'                 : '#CFCFCF',
+    \ 'gray82'                 : '#D1D1D1',
+    \ 'gray83'                 : '#D4D4D4',
+    \ 'gray84'                 : '#D6D6D6',
+    \ 'gray85'                 : '#D9D9D9',
+    \ 'gray86'                 : '#DBDBDB',
+    \ 'gray87'                 : '#DEDEDE',
+    \ 'gray88'                 : '#E0E0E0',
+    \ 'gray89'                 : '#E3E3E3',
+    \ 'gray9'                  : '#171717',
+    \ 'gray90'                 : '#E5E5E5',
+    \ 'gray91'                 : '#E8E8E8',
+    \ 'gray92'                 : '#EBEBEB',
+    \ 'gray93'                 : '#EDEDED',
+    \ 'gray94'                 : '#F0F0F0',
+    \ 'gray95'                 : '#F2F2F2',
+    \ 'gray96'                 : '#F5F5F5',
+    \ 'gray97'                 : '#F7F7F7',
+    \ 'gray98'                 : '#FAFAFA',
+    \ 'gray99'                 : '#FCFCFC',
+    \ 'green yellow'           : '#ADFF2F',
+    \ 'green'                  : '#00FF00',
+    \ 'green1'                 : '#00FF00',
+    \ 'green2'                 : '#00EE00',
+    \ 'green3'                 : '#00CD00',
+    \ 'green4'                 : '#008B00',
+    \ 'greenyellow'            : '#ADFF2F',
+    \ 'grey'                   : '#BEBEBE',
+    \ 'grey0'                  : '#000000',
+    \ 'grey1'                  : '#030303',
+    \ 'grey10'                 : '#1A1A1A',
+    \ 'grey100'                : '#FFFFFF',
+    \ 'grey11'                 : '#1C1C1C',
+    \ 'grey12'                 : '#1F1F1F',
+    \ 'grey13'                 : '#212121',
+    \ 'grey14'                 : '#242424',
+    \ 'grey15'                 : '#262626',
+    \ 'grey16'                 : '#292929',
+    \ 'grey17'                 : '#2B2B2B',
+    \ 'grey18'                 : '#2E2E2E',
+    \ 'grey19'                 : '#303030',
+    \ 'grey2'                  : '#050505',
+    \ 'grey20'                 : '#333333',
+    \ 'grey21'                 : '#363636',
+    \ 'grey22'                 : '#383838',
+    \ 'grey23'                 : '#3B3B3B',
+    \ 'grey24'                 : '#3D3D3D',
+    \ 'grey25'                 : '#404040',
+    \ 'grey26'                 : '#424242',
+    \ 'grey27'                 : '#454545',
+    \ 'grey28'                 : '#474747',
+    \ 'grey29'                 : '#4A4A4A',
+    \ 'grey3'                  : '#080808',
+    \ 'grey30'                 : '#4D4D4D',
+    \ 'grey31'                 : '#4F4F4F',
+    \ 'grey32'                 : '#525252',
+    \ 'grey33'                 : '#545454',
+    \ 'grey34'                 : '#575757',
+    \ 'grey35'                 : '#595959',
+    \ 'grey36'                 : '#5C5C5C',
+    \ 'grey37'                 : '#5E5E5E',
+    \ 'grey38'                 : '#616161',
+    \ 'grey39'                 : '#636363',
+    \ 'grey4'                  : '#0A0A0A',
+    \ 'grey40'                 : '#666666',
+    \ 'grey41'                 : '#696969',
+    \ 'grey42'                 : '#6B6B6B',
+    \ 'grey43'                 : '#6E6E6E',
+    \ 'grey44'                 : '#707070',
+    \ 'grey45'                 : '#737373',
+    \ 'grey46'                 : '#757575',
+    \ 'grey47'                 : '#787878',
+    \ 'grey48'                 : '#7A7A7A',
+    \ 'grey49'                 : '#7D7D7D',
+    \ 'grey5'                  : '#0D0D0D',
+    \ 'grey50'                 : '#7F7F7F',
+    \ 'grey51'                 : '#828282',
+    \ 'grey52'                 : '#858585',
+    \ 'grey53'                 : '#878787',
+    \ 'grey54'                 : '#8A8A8A',
+    \ 'grey55'                 : '#8C8C8C',
+    \ 'grey56'                 : '#8F8F8F',
+    \ 'grey57'                 : '#919191',
+    \ 'grey58'                 : '#949494',
+    \ 'grey59'                 : '#969696',
+    \ 'grey6'                  : '#0F0F0F',
+    \ 'grey60'                 : '#999999',
+    \ 'grey61'                 : '#9C9C9C',
+    \ 'grey62'                 : '#9E9E9E',
+    \ 'grey63'                 : '#A1A1A1',
+    \ 'grey64'                 : '#A3A3A3',
+    \ 'grey65'                 : '#A6A6A6',
+    \ 'grey66'                 : '#A8A8A8',
+    \ 'grey67'                 : '#ABABAB',
+    \ 'grey68'                 : '#ADADAD',
+    \ 'grey69'                 : '#B0B0B0',
+    \ 'grey7'                  : '#121212',
+    \ 'grey70'                 : '#B3B3B3',
+    \ 'grey71'                 : '#B5B5B5',
+    \ 'grey72'                 : '#B8B8B8',
+    \ 'grey73'                 : '#BABABA',
+    \ 'grey74'                 : '#BDBDBD',
+    \ 'grey75'                 : '#BFBFBF',
+    \ 'grey76'                 : '#C2C2C2',
+    \ 'grey77'                 : '#C4C4C4',
+    \ 'grey78'                 : '#C7C7C7',
+    \ 'grey79'                 : '#C9C9C9',
+    \ 'grey8'                  : '#141414',
+    \ 'grey80'                 : '#CCCCCC',
+    \ 'grey81'                 : '#CFCFCF',
+    \ 'grey82'                 : '#D1D1D1',
+    \ 'grey83'                 : '#D4D4D4',
+    \ 'grey84'                 : '#D6D6D6',
+    \ 'grey85'                 : '#D9D9D9',
+    \ 'grey86'                 : '#DBDBDB',
+    \ 'grey87'                 : '#DEDEDE',
+    \ 'grey88'                 : '#E0E0E0',
+    \ 'grey89'                 : '#E3E3E3',
+    \ 'grey9'                  : '#171717',
+    \ 'grey90'                 : '#E5E5E5',
+    \ 'grey91'                 : '#E8E8E8',
+    \ 'grey92'                 : '#EBEBEB',
+    \ 'grey93'                 : '#EDEDED',
+    \ 'grey94'                 : '#F0F0F0',
+    \ 'grey95'                 : '#F2F2F2',
+    \ 'grey96'                 : '#F5F5F5',
+    \ 'grey97'                 : '#F7F7F7',
+    \ 'grey98'                 : '#FAFAFA',
+    \ 'grey99'                 : '#FCFCFC',
+    \ 'honeydew'               : '#F0FFF0',
+    \ 'honeydew1'              : '#F0FFF0',
+    \ 'honeydew2'              : '#E0EEE0',
+    \ 'honeydew3'              : '#C1CDC1',
+    \ 'honeydew4'              : '#838B83',
+    \ 'hot pink'               : '#FF69B4',
+    \ 'hotpink'                : '#FF69B4',
+    \ 'hotpink1'               : '#FF6EB4',
+    \ 'hotpink2'               : '#EE6AA7',
+    \ 'hotpink3'               : '#CD6090',
+    \ 'hotpink4'               : '#8B3A62',
+    \ 'indian red'             : '#CD5C5C',
+    \ 'indianred'              : '#CD5C5C',
+    \ 'indianred1'             : '#FF6A6A',
+    \ 'indianred2'             : '#EE6363',
+    \ 'indianred3'             : '#CD5555',
+    \ 'indianred4'             : '#8B3A3A',
+    \ 'ivory'                  : '#FFFFF0',
+    \ 'ivory1'                 : '#FFFFF0',
+    \ 'ivory2'                 : '#EEEEE0',
+    \ 'ivory3'                 : '#CDCDC1',
+    \ 'ivory4'                 : '#8B8B83',
+    \ 'khaki'                  : '#F0E68C',
+    \ 'khaki1'                 : '#FFF68F',
+    \ 'khaki2'                 : '#EEE685',
+    \ 'khaki3'                 : '#CDC673',
+    \ 'khaki4'                 : '#8B864E',
+    \ 'lavender blush'         : '#FFF0F5',
+    \ 'lavender'               : '#E6E6FA',
+    \ 'lavenderblush'          : '#FFF0F5',
+    \ 'lavenderblush1'         : '#FFF0F5',
+    \ 'lavenderblush2'         : '#EEE0E5',
+    \ 'lavenderblush3'         : '#CDC1C5',
+    \ 'lavenderblush4'         : '#8B8386',
+    \ 'lawn green'             : '#7CFC00',
+    \ 'lawngreen'              : '#7CFC00',
+    \ 'lemon chiffon'          : '#FFFACD',
+    \ 'lemonchiffon'           : '#FFFACD',
+    \ 'lemonchiffon1'          : '#FFFACD',
+    \ 'lemonchiffon2'          : '#EEE9BF',
+    \ 'lemonchiffon3'          : '#CDC9A5',
+    \ 'lemonchiffon4'          : '#8B8970',
+    \ 'light blue'             : '#ADD8E6',
+    \ 'light coral'            : '#F08080',
+    \ 'light cyan'             : '#E0FFFF',
+    \ 'light goldenrod yellow' : '#FAFAD2',
+    \ 'light goldenrod'        : '#EEDD82',
+    \ 'light gray'             : '#D3D3D3',
+    \ 'light green'            : '#90EE90',
+    \ 'light grey'             : '#D3D3D3',
+    \ 'light magenta'          : '#FFBBFF',
+    \ 'light pink'             : '#FFB6C1',
+    \ 'light red'              : '#FFBBBB',
+    \ 'light salmon'           : '#FFA07A',
+    \ 'light sea green'        : '#20B2AA',
+    \ 'light sky blue'         : '#87CEFA',
+    \ 'light slate blue'       : '#8470FF',
+    \ 'light slate gray'       : '#778899',
+    \ 'light slate grey'       : '#778899',
+    \ 'light steel blue'       : '#B0C4DE',
+    \ 'light yellow'           : '#FFFFE0',
+    \ 'lightblue'              : '#ADD8E6',
+    \ 'lightblue1'             : '#BFEFFF',
+    \ 'lightblue2'             : '#B2DFEE',
+    \ 'lightblue3'             : '#9AC0CD',
+    \ 'lightblue4'             : '#68838B',
+    \ 'lightcoral'             : '#F08080',
+    \ 'lightcyan'              : '#E0FFFF',
+    \ 'lightcyan1'             : '#E0FFFF',
+    \ 'lightcyan2'             : '#D1EEEE',
+    \ 'lightcyan3'             : '#B4CDCD',
+    \ 'lightcyan4'             : '#7A8B8B',
+    \ 'lightgoldenrod'         : '#EEDD82',
+    \ 'lightgoldenrod1'        : '#FFEC8B',
+    \ 'lightgoldenrod2'        : '#EEDC82',
+    \ 'lightgoldenrod3'        : '#CDBE70',
+    \ 'lightgoldenrod4'        : '#8B814C',
+    \ 'lightgoldenrodyellow'   : '#FAFAD2',
+    \ 'lightgray'              : '#D3D3D3',
+    \ 'lightgreen'             : '#90EE90',
+    \ 'lightgrey'              : '#D3D3D3',
+    \ 'lightmagenta'           : '#FFBBFF',
+    \ 'lightpink'              : '#FFB6C1',
+    \ 'lightpink1'             : '#FFAEB9',
+    \ 'lightpink2'             : '#EEA2AD',
+    \ 'lightpink3'             : '#CD8C95',
+    \ 'lightpink4'             : '#8B5F65',
+    \ 'lightred'               : '#FFBBBB',
+    \ 'lightsalmon'            : '#FFA07A',
+    \ 'lightsalmon1'           : '#FFA07A',
+    \ 'lightsalmon2'           : '#EE9572',
+    \ 'lightsalmon3'           : '#CD8162',
+    \ 'lightsalmon4'           : '#8B5742',
+    \ 'lightseagreen'          : '#20B2AA',
+    \ 'lightskyblue'           : '#87CEFA',
+    \ 'lightskyblue1'          : '#B0E2FF',
+    \ 'lightskyblue2'          : '#A4D3EE',
+    \ 'lightskyblue3'          : '#8DB6CD',
+    \ 'lightskyblue4'          : '#607B8B',
+    \ 'lightslateblue'         : '#8470FF',
+    \ 'lightslategray'         : '#778899',
+    \ 'lightslategrey'         : '#778899',
+    \ 'lightsteelblue'         : '#B0C4DE',
+    \ 'lightsteelblue1'        : '#CAE1FF',
+    \ 'lightsteelblue2'        : '#BCD2EE',
+    \ 'lightsteelblue3'        : '#A2B5CD',
+    \ 'lightsteelblue4'        : '#6E7B8B',
+    \ 'lightyellow'            : '#FFFFE0',
+    \ 'lightyellow1'           : '#FFFFE0',
+    \ 'lightyellow2'           : '#EEEED1',
+    \ 'lightyellow3'           : '#CDCDB4',
+    \ 'lightyellow4'           : '#8B8B7A',
+    \ 'lime green'             : '#32CD32',
+    \ 'limegreen'              : '#32CD32',
+    \ 'linen'                  : '#FAF0E6',
+    \ 'magenta'                : '#FF00FF',
+    \ 'magenta1'               : '#FF00FF',
+    \ 'magenta2'               : '#EE00EE',
+    \ 'magenta3'               : '#CD00CD',
+    \ 'magenta4'               : '#8B008B',
+    \ 'maroon'                 : '#B03060',
+    \ 'maroon1'                : '#FF34B3',
+    \ 'maroon2'                : '#EE30A7',
+    \ 'maroon3'                : '#CD2990',
+    \ 'maroon4'                : '#8B1C62',
+    \ 'medium aquamarine'      : '#66CDAA',
+    \ 'medium blue'            : '#0000CD',
+    \ 'medium orchid'          : '#BA55D3',
+    \ 'medium purple'          : '#9370DB',
+    \ 'medium sea green'       : '#3CB371',
+    \ 'medium slate blue'      : '#7B68EE',
+    \ 'medium spring green'    : '#00FA9A',
+    \ 'medium turquoise'       : '#48D1CC',
+    \ 'medium violet red'      : '#C71585',
+    \ 'mediumaquamarine'       : '#66CDAA',
+    \ 'mediumblue'             : '#0000CD',
+    \ 'mediumorchid'           : '#BA55D3',
+    \ 'mediumorchid1'          : '#E066FF',
+    \ 'mediumorchid2'          : '#D15FEE',
+    \ 'mediumorchid3'          : '#B452CD',
+    \ 'mediumorchid4'          : '#7A378B',
+    \ 'mediumpurple'           : '#9370DB',
+    \ 'mediumpurple1'          : '#AB82FF',
+    \ 'mediumpurple2'          : '#9F79EE',
+    \ 'mediumpurple3'          : '#8968CD',
+    \ 'mediumpurple4'          : '#5D478B',
+    \ 'mediumseagreen'         : '#3CB371',
+    \ 'mediumslateblue'        : '#7B68EE',
+    \ 'mediumspringgreen'      : '#00FA9A',
+    \ 'mediumturquoise'        : '#48D1CC',
+    \ 'mediumvioletred'        : '#C71585',
+    \ 'midnight blue'          : '#191970',
+    \ 'midnightblue'           : '#191970',
+    \ 'mint cream'             : '#F5FFFA',
+    \ 'mintcream'              : '#F5FFFA',
+    \ 'misty rose'             : '#FFE4E1',
+    \ 'mistyrose'              : '#FFE4E1',
+    \ 'mistyrose1'             : '#FFE4E1',
+    \ 'mistyrose2'             : '#EED5D2',
+    \ 'mistyrose3'             : '#CDB7B5',
+    \ 'mistyrose4'             : '#8B7D7B',
+    \ 'moccasin'               : '#FFE4B5',
+    \ 'navajo white'           : '#FFDEAD',
+    \ 'navajowhite'            : '#FFDEAD',
+    \ 'navajowhite1'           : '#FFDEAD',
+    \ 'navajowhite2'           : '#EECFA1',
+    \ 'navajowhite3'           : '#CDB38B',
+    \ 'navajowhite4'           : '#8B795E',
+    \ 'navy blue'              : '#000080',
+    \ 'navy'                   : '#000080',
+    \ 'navyblue'               : '#000080',
+    \ 'old lace'               : '#FDF5E6',
+    \ 'oldlace'                : '#FDF5E6',
+    \ 'olive drab'             : '#6B8E23',
+    \ 'olivedrab'              : '#6B8E23',
+    \ 'olivedrab1'             : '#C0FF3E',
+    \ 'olivedrab2'             : '#B3EE3A',
+    \ 'olivedrab3'             : '#9ACD32',
+    \ 'olivedrab4'             : '#698B22',
+    \ 'orange red'             : '#FF4500',
+    \ 'orange'                 : '#FFA500',
+    \ 'orange1'                : '#FFA500',
+    \ 'orange2'                : '#EE9A00',
+    \ 'orange3'                : '#CD8500',
+    \ 'orange4'                : '#8B5A00',
+    \ 'orangered'              : '#FF4500',
+    \ 'orangered1'             : '#FF4500',
+    \ 'orangered2'             : '#EE4000',
+    \ 'orangered3'             : '#CD3700',
+    \ 'orangered4'             : '#8B2500',
+    \ 'orchid'                 : '#DA70D6',
+    \ 'orchid1'                : '#FF83FA',
+    \ 'orchid2'                : '#EE7AE9',
+    \ 'orchid3'                : '#CD69C9',
+    \ 'orchid4'                : '#8B4789',
+    \ 'pale goldenrod'         : '#EEE8AA',
+    \ 'pale green'             : '#98FB98',
+    \ 'pale turquoise'         : '#AFEEEE',
+    \ 'pale violet red'        : '#DB7093',
+    \ 'palegoldenrod'          : '#EEE8AA',
+    \ 'palegreen'              : '#98FB98',
+    \ 'palegreen1'             : '#9AFF9A',
+    \ 'palegreen2'             : '#90EE90',
+    \ 'palegreen3'             : '#7CCD7C',
+    \ 'palegreen4'             : '#548B54',
+    \ 'paleturquoise'          : '#AFEEEE',
+    \ 'paleturquoise1'         : '#BBFFFF',
+    \ 'paleturquoise2'         : '#AEEEEE',
+    \ 'paleturquoise3'         : '#96CDCD',
+    \ 'paleturquoise4'         : '#668B8B',
+    \ 'palevioletred'          : '#DB7093',
+    \ 'palevioletred1'         : '#FF82AB',
+    \ 'palevioletred2'         : '#EE799F',
+    \ 'palevioletred3'         : '#CD6889',
+    \ 'palevioletred4'         : '#8B475D',
+    \ 'papaya whip'            : '#FFEFD5',
+    \ 'papayawhip'             : '#FFEFD5',
+    \ 'peach puff'             : '#FFDAB9',
+    \ 'peachpuff'              : '#FFDAB9',
+    \ 'peachpuff1'             : '#FFDAB9',
+    \ 'peachpuff2'             : '#EECBAD',
+    \ 'peachpuff3'             : '#CDAF95',
+    \ 'peachpuff4'             : '#8B7765',
+    \ 'peru'                   : '#CD853F',
+    \ 'pink'                   : '#FFC0CB',
+    \ 'pink1'                  : '#FFB5C5',
+    \ 'pink2'                  : '#EEA9B8',
+    \ 'pink3'                  : '#CD919E',
+    \ 'pink4'                  : '#8B636C',
+    \ 'plum'                   : '#DDA0DD',
+    \ 'plum1'                  : '#FFBBFF',
+    \ 'plum2'                  : '#EEAEEE',
+    \ 'plum3'                  : '#CD96CD',
+    \ 'plum4'                  : '#8B668B',
+    \ 'powder blue'            : '#B0E0E6',
+    \ 'powderblue'             : '#B0E0E6',
+    \ 'purple'                 : '#A020F0',
+    \ 'purple1'                : '#9B30FF',
+    \ 'purple2'                : '#912CEE',
+    \ 'purple3'                : '#7D26CD',
+    \ 'purple4'                : '#551A8B',
+    \ 'red'                    : '#FF0000',
+    \ 'red1'                   : '#FF0000',
+    \ 'red2'                   : '#EE0000',
+    \ 'red3'                   : '#CD0000',
+    \ 'red4'                   : '#8B0000',
+    \ 'rosy brown'             : '#BC8F8F',
+    \ 'rosybrown'              : '#BC8F8F',
+    \ 'rosybrown1'             : '#FFC1C1',
+    \ 'rosybrown2'             : '#EEB4B4',
+    \ 'rosybrown3'             : '#CD9B9B',
+    \ 'rosybrown4'             : '#8B6969',
+    \ 'royal blue'             : '#4169E1',
+    \ 'royalblue'              : '#4169E1',
+    \ 'royalblue1'             : '#4876FF',
+    \ 'royalblue2'             : '#436EEE',
+    \ 'royalblue3'             : '#3A5FCD',
+    \ 'royalblue4'             : '#27408B',
+    \ 'saddle brown'           : '#8B4513',
+    \ 'saddlebrown'            : '#8B4513',
+    \ 'salmon'                 : '#FA8072',
+    \ 'salmon1'                : '#FF8C69',
+    \ 'salmon2'                : '#EE8262',
+    \ 'salmon3'                : '#CD7054',
+    \ 'salmon4'                : '#8B4C39',
+    \ 'sandy brown'            : '#F4A460',
+    \ 'sandybrown'             : '#F4A460',
+    \ 'sea green'              : '#2E8B57',
+    \ 'seagreen'               : '#2E8B57',
+    \ 'seagreen1'              : '#54FF9F',
+    \ 'seagreen2'              : '#4EEE94',
+    \ 'seagreen3'              : '#43CD80',
+    \ 'seagreen4'              : '#2E8B57',
+    \ 'seashell'               : '#FFF5EE',
+    \ 'seashell1'              : '#FFF5EE',
+    \ 'seashell2'              : '#EEE5DE',
+    \ 'seashell3'              : '#CDC5BF',
+    \ 'seashell4'              : '#8B8682',
+    \ 'sienna'                 : '#A0522D',
+    \ 'sienna1'                : '#FF8247',
+    \ 'sienna2'                : '#EE7942',
+    \ 'sienna3'                : '#CD6839',
+    \ 'sienna4'                : '#8B4726',
+    \ 'sky blue'               : '#87CEEB',
+    \ 'skyblue'                : '#87CEEB',
+    \ 'skyblue1'               : '#87CEFF',
+    \ 'skyblue2'               : '#7EC0EE',
+    \ 'skyblue3'               : '#6CA6CD',
+    \ 'skyblue4'               : '#4A708B',
+    \ 'slate blue'             : '#6A5ACD',
+    \ 'slate gray'             : '#708090',
+    \ 'slate grey'             : '#708090',
+    \ 'slateblue'              : '#6A5ACD',
+    \ 'slateblue1'             : '#836FFF',
+    \ 'slateblue2'             : '#7A67EE',
+    \ 'slateblue3'             : '#6959CD',
+    \ 'slateblue4'             : '#473C8B',
+    \ 'slategray'              : '#708090',
+    \ 'slategray1'             : '#C6E2FF',
+    \ 'slategray2'             : '#B9D3EE',
+    \ 'slategray3'             : '#9FB6CD',
+    \ 'slategray4'             : '#6C7B8B',
+    \ 'slategrey'              : '#708090',
+    \ 'snow'                   : '#FFFAFA',
+    \ 'snow1'                  : '#FFFAFA',
+    \ 'snow2'                  : '#EEE9E9',
+    \ 'snow3'                  : '#CDC9C9',
+    \ 'snow4'                  : '#8B8989',
+    \ 'spring green'           : '#00FF7F',
+    \ 'springgreen'            : '#00FF7F',
+    \ 'springgreen1'           : '#00FF7F',
+    \ 'springgreen2'           : '#00EE76',
+    \ 'springgreen3'           : '#00CD66',
+    \ 'springgreen4'           : '#008B45',
+    \ 'steel blue'             : '#4682B4',
+    \ 'steelblue'              : '#4682B4',
+    \ 'steelblue1'             : '#63B8FF',
+    \ 'steelblue2'             : '#5CACEE',
+    \ 'steelblue3'             : '#4F94CD',
+    \ 'steelblue4'             : '#36648B',
+    \ 'tan'                    : '#D2B48C',
+    \ 'tan1'                   : '#FFA54F',
+    \ 'tan2'                   : '#EE9A49',
+    \ 'tan3'                   : '#CD853F',
+    \ 'tan4'                   : '#8B5A2B',
+    \ 'thistle'                : '#D8BFD8',
+    \ 'thistle1'               : '#FFE1FF',
+    \ 'thistle2'               : '#EED2EE',
+    \ 'thistle3'               : '#CDB5CD',
+    \ 'thistle4'               : '#8B7B8B',
+    \ 'tomato'                 : '#FF6347',
+    \ 'tomato1'                : '#FF6347',
+    \ 'tomato2'                : '#EE5C42',
+    \ 'tomato3'                : '#CD4F39',
+    \ 'tomato4'                : '#8B3626',
+    \ 'turquoise'              : '#40E0D0',
+    \ 'turquoise1'             : '#00F5FF',
+    \ 'turquoise2'             : '#00E5EE',
+    \ 'turquoise3'             : '#00C5CD',
+    \ 'turquoise4'             : '#00868B',
+    \ 'violet red'             : '#D02090',
+    \ 'violet'                 : '#EE82EE',
+    \ 'violetred'              : '#D02090',
+    \ 'violetred1'             : '#FF3E96',
+    \ 'violetred2'             : '#EE3A8C',
+    \ 'violetred3'             : '#CD3278',
+    \ 'violetred4'             : '#8B2252',
+    \ 'wheat'                  : '#F5DEB3',
+    \ 'wheat1'                 : '#FFE7BA',
+    \ 'wheat2'                 : '#EED8AE',
+    \ 'wheat3'                 : '#CDBA96',
+    \ 'wheat4'                 : '#8B7E66',
+    \ 'white smoke'            : '#F5F5F5',
+    \ 'white'                  : '#FFFFFF',
+    \ 'whitesmoke'             : '#F5F5F5',
+    \ 'yellow green'           : '#9ACD32',
+    \ 'yellow'                 : '#FFFF00',
+    \ 'yellow1'                : '#FFFF00',
+    \ 'yellow2'                : '#EEEE00',
+    \ 'yellow3'                : '#CDCD00',
+    \ 'yellow4'                : '#8B8B00',
+    \ 'yellowgreen'            : '#9ACD32',
+  \}
+
+  if has_key(l:color_list, l:color_name)
+    let l:hex_code = l:color_list[l:color_name]
+  endif
+
+  return l:hex_code
+endfunction
+

File autoload/indent_guides.vim

View file
+" Author:   Nate Kane <nathanaelkane AT gmail DOT com>
+" Homepage: http://github.com/nathanaelkane/vim-indent-guides
+
+"
+" Toggles the indent guides on and off.
+"
+function! indent_guides#toggle()
+  call indent_guides#init_matches()
+
+  if empty(w:indent_guides_matches)
+    call indent_guides#enable()
+  else
+    call indent_guides#disable()
+  endif
+endfunction
+
+"
+" Called from autocmds, keeps indent guides enabled or disabled when entering
+" other buffers and windows.
+"
+function! indent_guides#process_autocmds()
+  if g:indent_guides_autocmds_enabled
+    call indent_guides#enable()
+  else
+    call indent_guides#disable()
+  end
+endfunction
+
+"
+" Enables the indent guides for the current buffer and any other buffer upon
+" entering it.
+"
+function! indent_guides#enable()
+  let g:indent_guides_autocmds_enabled = 1
+
+  call indent_guides#init_script_vars()
+  call indent_guides#highlight_colors()
+  call indent_guides#clear_matches()
+
+  " loop through each indent level and define a highlight pattern
+  " will automagically figure out whether to use tabs or spaces
+  for l:level in range(s:start_level, s:indent_levels)
+    let l:group      = 'IndentGuides' . ((l:level % 2 == 0) ? 'Even' : 'Odd')
+    let l:pattern    = '^\s\{' . (l:level * s:indent_size - s:indent_size) . '\}\zs'
+    let l:pattern   .= '\s\{' . s:guide_size . '\}'
+    let l:pattern   .= '\ze'
+
+    " define the higlight pattern and add to list
+    call add(w:indent_guides_matches, matchadd(l:group, l:pattern))
+  endfor
+endfunction
+
+"
+" Disables the indent guides for the current buffer and any other buffer upon
+" entering it.
+"
+function! indent_guides#disable()
+  let g:indent_guides_autocmds_enabled = 0
+  call indent_guides#clear_matches()
+endfunction
+
+"
+" Clear all highlight matches for the current window.
+"
+function! indent_guides#clear_matches()
+  call indent_guides#init_matches()
+  if !empty(w:indent_guides_matches)
+    let l:index = 0
+    for l:match_id in w:indent_guides_matches
+      call matchdelete(l:match_id)
+      call remove(w:indent_guides_matches, l:index)
+      let l:index += l:index
+    endfor
+  endif
+endfunction
+
+"
+" Automagically calculates and defines the indent highlight colors.
+"
+function! indent_guides#highlight_colors()
+  if s:auto_colors
+    if has('gui_running')
+      call indent_guides#gui_highlight_colors()
+    else
+      call indent_guides#cterm_highlight_colors()
+    endif
+  endif
+endfunction
+
+"
+" Defines the indent highlight colors for terminal vim.
+"
+" NOTE: This function contains no magic at the moment, it will simply use some
+" light or dark preset colors depending on the `set background=` value.
+"
+function! indent_guides#cterm_highlight_colors()
+  let l:colors = (&g:background == 'dark') ? ['darkgrey', 'black'] : ['lightgrey', 'white']
+
+  exe 'hi IndentGuidesEven ctermbg=' . l:colors[0]
+  exe 'hi IndentGuidesOdd  ctermbg=' . l:colors[1]
+endfunction
+
+"
+" Automagically calculates and defines the indent highlight colors for gui
+" vim.
+"
+function! indent_guides#gui_highlight_colors()
+  let l:hi_normal_guibg = ''
+
+  " capture the backgroud color from the normal highlight
+  if s:hi_normal =~ s:color_hex_bg_pat
+    " hex color code is being used, eg. '#FFFFFF'
+    let l:hi_normal_guibg = matchstr(s:hi_normal, s:color_hex_bg_pat)
+
+  elseif s:hi_normal =~ s:color_name_bg_pat
+    " color name is being used, eg. 'white'
+    let l:color_name = matchstr(s:hi_normal, s:color_name_bg_pat)
+    let l:hi_normal_guibg = color_helper#color_name_to_hex(l:color_name)
+  endif
+
+  if l:hi_normal_guibg =~ s:color_hex_pat
+    " calculate the highlight background colors
+    let l:hi_odd_bg  = indent_guides#lighten_or_darken_color(l:hi_normal_guibg)
+    let l:hi_even_bg = indent_guides#lighten_or_darken_color(l:hi_odd_bg)
+
+    " define the new highlights
+    exe 'hi IndentGuidesOdd  guibg=' . l:hi_odd_bg
+    exe 'hi IndentGuidesEven guibg=' . l:hi_even_bg
+  end
+endfunction
+
+"
+" Takes a color and darkens or lightens it depending on whether a dark or light
+" colorscheme is being used.
+"
+function! indent_guides#lighten_or_darken_color(color)
+  let l:new_color = ''
+
+  if (&g:background == 'dark')
+    let l:new_color = color_helper#hex_color_lighten(a:color, s:change_percent)
+  else
+    let l:new_color = color_helper#hex_color_darken (a:color, s:change_percent)
+  endif
+
+  return l:new_color
+endfunction
+
+"
+" Define default highlights.
+"
+function! indent_guides#define_default_highlights()
+  exe 'hi IndentGuidesOdd  guibg=NONE ctermbg=NONE'
+  exe 'hi IndentGuidesEven guibg=NONE ctermbg=NONE'
+endfunction
+
+"
+" Init the w:indent_guides_matches variable.
+"
+function! indent_guides#init_matches()
+  let w:indent_guides_matches = exists('w:indent_guides_matches') ? w:indent_guides_matches : []
+endfunction
+
+"
+" We need to initialize these vars every time a buffer is entered while the
+" plugin is enabled.
+"
+function! indent_guides#init_script_vars()
+  let s:indent_size = indent_guides#get_indent_size()
+  let s:guide_size  = indent_guides#calculate_guide_size()
+  let s:hi_normal   = indent_guides#capture_highlight('Normal')
+
+  " shortcuts to the global variables - this makes the code easier to read
+  let s:debug             = g:indent_guides_debug
+  let s:indent_levels     = g:indent_guides_indent_levels
+  let s:auto_colors       = g:indent_guides_auto_colors
+  let s:change_percent    = g:indent_guides_color_change_percent / 100.0
+  let s:color_hex_pat     = g:indent_guides_color_hex_pattern
+  let s:color_hex_bg_pat  = g:indent_guides_color_hex_guibg_pattern
+  let s:color_name_bg_pat = g:indent_guides_color_name_guibg_pattern
+  let s:start_level       = g:indent_guides_start_level
+
+  if s:debug
+    echo 's:indent_size = '       . s:indent_size
+    echo 's:guide_size = '        . s:guide_size
+    echo 's:hi_normal = '         . s:hi_normal
+    echo 's:indent_levels = '     . s:indent_levels
+    echo 's:auto_colors = '       . s:auto_colors
+    echo 's:change_percent = '    . string(s:change_percent)
+    echo 's:color_hex_pat = '     . s:color_hex_pat
+    echo 's:color_hex_bg_pat = '  . s:color_hex_bg_pat
+    echo 's:color_name_bg_pat = ' . s:color_name_bg_pat
+    echo 's:start_level = '       . s:start_level
+  endif
+endfunction
+
+"
+" Calculate the indent guide size. Ensures the guide size is less than or
+" equal to the actual indent size, otherwise some weird things can occur.
+"
+" NOTE: Currently, this only works when soft-tabs are being used.
+"
+function! indent_guides#calculate_guide_size()
+  let l:guide_size  = g:indent_guides_guide_size
+  let l:indent_size = indent_guides#get_indent_size()
+
+  if l:indent_size > 1 && l:guide_size >= 1
+    let l:guide_size = (l:guide_size > s:indent_size) ? s:indent_size : l:guide_size
+  else
+    let l:guide_size = s:indent_size
+  endif
+
+  return l:guide_size
+endfunction
+
+"
+" Gets the indent size, which depends on whether soft-tabs or hard-tabs are
+" being used.
+"
+function! indent_guides#get_indent_size()
+  return (&l:expandtab == 1) ? &l:shiftwidth : 1
+endfunction
+
+"
+" Captures and returns the output of highlight group definitions.
+"
+" Example: indent_guides#capture_highlight('normal')
+" Returns: 'Normal xxx guifg=#323232 guibg=#ffffff
+"
+function! indent_guides#capture_highlight(group_name)
+  redir => l:output
+  exe "silent hi " . a:group_name
+  redir END
+
+  let l:output = substitute(l:output, "\n", "", "")
+  return l:output
+endfunction
+

File doc/indent_guides.txt

View file
+*indent_guides.txt*  A plugin for visually displaying indent levels in Vim.
+
+                                                                 *indent-guides*
+      ____           __            __     ______       _      __
+     /  _/____  ____/ /___  ____  / /_   / ____/__  __(_)____/ /___  _____
+     / / / __ \/ __  // _ \/ __ \/ __/  / / __ / / / / // __  // _ \/ ___/
+   _/ / / / / / /_/ //  __/ / / / /_   / /_/ // /_/ / // /_/ //  __(__  )
+  /___//_/ /_/\__,_/ \___/_/ /_/\__/   \____/ \__,_/_/ \__,_/ \___/____/
+
+
+Author:      Nate Kane <nathanaelkane AT gmail DOT com>
+Version:     1.2
+Last Change: 10 Jan 2011
+
+==============================================================================
+CONTENTS                                                *indent-guides-contents*
+
+  1. Introduction.......................... |indent-guides-introduction|
+  2. Commands.............................. |indent-guides-commands|
+  3. Options............................... |indent-guides-options|
+  4. Mappings.............................. |indent-guides-mappings|
+  5. Terminal Vim.......................... |indent-guides-terminal-vim|
+  6. About................................. |indent-guides-about|
+  7. Changelog............................. |indent-guides-changelog|
+  8. License............................... |indent-guides-license|
+
+==============================================================================
+1. INTRODUCTION                                     *indent-guides-introduction*
+
+Indent Guides is a plugin for visually displaying indent levels in Vim.
+
+This plugin should work with gVim out of the box, no configuration needed.
+
+Features:~
+  * Can detect both tab and space indent styles.
+  * Automatically inspects your colorscheme and picks appropriate colors (gVim
+    only).
+  * Will highlight indent levels with alternating colors.
+  * Full support for gVim and basic support for Terminal Vim.
+  * Seems to work on Windows gVim 7.3 (haven't done any extensive tests
+    though).
+  * Customizable size for indent guides, eg. skinny guides (soft-tabs only).
+  * Customizable start indent level.
+
+==============================================================================
+2. COMMANDS                                             *indent-guides-commands*
+
+------------------------------------------------------------------------------
+:IndentGuidesToggle                                        *:IndentGuidesToggle*
+  Toggles the indent guides on and off.
+
+------------------------------------------------------------------------------
+:IndentGuidesEnable                                        *:IndentGuidesEnable*
+  Enables the indent guides for the current buffer and any other buffer upon
+  entering it.
+
+------------------------------------------------------------------------------
+:IndentGuidesDisable                                      *:IndentGuidesDisable*
+  Disables the indent guides for the current buffer and any other buffer upon
+  entering it.
+
+==============================================================================
+3. OPTIONS                                               *indent-guides-options*
+
+------------------------------------------------------------------------------
+                                                 *'indent_guides_indent_levels'*
+Use this option to control how many indent levels to display guides for.
+
+Default: 30. Values: integer.
+>
+  let g:indent_guides_indent_levels = 30
+<
+
+------------------------------------------------------------------------------
+                                                   *'indent_guides_auto_colors'*
+Use this option to control whether or not the plugin automatically calculates
+the highlight colors. Will use the current colorscheme's background color as a
+base color.
+
+Default: 1. Values: 0 or 1.
+>
+  let g:indent_guides_auto_colors = 1
+<
+
+If you set this option to 0, be sure to manually define some highlight colors
+in an autocmd.
+>
+  let g:indent_guides_auto_colors = 0
+  autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=red   ctermbg=3
+  autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=green ctermbg=4
+<
+
+------------------------------------------------------------------------------
+                                          *'indent_guides_color_change_percent'*
+Use this option to control the percent at which the highlight colors will be
+lightened or darkened.
+
+Default: 5 (5%). Values: between 0 and 100.
+>
+  let g:indent_guides_color_change_percent = 5
+<
+
+------------------------------------------------------------------------------
+                                                    *'indent_guides_guide_size'*
+Use this option to customize the size of the indent guide. By default the
+value is set to 0, which will set the guide size to be the same as the
+|shiftwidth|. Setting this value to be larger than the |shiftwidth| is essentially
+the same as setting it to 0.
+
+A common use of this setting is to create skinny indent guides, which look
+great with a |shiftwidth| of 4 or more.
+
+NOTE: This option only works for soft-tabs (spaces) and not hard-tabs.
+
+Default: 0. Values: between 0 and |shiftwidth|.
+>
+  let g:indent_guides_guide_size = 1
+<
+
+------------------------------------------------------------------------------
+                                                   *'indent_guides_start_level'*
+Use this option to control which indent level to start showing guides from.
+
+Default: 1. Values: between 1 and g:|indent_guides_indent_levels|.
+>
+  let g:indent_guides_start_level = 2
+<
+
+==============================================================================
+4. MAPPINGS                                             *indent-guides-mappings*
+
+The default mapping for toggling indent guides is <Leader>ig. You can easily
+map it to other keys. For example:
+>
+  :nmap <Leader>ig :IndentGuidesToggle<CR>
+<
+
+You can also map some other commands that are not mapped by default. For
+example:
+>
+  :nmap <Leader>ie :IndentGuidesEnable<CR>
+  :nmap <Leader>id :IndentGuidesDisable<CR>
+<
+
+==============================================================================
+5. TERMINAL VIM                                     *indent-guides-terminal-vim*
+
+At the moment Terminal Vim only has basic support. This means is that colors
+won't be automatically calculated based on your colorscheme. Instead, some
+preset colors are used depending on whether `background` is set to `dark` or
+`light`.
+
+When `set background=dark` is used, the following highlight colors will be
+defined:
+>
+  hi IndentGuidesEven ctermbg=darkgrey
+  hi IndentGuidesOdd  ctermbg=black
+<
+
+Alternatively, when `set background=light` is used, the following highlight
+colors will be defined:
+>
+  hi IndentGuidesEven ctermbg=lightgrey
+  hi IndentGuidesOdd  ctermbg=white
+<
+
+If for some reason it's incorrectly defining light highlight colors instead of
+dark ones or vice versa, the first thing you should check is that the
+`background` value is being set correctly for your colorscheme. Sometimes it's
+best to manually set the `background` value in your `.vimrc`, for example:
+>
+  colorscheme desert256
+  set background=dark
+<
+
+Alternatively you can manually setup the highlight colors yourself, see
+|indent_guides_auto_colors| for an example.
+
+==============================================================================
+6. ABOUT                                                   *indent-guides-about*
+
+Why did I build this plugin?~
+  * I believe indent guides make nested code easier to read and understand.
+  * Other editors have them and it's high time Vim did.
+  * None of the existing indent guide plugins on the market suited my needs.
+  * I wanted to learn me some VimL.
+
+Links:~
+  * Github:        https://github.com/nathanaelkane/vim-indent-guides
+  * Bugs & Issues: https://github.com/nathanaelkane/vim-indent-guides/issues
+
+Credits:~
+  * Matt Wozniski (godlygeek) for letting me use the list of color names and
+    hex codes from his CSApprox plugin.
+
+Contact:~
+  * Twitter: @nathanaelkane
+  * Email:   <nathanaelkane AT gmail DOT com>
+  * IRC:     nate- on Freenode (I usually idle in the #vim channel)
+
+Bug reports, feedback, suggestions etc are welcomed.
+
+==============================================================================
+7. CHANGELOG                                           *indent-guides-changelog*
+
+1.2~
+  * Customizable size for indent guides, eg. skinny guides (soft-tabs only).
+  * Customizable start indent level.
+  * Refactored some internal logic.
+1.1~
+  * Added basic support for Terminal Vim. See |indent-guides-terminal-vim| for
+    more information.
+  * Cut down on rgb to hex color conversions by adding a big dictionary of
+    color names and hex codes.
+  * Various bug fixes.
+
+1.0~
+  * First public version.
+
+==============================================================================
+8. LICENSE                                               *indent-guides-license*
+
+The MIT Licence
+http://www.opensource.org/licenses/mit-license.php
+
+Copyright (c) 2010 Nate Kane
+
+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.
+
+vim:tw=78:ts=2:ft=help:norl:
+

File plugin/indent_guides.vim

View file
+" Author:   Nate Kane <nathanaelkane AT gmail DOT com>
+" Homepage: http://github.com/nathanaelkane/vim-indent-guides
+
+if exists('g:loaded_indent_guides') || &cp
+  finish
+endif
+let g:loaded_indent_guides = 1
+call indent_guides#define_default_highlights()
+
+function! s:IndentGuidesToggle()
+  call indent_guides#toggle()
+endfunction
+
+function! s:IndentGuidesEnable()
+  call indent_guides#enable()
+endfunction
+
+function! s:IndentGuidesDisable()
+  call indent_guides#disable()
+endfunction
+
+" Commands
+command! IndentGuidesToggle  call s:IndentGuidesToggle()
+command! IndentGuidesEnable  call s:IndentGuidesEnable()
+command! IndentGuidesDisable call s:IndentGuidesDisable()
+
+"
+" Initializes a given variable to a given value. The variable is only
+" initialized if it does not exist prior.
+"
+function s:InitVariable(var, value)
+  if !exists(a:var)
+    if type(a:var) == type("")
+      exec 'let ' . a:var . ' = ' . "'" . a:value . "'"
+    else
+      exec 'let ' . a:var . ' = ' .  a:value
+    endif
+  endif
+endfunction
+
+" Fixed global variables
+let g:indent_guides_autocmds_enabled         = 0
+let g:indent_guides_color_hex_pattern        = '#[0-9A-Fa-f]\{6\}'
+let g:indent_guides_color_hex_guibg_pattern  = 'guibg=\zs' . g:indent_guides_color_hex_pattern . '\ze'
+let g:indent_guides_color_name_guibg_pattern = "guibg='\\?\\zs[0-9A-Za-z ]\\+\\ze'\\?"
+
+" Configurable global variables
+call s:InitVariable('g:indent_guides_indent_levels',        30)
+call s:InitVariable('g:indent_guides_auto_colors',          1 )
+call s:InitVariable('g:indent_guides_color_change_percent', 5 ) " ie. 5%
+call s:InitVariable('g:indent_guides_guide_size',           0 )
+call s:InitVariable('g:indent_guides_start_level',          1 )
+call s:InitVariable('g:indent_guides_debug',                0 )
+
+" Default mapping
+nmap <Leader>ig :IndentGuidesToggle<CR>
+
+" Auto commands
+augroup indent_guides
+  autocmd!
+  autocmd BufEnter,WinEnter * call indent_guides#process_autocmds()
+augroup END
+

File snippets/css.snippets

View file
 	/* -------------------------------------------------------------- start
 			Helpers 
 	-------------------------------------------------------------- */
+	/*
+	 * Non-semantic helper classes: please define your styles before this section.
+	 */
+
+	/* for image replacement */
+	.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
+
+	/* Hide for both screenreaders and browsers
+	 	css-discuss.incutio.com/wiki/Screenreader_Visibility */
+	.hidden { display: none; visibility: hidden; }
+
+	/* Hide only visually, but have it available for screenreaders: by Jon Neal
+	  www.webaim.org/techniques/css/invisiblecontent/  &  j.mp/visuallyhidden */
+	.visuallyhidden {
+	 	 border: 0;
+	 	 clip: rect(0 0 0 0);
+	 	 height: 1px;
+	 	 margin: -1px;
+	 	 overflow: hidden;
+	 	 padding: 0;
+	 	 position: absolute;
+	 	 width: 1px;
+	}
+
+	/* Hide visually and from screenreaders, but maintain layout */
+	.invisible { visibility: hidden; }
+
+	/* >> The Magnificent CLEARFIX: Updated to prevent margin-collapsing on child elements << j.mp/bestclearfix */
+	.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; visibility: hidden; }
+	.clearfix:after { clear: both; }
+	/* fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
+	 .clearfix { zoom: 1; }
 	/* for alignment */
 	.center {text-align: center}
 	.left   {float: left; overflow: hidden}

File snippets/css/=base.snippet

View file
 /* fonts.css from the YUI Library: developer.yahoo.com/yui/
-   Refer to developer.yahoo.com/yui/3/cssfonts/ for font sizing percentages
+   refer to developer.yahoo.com/yui/3/cssfonts/ for font sizing percentages
 
-  There are three custom edits:
+  there are three custom edits:
    * remove arial, helvetica from explicit font stack
    * we normalize monospace styles ourselves
    * table font-size is reset in the HTML5 reset above so there is no need to repeat
 
 select, input, textarea, button { font:99% sans-serif; }
 
-/* normalize monospace sizing 
+/* normalize monospace sizing
  * en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome
  */
 pre, code, kbd, samp { font-family: monospace, sans-serif; }
- 
 
-/* 
- * minimal base styles 
+
+/*
+ * minimal base styles
  */
 
 
-body, select, input, textarea { 
-  /* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ 
-  color: #444; 
+body, select, input, textarea {
+  /* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */
+  color: #444;
   /* set your base font here, to apply evenly */
-  /* font-family: Georgia, serif;  */   
+  /* font-family: Georgia, serif;  */
 }
 
-/* Headers (h1,h2,etc) have no default font-size or margin,
-   you'll want to define those yourself. */ 
+/* headers (h1,h2,etc) have no default font-size or margin,
+   you'll want to define those yourself. */
 h1,h2,h3,h4,h5,h6 { font-weight: bold; }
 
-/* always force a scrollbar in non-IE: */ 
+/* always force a scrollbar in non-IE: */
 html { overflow-y: scroll; }
 
- 
-/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
+
+/* accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */
 a:hover, a:active { outline: none; }
 
 a, a:active, a:visited { color: #607890; }
 a:hover { color: #036; }
 
 
-ul, ol { margin-left: 1.8em; }
+ul, ol { margin-left: 2em; }
 ol { list-style-type: decimal; }
 
-/* Remove margins for navigation lists */
-nav ul, nav li { margin: 0; } 
+/* remove margins for navigation lists */
+nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
 
 small { font-size: 85%; }
 strong, th { font-weight: bold; }
 
-td, td img { vertical-align: top; } 
+td { vertical-align: top; }
 
-sub { vertical-align: sub; font-size: smaller; }
-sup { vertical-align: super; font-size: smaller; }
+/* set sub, sup without affecting line-height: gist.github.com/413930*/
+sub, sup { font-size: 75%; line-height: 0; position: relative; }
+sup { top: -0.5em; }
+sub { bottom: -0.25em; }
 
-pre { 
-  padding: 15px; 
-  
+pre {
   /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
-  white-space: pre; /* CSS2 */
-  white-space: pre-wrap; /* CSS 2.1 */
-  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
-  word-wrap: break-word; /* IE */
+  white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word;
+  padding: 15px;
 }
- 
-textarea { overflow: auto; } /* thnx ivannikolic! www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
+
+textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
 
 .ie6 legend, .ie7 legend { margin-left: -7px; } /* thnx ivannikolic! */
 
-/* align checkboxes, radios, text inputs with their label
-   by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css  */
+/* align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css  */
 input[type="radio"] { vertical-align: text-bottom; }
 input[type="checkbox"] { vertical-align: bottom; }
 .ie7 input[type="checkbox"] { vertical-align: baseline; }
 
 /* hand cursor on clickable input elements */
 label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
- 
-/* webkit browsers add a 2px margin outside the chrome of form elements */  
+
+/* webkit browsers add a 2px margin outside the chrome of form elements */
 button, input, select, textarea { margin: 0; }
 
 /* colors for form validity */
 input:valid, textarea:valid   {  }
-input:invalid, textarea:invalid { 
+input:invalid, textarea:invalid {
       border-radius: 1px;
-    -moz-box-shadow: 0px 0px 5px red; 
- -webkit-box-shadow: 0px 0px 5px red; 
+    -moz-box-shadow: 0px 0px 5px red;
+ -webkit-box-shadow: 0px 0px 5px red;
          box-shadow: 0px 0px 5px red;
 }
-.no-boxshadow input:invalid, 
+.no-boxshadow input:invalid,
 .no-boxshadow textarea:invalid { background-color: #f0dddd; }
 
 
 /* These selection declarations have to be separate.
-   No text-shadow: twitter.com/miketaylr/status/12228805301 
+   No text-shadow: twitter.com/miketaylr/status/12228805301
    Also: hot pink. */
 ::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; }
-::selection { background:#FF5E99; color:#fff; text-shadow: none; } 
+::selection { background:#FF5E99; color:#fff; text-shadow: none; }
 
 /*  j.mp/webkit-tap-highlight-color */
-a:link { -webkit-tap-highlight-color: #FF5E99; } 
+a:link { -webkit-tap-highlight-color: #FF5E99; }
 
-/* make buttons play nice in IE:    
+/* make buttons play nice in IE:
    www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */
 button {  width: auto; overflow: visible; }
- 
-/* bicubic resizing for non-native sized IMG: 
+
+/* bicubic resizing for non-native sized IMG:
    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */
 .ie7 img { -ms-interpolation-mode: bicubic; }
-
-
-
-/* 
- * Non-semantic helper classes 
- */
-
-/* for image replacement */
-.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
-
-/* Hide for both screenreaders and browsers
-   css-discuss.incutio.com/wiki/Screenreader_Visibility */
-.hidden { display: none; visibility: hidden; } 
-
-/* Hide only visually, but have it available for screenreaders 
-   www.webaim.org/techniques/css/invisiblecontent/  &  j.mp/visuallyhidden  */
-.visuallyhidden { position: absolute !important;    
-  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
-  clip: rect(1px, 1px, 1px, 1px); }
-
-/* Hide visually and from screenreaders, but maintain layout */
-.invisible { visibility: hidden; }
-
-/* >> The Magnificent CLEARFIX: Updated to prevent margin-collapsing on child elements << j.mp/bestclearfix */
-.clearfix:before, .clearfix:after {
-  content: "\0020"; display: block; height: 0; visibility: hidden;	
-} 
-
-.clearfix:after { clear: both; }
-/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
-.clearfix { zoom: 1; }

File snippets/css/=media.snippet

View file
 /*
- * Media queries for responsive design
- * These follow after primary styles so they will successfully override. 
+ * media queries for responsive design
+ * these follow after primary styles so they will successfully override.
  */
 
-@media all and (orientation:portrait) { 
-  /* Style adjustments for portrait mode goes here */
-  
+@media all and (orientation:portrait) {
+  /* style adjustments for portrait mode goes here */
+
 }
 
-@media all and (orientation:landscape) { 
-  /* Style adjustments for landscape mode goes here */
-  
+@media all and (orientation:landscape) {
+  /* style adjustments for landscape mode goes here */
+
 }
 
-/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome)  
-   Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
+/* Grade-A Mobile Browsers (Opera Mobile, Mobile Safari, Android Chrome)
+   consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */
 @media screen and (max-device-width: 480px) {
-  
-  
-  /* Uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you
-     j.mp/textsizeadjust 
+
+
+  /* uncomment if you don't want iOS and WinMobile to mobile-optimize the text for you
+     j.mp/textsizeadjust
   html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
 }
 
-/* 
+/*
  * print styles
- * inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/ 
+ * inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/
  */
 @media print {
-  * { background: transparent !important; color: black !important; text-shadow: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */
+  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
+  -ms-filter: none !important; } /* black prints faster: sanbeiji.com/archives/953 */
   a, a:visited { color: #444 !important; text-decoration: underline; }
   a[href]:after { content: " (" attr(href) ")"; }
   abbr[title]:after { content: " (" attr(title) ")"; }
-  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
+  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* don't show links for images, or javascript/internal links */
   pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
-  thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */ 
+  thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
   tr, img { page-break-inside: avoid; }
   @page { margin: 0.5cm; }
   p, h2, h3 { orphans: 3; widows: 3; }
   h2, h3{ page-break-after: avoid; }
 }
-

File snippets/css/=menu.snippet

View file
 /* -------------------------------------------------------------- start
-    HTML 
+		HTML 
 
-    <div id="testnixa">
-      <div class="menu-header">
-        <ul class="menu" id="menu-main">
-        </ul>
-      </div>
-    </div>
+		<div id="$1">
+			<nav class="menu-header">
+				<ul class="menu" id="menu-main">
+					<li><a href="" class="">Link 1</a></li>
+					<li><a href="" class="">Link 2</a></li>
+					<li><a href="" class="">Link 3 Nested</a>
+						<ul class="menu" id="menu-main">
+							<li><a href="" class=""></a></li>
+							<li><a href="" class=""></a></li>
+						</ul>
+					</li>
+				</ul>
+			</nav>
+		</div>
 /* -------------------------------------------------------------- end */
 /* -------------------------------------------------------------- start
     Menu 
 -------------------------------------------------------------- */
-#${1:navigation} {margin: 0 auto; display:block; float:left; z-index: 10;}
-#$1 .menu-header ul,
-#$1 .menu-header ul li,
-div.menu ul,
-div.menu ul li { list-style: none; margin: 0}
-#$1 .menu-header li,
-div.menu li { float:left; position: relative; }
-#$1 a {display:block; padding:0 25px; line-height:30px; margin: 0 3px}
-#$1 ul li.first a,
-#$1 ul li.last a,
-#$1 ul ul a { margin: 0; }
-
-#$1 ul ul { display:none; position:absolute; top:30px; left:3px; float:left; width: 180px; z-index: 99999;}
-#$1 ul ul li { min-width: 180px;	}
-#$1 ul ul ul { left:100%; top:0; }
-#$1 ul ul a { height:auto; line-height:1em; padding:10px; width: 160px; }
-#$1 ul li:hover > ul { display:block; }
+#$1 {float: left;width: 940px}
+#$1 .menu-header, div.menu {width: 928px;margin-left: 12px}
+#$1 a {line-height: 38px;padding: 0 10px}
+#$1 ul ul {top: 38px;left: 0;width: 180px}
+#$1 ul ul li{min-width: 180px}
+#$1 ul ul a {padding: 10px; width: 160px}
 
 /* -------------------------------------------------------------- end */
-	/* -------------------------------------------------------------- start
-			Font 
-	-------------------------------------------------------------- */
-	#$1 a {font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; text-decoration:none; text-transform: uppercase}
-	#$1 .menu-header, div.menu { font-size: 13px; font-weight: bold;}
-
-	/* -------------------------------------------------------------- end */
-	/* -------------------------------------------------------------- start
-			Colors 
-	-------------------------------------------------------------- */
-	#$1,
-	#$1 ul ul a,
-	#$1 li:hover > a,
-	#$1 ul ul :hover > a {background-color:#141414}
-	#$1 li:hover > a,
-	#$1 ul ul :hover > a {color:#fdbd90}
-	
-	#$1 ul li.current_page_item > a,
-	#$1 ul li.current-menu-ancestor > a,
-	#$1 ul li.current-menu-item > a,
-	#$1 ul li.current-menu-parent > a {background:url(../images/menu-arrow-top.png) center bottom no-repeat; color: #fff}
-	#$1 ul li.current_page_ancestor > a {background-color: #1f1f1f}
-	
-	* html #$1 ul li.current_page_item a,
-	* html #$1 ul li.current-menu-ancestor a,
-	* html #$1 ul li.current-menu-item a,
-	* html #$1 ul li.current-menu-parent a,
-	* html #$1 ul li a:hover {color:#fff}
-
-	/* -------------------------------------------------------------- end */
-	/* -------------------------------------------------------------- start
-			Enhancements 
-	-------------------------------------------------------------- */
-	#$1 {box-shadow: 0 0 12px #2b2b2b; -moz-box-shadow: 0 0 12px #2b2b2b; -webkit-box-shadow: 0 0 12px #2b2b2b;}
-	#$1 ul ul {box-shadow: 0px 3px 3px rgba(0,0,0,0.2); -moz-box-shadow: 0 3px 3px rgba(0,0,0,0.2); -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.2)}
-	#$1 {-moz-border-radius: 5px 5px 0 0px; -webkit-border-radius: 5px 5px 0 0px; border-radius: 5px 5px 0 0px;}
-	#$1 ul li.current_page_item > a,
-	#$1 ul li.current_page_ancestor > a,
-	#$1 ul li.current-menu-ancestor > a,
-	#$1 ul li.current-menu-item > a,
-	#$1 ul li.current-menu-parent > a,
-	#$1 li:hover > a {-moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0}
-	#$1 ul ul li.current_page_item > a,
-	#$1 ul ul li.current_page_ancestor > a,
-	#$1 ul ul li.current-menu-ancestor > a,
-	#$1 ul ul li.current-menu-item > a,
-	#$1 ul ul li.current-menu-parent > a,
-	#$1 ul ul :hover > a {-moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0}
-
-	----------------------------------------------------------------- end */
+  /* -------------------------------------------------------------- start
+      layout 
+  -------------------------------------------------------------- */
+  #$1{display: block; margin: 0 auto}
+  #$1 .menu-header ul, div.menu ul {list-style: none;margin: 0}
+  #$1 .menu-header li, div.menu li {float: left;position: relative}
+  #$1 a {display: block}
+  #$1 ul ul {
+    display: none; float: left; z-index: 99999;
+    position: absolute}
+  #$1 ul ul ul{left: 100%;top: 0}
+  #$1 ul ul a {height: auto}
+  #$1 ul li:hover > ul {display: block}
+  #$1{display: none !important}
+  /* -------------------------------------------------------------- end */
+  /* -------------------------------------------------------------- start
+      style 
+  -------------------------------------------------------------- */
+  #$1 {background: #000}
+  #$1 a {color: #aaa; text-decoration: none}
+  #$1 ul ul a {background: #333; line-height: 1em}
+  #$1 li:hover > a,#$1 ul ul :hover > a {
+    background: #333;
+    color: #fff}
+  #$1 ul li.current_page_item > a,
+  #$1 ul li.current-menu-ancestor > a,
+  #$1 ul li.current-menu-item > a,
+  #$1 ul li.current-menu-parent > a {
+    color: #fff}
+  * html #$1 ul li.current_page_item a,
+  * html #$1 ul li.current-menu-ancestor a,
+  * html #$1 ul li.current-menu-item a,
+  * html #$1 ul li.current-menu-parent a,
+  * html #$1 ul li a:hover {
+    color: #fff}
+  #$1 ul ul {
+    box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
+    -moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
+    -webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.2)}
+  #$1 {-webkit-text-size-adjust: 120%}
+  /* -------------------------------------------------------------- end */

File snippets/css/=reset.snippet

View file
-/* 
+/*
   html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline)
   v1.6.1 2010-09-17 | Authors: Eric Meyer & Richard Clark
   html5doctor.com/html-5-reset-stylesheet/
 
 html, body, div, span, object, iframe,
 h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-abbr, address, cite, code,
-del, dfn, em, img, ins, kbd, q, samp,
-small, strong, sub, sup, var,
-b, i,
-dl, dt, dd, ol, ul, li,
+abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
+small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
 fieldset, form, label, legend,
 table, caption, tbody, tfoot, thead, tr, th, td,
-article, aside, canvas, details, figcaption, figure, 
+article, aside, canvas, details, figcaption, figure,
 footer, header, hgroup, menu, nav, section, summary,
 time, mark, audio, video {
   margin:0;
   padding:0;
   border:0;
-  outline:0;
   font-size:100%;
+  font: inherit;
   vertical-align:baseline;
-  background:transparent;
-}                  
+}
 
-article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
     display:block;
 }
 
-nav ul { list-style:none; }
-
 blockquote, q { quotes:none; }
 
 blockquote:before, blockquote:after,
 q:before, q:after { content:''; content:none; }
 
-a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
-
 ins { background-color:#ff9; color:#000; text-decoration:none; }
 
 mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; }
 
 abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
 
-/* tables still need cellspacing="0" in the markup */
 table { border-collapse:collapse; border-spacing:0; }
 
 hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }

File snippets/css/font-stack/Courier.snippet

View file
+font-family: "Courier New",Courier,monospace;

File snippets/html/=header.snippet

View file
 <!doctype html>  
 
-<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> 
-<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
-<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
-<!--[if IE 8 ]>    <html lang="en" class="no-js ie8"> <![endif]-->
-<!--[if IE 9 ]>    <html lang="en" class="no-js ie9"> <![endif]-->
-<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
+<!--[if lt IE 7 ]> <html class="no-js ie6"> <![endif]-->
+<!--[if IE 7 ]>    <html class="no-js ie7"> <![endif]-->
+<!--[if IE 8 ]>    <html class="no-js ie8"> <![endif]-->
+<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
 <head>
   <meta charset="utf-8">
 
-  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame 
-       Remove this if you use the .htaccess -->
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 
   <title></title>
   <meta name="description" content="">
   <meta name="author" content="">
 
-  <!--  Mobile viewport optimized: j.mp/bplateviewport -->
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-  <!-- Place favicon.ico & apple-touch-icon.png in the root of your domain and delete these references -->
   <link rel="shortcut icon" href="/favicon.ico">
   <link rel="apple-touch-icon" href="/apple-touch-icon.png">
 
-
-  <!-- CSS : implied media="all" -->
   <link rel="stylesheet" href="css/style.css?v=2">
 
-  <!-- Uncomment if you are specifically targeting less enabled mobile browsers
-  <link rel="stylesheet" media="handheld" href="css/handheld.css?v=2">  -->
- 
-  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
-  <script src="js/libs/modernizr-1.6.min.js"></script>
-
 </head>
 
-<body>
+<body lang="en" >

File vimrc

View file
 " Fast editing of the .vimrc
 map <leader>e :e! ~/.vim_mon/vimrc<cr>
 
+" Speed up vim
+let g:loaded_matchparen = 1
+set directory^=$HOME/tmp
+
+
 " When vimrc is edited, reload it
 autocmd! bufwritepost vimrc source ~/.vim_mon/vimrc
 
 map <F11> <Esc>:call libcallnr("vimtweak.dll", "EnableMaximize", 1)<cr>
 map <F12> <Esc>:call libcallnr("vimtweak.dll", "EnableMaximize", 0)<cr>
 
-let g:loaded_matchparen = 1
-set directory^=$HOME/tmp
+map <Leader>dt <Plug>VimwikiTabMakeDiaryNote
 
+imap <C-BS> <C-W>
+
+let g:indent_guides_auto_colors = 0 
+autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd  guibg=#efefef   ctermbg=3 
+autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#f7f7f7 ctermbg=4 
+let g:indent_guides_start_level = 2