Version controlled vim

This commit is contained in:
Jacob 2017-11-07 10:31:32 +01:00
commit aa48753f45
13 changed files with 5385 additions and 0 deletions

879
autoload/color_helper.vim Executable file
View File

@ -0,0 +1,879 @@
" 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

353
autoload/pathogen.vim Normal file
View File

@ -0,0 +1,353 @@
" pathogen.vim - path option manipulation
" Maintainer: Tim Pope <http://tpo.pe/>
" Version: 2.4
" Install in ~/.vim/autoload (or ~\vimfiles\autoload).
"
" For management of individually installed plugins in ~/.vim/bundle (or
" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your
" .vimrc is the only other setup necessary.
"
" The API is documented inline below.
if exists("g:loaded_pathogen") || &cp
finish
endif
let g:loaded_pathogen = 1
" Point of entry for basic default usage. Give a relative path to invoke
" pathogen#interpose() (defaults to "bundle/{}"), or an absolute path to invoke
" pathogen#surround(). Curly braces are expanded with pathogen#expand():
" "bundle/{}" finds all subdirectories inside "bundle" inside all directories
" in the runtime path.
function! pathogen#infect(...) abort
for path in a:0 ? filter(reverse(copy(a:000)), 'type(v:val) == type("")') : ['bundle/{}']
if path =~# '^\%({\=[$~\\/]\|{\=\w:[\\/]\).*[{}*]'
call pathogen#surround(path)
elseif path =~# '^\%([$~\\/]\|\w:[\\/]\)'
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#surround(path . '/{}')
elseif path =~# '[{}*]'
call pathogen#interpose(path)
else
call s:warn('Change pathogen#infect('.string(path).') to pathogen#infect('.string(path.'/{}').')')
call pathogen#interpose(path . '/{}')
endif
endfor
call pathogen#cycle_filetype()
if pathogen#is_disabled($MYVIMRC)
return 'finish'
endif
return ''
endfunction
" Split a path into a list.
function! pathogen#split(path) abort
if type(a:path) == type([]) | return a:path | endif
if empty(a:path) | return [] | endif
let split = split(a:path,'\\\@<!\%(\\\\\)*\zs,')
return map(split,'substitute(v:val,''\\\([\\,]\)'',''\1'',"g")')
endfunction
" Convert a list to a path.
function! pathogen#join(...) abort
if type(a:1) == type(1) && a:1
let i = 1
let space = ' '
else
let i = 0
let space = ''
endif
let path = ""
while i < a:0
if type(a:000[i]) == type([])
let list = a:000[i]
let j = 0
while j < len(list)
let escaped = substitute(list[j],'[,'.space.']\|\\[\,'.space.']\@=','\\&','g')
let path .= ',' . escaped
let j += 1
endwhile
else
let path .= "," . a:000[i]
endif
let i += 1
endwhile
return substitute(path,'^,','','')
endfunction
" Convert a list to a path with escaped spaces for 'path', 'tag', etc.
function! pathogen#legacyjoin(...) abort
return call('pathogen#join',[1] + a:000)
endfunction
" Turn filetype detection off and back on again if it was already enabled.
function! pathogen#cycle_filetype() abort
if exists('g:did_load_filetypes')
filetype off
filetype on
endif
endfunction
" Check if a bundle is disabled. A bundle is considered disabled if its
" basename or full name is included in the list g:pathogen_blacklist or the
" comma delimited environment variable $VIMBLACKLIST.
function! pathogen#is_disabled(path) abort
if a:path =~# '\~$'
return 1
endif
let sep = pathogen#slash()
let blacklist =
\ get(g:, 'pathogen_blacklist', get(g:, 'pathogen_disabled', [])) +
\ pathogen#split($VIMBLACKLIST)
if !empty(blacklist)
call map(blacklist, 'substitute(v:val, "[\\/]$", "", "")')
endif
return index(blacklist, fnamemodify(a:path, ':t')) != -1 || index(blacklist, a:path) != -1
endfunction
" Prepend the given directory to the runtime path and append its corresponding
" after directory. Curly braces are expanded with pathogen#expand().
function! pathogen#surround(path) abort
let sep = pathogen#slash()
let rtp = pathogen#split(&rtp)
let path = fnamemodify(a:path, ':s?[\\/]\=$??')
let before = filter(pathogen#expand(path), '!pathogen#is_disabled(v:val)')
let after = filter(reverse(pathogen#expand(path, sep.'after')), '!pathogen#is_disabled(v:val[0:-7])')
call filter(rtp, 'index(before + after, v:val) == -1')
let &rtp = pathogen#join(before, rtp, after)
return &rtp
endfunction
" For each directory in the runtime path, add a second entry with the given
" argument appended. Curly braces are expanded with pathogen#expand().
function! pathogen#interpose(name) abort
let sep = pathogen#slash()
let name = a:name
if has_key(s:done_bundles, name)
return ""
endif
let s:done_bundles[name] = 1
let list = []
for dir in pathogen#split(&rtp)
if dir =~# '\<after$'
let list += reverse(filter(pathogen#expand(dir[0:-6].name, sep.'after'), '!pathogen#is_disabled(v:val[0:-7])')) + [dir]
else
let list += [dir] + filter(pathogen#expand(dir.sep.name), '!pathogen#is_disabled(v:val)')
endif
endfor
let &rtp = pathogen#join(pathogen#uniq(list))
return 1
endfunction
let s:done_bundles = {}
" Invoke :helptags on all non-$VIM doc directories in runtimepath.
function! pathogen#helptags() abort
let sep = pathogen#slash()
for glob in pathogen#split(&rtp)
for dir in map(split(glob(glob), "\n"), 'v:val.sep."/doc/".sep')
if (dir)[0 : strlen($VIMRUNTIME)] !=# $VIMRUNTIME.sep && filewritable(dir) == 2 && !empty(split(glob(dir.'*.txt'))) && (!filereadable(dir.'tags') || filewritable(dir.'tags'))
silent! execute 'helptags' pathogen#fnameescape(dir)
endif
endfor
endfor
endfunction
command! -bar Helptags :call pathogen#helptags()
" Execute the given command. This is basically a backdoor for --remote-expr.
function! pathogen#execute(...) abort
for command in a:000
execute command
endfor
return ''
endfunction
" Section: Unofficial
function! pathogen#is_absolute(path) abort
return a:path =~# (has('win32') ? '^\%([\\/]\|\w:\)[\\/]\|^[~$]' : '^[/~$]')
endfunction
" Given a string, returns all possible permutations of comma delimited braced
" alternatives of that string. pathogen#expand('/{a,b}/{c,d}') yields
" ['/a/c', '/a/d', '/b/c', '/b/d']. Empty braces are treated as a wildcard
" and globbed. Actual globs are preserved.
function! pathogen#expand(pattern, ...) abort
let after = a:0 ? a:1 : ''
if a:pattern =~# '{[^{}]\+}'
let [pre, pat, post] = split(substitute(a:pattern, '\(.\{-\}\){\([^{}]\+\)}\(.*\)', "\\1\001\\2\001\\3", ''), "\001", 1)
let found = map(split(pat, ',', 1), 'pre.v:val.post')
let results = []
for pattern in found
call extend(results, pathogen#expand(pattern))
endfor
elseif a:pattern =~# '{}'
let pat = matchstr(a:pattern, '^.*{}[^*]*\%($\|[\\/]\)')
let post = a:pattern[strlen(pat) : -1]
let results = map(split(glob(substitute(pat, '{}', '*', 'g')), "\n"), 'v:val.post')
else
let results = [a:pattern]
endif
let vf = pathogen#slash() . 'vimfiles'
call map(results, 'v:val =~# "\\*" ? v:val.after : isdirectory(v:val.vf.after) ? v:val.vf.after : isdirectory(v:val.after) ? v:val.after : ""')
return filter(results, '!empty(v:val)')
endfunction
" \ on Windows unless shellslash is set, / everywhere else.
function! pathogen#slash() abort
return !exists("+shellslash") || &shellslash ? '/' : '\'
endfunction
function! pathogen#separator() abort
return pathogen#slash()
endfunction
" Convenience wrapper around glob() which returns a list.
function! pathogen#glob(pattern) abort
let files = split(glob(a:pattern),"\n")
return map(files,'substitute(v:val,"[".pathogen#slash()."/]$","","")')
endfunction
" Like pathogen#glob(), only limit the results to directories.
function! pathogen#glob_directories(pattern) abort
return filter(pathogen#glob(a:pattern),'isdirectory(v:val)')
endfunction
" Remove duplicates from a list.
function! pathogen#uniq(list) abort
let i = 0
let seen = {}
while i < len(a:list)
if (a:list[i] ==# '' && exists('empty')) || has_key(seen,a:list[i])
call remove(a:list,i)
elseif a:list[i] ==# ''
let i += 1
let empty = 1
else
let seen[a:list[i]] = 1
let i += 1
endif
endwhile
return a:list
endfunction
" Backport of fnameescape().
function! pathogen#fnameescape(string) abort
if exists('*fnameescape')
return fnameescape(a:string)
elseif a:string ==# '-'
return '\-'
else
return substitute(escape(a:string," \t\n*?[{`$\\%#'\"|!<"),'^[+>]','\\&','')
endif
endfunction
" Like findfile(), but hardcoded to use the runtimepath.
function! pathogen#runtime_findfile(file,count) abort
let rtp = pathogen#join(1,pathogen#split(&rtp))
let file = findfile(a:file,rtp,a:count)
if file ==# ''
return ''
else
return fnamemodify(file,':p')
endif
endfunction
" Section: Deprecated
function! s:warn(msg) abort
echohl WarningMsg
echomsg a:msg
echohl NONE
endfunction
" Prepend all subdirectories of path to the rtp, and append all 'after'
" directories in those subdirectories. Deprecated.
function! pathogen#runtime_prepend_subdirectories(path) abort
call s:warn('Change pathogen#runtime_prepend_subdirectories('.string(a:path).') to pathogen#infect('.string(a:path.'/{}').')')
return pathogen#surround(a:path . pathogen#slash() . '{}')
endfunction
function! pathogen#incubate(...) abort
let name = a:0 ? a:1 : 'bundle/{}'
call s:warn('Change pathogen#incubate('.(a:0 ? string(a:1) : '').') to pathogen#infect('.string(name).')')
return pathogen#interpose(name)
endfunction
" Deprecated alias for pathogen#interpose().
function! pathogen#runtime_append_all_bundles(...) abort
if a:0
call s:warn('Change pathogen#runtime_append_all_bundles('.string(a:1).') to pathogen#infect('.string(a:1.'/{}').')')
else
call s:warn('Change pathogen#runtime_append_all_bundles() to pathogen#infect()')
endif
return pathogen#interpose(a:0 ? a:1 . '/{}' : 'bundle/{}')
endfunction
if exists(':Vedit')
finish
endif
let s:vopen_warning = 0
function! s:find(count,cmd,file,lcd)
let rtp = pathogen#join(1,pathogen#split(&runtimepath))
let file = pathogen#runtime_findfile(a:file,a:count)
if file ==# ''
return "echoerr 'E345: Can''t find file \"".a:file."\" in runtimepath'"
endif
if !s:vopen_warning
let s:vopen_warning = 1
let warning = '|echohl WarningMsg|echo "Install scriptease.vim to continue using :V'.a:cmd.'"|echohl NONE'
else
let warning = ''
endif
if a:lcd
let path = file[0:-strlen(a:file)-2]
execute 'lcd `=path`'
return a:cmd.' '.pathogen#fnameescape(a:file) . warning
else
return a:cmd.' '.pathogen#fnameescape(file) . warning
endif
endfunction
function! s:Findcomplete(A,L,P)
let sep = pathogen#slash()
let cheats = {
\'a': 'autoload',
\'d': 'doc',
\'f': 'ftplugin',
\'i': 'indent',
\'p': 'plugin',
\'s': 'syntax'}
if a:A =~# '^\w[\\/]' && has_key(cheats,a:A[0])
let request = cheats[a:A[0]].a:A[1:-1]
else
let request = a:A
endif
let pattern = substitute(request,'/\|\'.sep,'*'.sep,'g').'*'
let found = {}
for path in pathogen#split(&runtimepath)
let path = expand(path, ':p')
let matches = split(glob(path.sep.pattern),"\n")
call map(matches,'isdirectory(v:val) ? v:val.sep : v:val')
call map(matches,'expand(v:val, ":p")[strlen(path)+1:-1]')
for match in matches
let found[match] = 1
endfor
endfor
return sort(keys(found))
endfunction
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Ve :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vedit :execute s:find(<count>,'edit<bang>',<q-args>,0)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vopen :execute s:find(<count>,'edit<bang>',<q-args>,1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vsplit :execute s:find(<count>,'split',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vvsplit :execute s:find(<count>,'vsplit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vtabedit :execute s:find(<count>,'tabedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vpedit :execute s:find(<count>,'pedit',<q-args>,<bang>1)
command! -bar -bang -range=1 -nargs=1 -complete=customlist,s:Findcomplete Vread :execute s:find(<count>,'read',<q-args>,<bang>1)
" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=':

2446
autoload/plug.vim Normal file

File diff suppressed because it is too large Load Diff

4
backup/blog_roll.tmpl~ Normal file
View File

@ -0,0 +1,4 @@
{{define "content"}}
{{with .Posts}}
{{range .}}
<article class="fdfd">{{template "post" .}}</article>{{else}}<div><strong>no posts</strong></div>{{end}}{{end}}{{end}}

1
bundle/auto-pairs Submodule

@ -0,0 +1 @@
Subproject commit f0019fc6423e7ce7bbd01d196a7e027077687fda

1
bundle/ctrlp.vim Submodule

@ -0,0 +1 @@
Subproject commit 564176f01d7f3f7f8ab452ff4e1f5314de7b0981

1
bundle/vim-airline Submodule

@ -0,0 +1 @@
Subproject commit b66c1ef07005fad6a70957b90d4f47bb932e33e2

1
bundle/vim-markdown Submodule

@ -0,0 +1 @@
Subproject commit d6d59eef6f604b6430fd6adade9e18364666232b

90
colors/dracula.vim Normal file
View File

@ -0,0 +1,90 @@
" Dracula vim-airline theme
"
" Copyright 2016, All rights reserved
"
" Code licensed under the MIT license
" http://zenorocha.mit-license.org
"
" @author Extrante <extrante@gmail.com>
" @author Zeno Rocha <hi@zenorocha.com>
" Color palette
let s:gui01 = "#44475a"
let s:gui02 = "#5f6a8e"
let s:gui03 = "#ffb86c"
let s:gui04 = "#bd93f9"
let s:gui05 = "#ff5555"
let s:gui06 = "#f1fa8c"
let s:gui07 = "#50fa7b"
let s:gui08 = "#bd93f9"
let s:cterm01 = "236"
let s:cterm02 = "61"
let s:cterm03 = "215"
let s:cterm04 = "141"
let s:cterm05 = "160"
let s:cterm06 = "228"
let s:cterm07 = "84"
let s:cterm08 = "141"
let s:guiWhite = "#f8f8f2"
let s:guiBlack = "#282a36"
let s:ctermWhite = "15"
let s:ctermBlack = "16"
" Normal mode
let s:N1 = [ s:guiBlack , s:gui08 , s:ctermBlack , s:cterm08 ]
let s:N2 = [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ]
let s:N3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ]
" Insert mode
let s:I1 = [ s:guiBlack , s:gui07 , s:ctermBlack , s:cterm07 ]
let s:I2 = [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ]
let s:I3 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ]
" Visual mode
let s:V1 = [ s:guiBlack , s:gui06 , s:ctermBlack , s:cterm06 ]
let s:V2 = [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ]
let s:V3 = [ s:guiWhite , s:gui01 , s:ctermWhite, s:cterm01 ]
" Replace mode
let s:R1 = [ s:guiBlack , s:gui05 , s:ctermWhite, s:cterm05 ]
let s:R2 = [ s:guiWhite , s:gui02 , s:ctermWhite, s:cterm02 ]
let s:R3 = [ s:guiWhite , s:gui01 , s:ctermWhite, s:cterm01 ]
let g:airline#themes#dracula#palette = {}
let g:airline#themes#dracula#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
let g:airline#themes#dracula#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
let g:airline#themes#dracula#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#dracula#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
let g:airline#themes#dracula#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
" Inactive mode
let s:IN1 = [ s:gui04 , s:gui02 , s:cterm04 , s:cterm02 ]
let s:IN2 = [ s:gui04 , s:gui01 , s:cterm04 , s:cterm01 ]
let s:IA = [ s:IN1[1] , s:IN2[1] , s:IN1[3] , s:IN2[3] , '' ]
let g:airline#themes#dracula#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
" Warning info
let s:WARNING = [ s:guiBlack, s:gui03, s:ctermBlack, s:cterm03 ]
let s:ERROR = [ s:guiWhite, s:gui05, s:ctermWhite, s:cterm05 ]
let g:airline#themes#dracula#palette.normal.airline_warning = s:WARNING
let g:airline#themes#dracula#palette.insert.airline_warning = s:WARNING
let g:airline#themes#dracula#palette.visual.airline_warning = s:WARNING
let g:airline#themes#dracula#palette.replace.airline_warning = s:WARNING
let g:airline#themes#dracula#palette.normal.airline_error = s:ERROR
let g:airline#themes#dracula#palette.insert.airline_error = s:ERROR
let g:airline#themes#dracula#palette.visual.airline_error = s:ERROR
let g:airline#themes#dracula#palette.replace.airline_error = s:ERROR
" CtrlP
if !get(g:, 'loaded_ctrlp', 0)
finish
endif
let s:CP1 = [ s:guiWhite , s:gui01 , s:ctermWhite , s:cterm01 ]
let s:CP2 = [ s:guiWhite , s:gui02 , s:ctermWhite , s:cterm02 ]
let s:CP3 = [ s:guiWhite , s:gui08 , s:ctermWhite , s:cterm08 ]
let g:airline#themes#dracula#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(s:CP1, s:CP2, s:CP3)

1117
colors/solarized.vim Executable file

File diff suppressed because it is too large Load Diff

351
doc/indent_guides.txt Executable file
View File

@ -0,0 +1,351 @@
*indent_guides.txt* A plugin for visually displaying indent levels in Vim.
*indent-guides*
____ __ __ ______ _ __
/ _/____ ____/ /___ ____ / /_ / ____/__ __(_)____/ /___ _____
/ / / __ \/ __ // _ \/ __ \/ __/ / / __ / / / / // __ // _ \/ ___/
_/ / / / / / /_/ // __/ / / / /_ / /_/ // /_/ / // /_/ // __(__ )
/___//_/ /_/\__,_/ \___/_/ /_/\__/ \____/ \__,_/_/ \__,_/ \___/____/
Author: Nate Kane <nathanaelkane AT gmail DOT com>
Version: 1.7
Last Change: 07 Mar 2013
==============================================================================
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.
* Highlight support for files with a mixture of tab and space indent styles.
==============================================================================
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
<
Alternatively you can add the following lines to your colorscheme file.
>
hi IndentGuidesOdd guibg=red ctermbg=3
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: 10 (10%). Values: between 0 and 100.
>
let g:indent_guides_color_change_percent = 10
<
------------------------------------------------------------------------------
*'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
<
------------------------------------------------------------------------------
*'indent_guides_space_guides'*
Use this option to control whether the plugin considers spaces as indention.
Default: 1. Values: 0 or 1.
>
let g:indent_guides_space_guides = 0
<
------------------------------------------------------------------------------
*'indent_guides_tab_guides'*
Use this option to control whether the plugin considers tabs as indention.
Default: 1. Values: 0 or 1.
>
let g:indent_guides_tab_guides = 0
<
------------------------------------------------------------------------------
*'indent_guides_soft_pattern'*
Use this option to explicitly specify a pattern for soft indentation. For
example to match spaces only in the beginning of line use ' ' pattern.
Default: '\s'. Values: Vim regexp.
>
let g:indent_guides_soft_pattern = ' '
<
------------------------------------------------------------------------------
*'indent_guides_enable_on_vim_startup'*
Use this option to control whether the plugin is enabled on Vim startup.
Default: 0. Values: 0 or 1.
>
let g:indent_guides_enable_on_vim_startup = 0
<
------------------------------------------------------------------------------
*'indent_guides_exclude_filetypes'*
Use this option to specify a list of filetypes to disable the plugin for.
Default: ['help']. Values: list of strings.
>
let g:indent_guides_exclude_filetypes = ['help', 'nerdtree']
<
------------------------------------------------------------------------------
*'indent_guides_default_mapping'*
Use this option to control whether the default mapping (<Leader>ig) gets set.
Default: 1. Values: 0 or 1.
>
let g:indent_guides_default_mapping = 0
<
==============================================================================
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 <silent> <Leader>ig <Plug>IndentGuidesToggle
<
You can also map some other commands that are not mapped by default. For
example:
>
:nmap <silent> <Leader>ie <Plug>IndentGuidesEnable
:nmap <silent> <Leader>id <Plug>IndentGuidesDisable
<
==============================================================================
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 IndentGuidesOdd ctermbg=black
hi IndentGuidesEven ctermbg=darkgrey
<
Alternatively, when `set background=light` is used, the following highlight
colors will be defined:
>
hi IndentGuidesOdd ctermbg=white
hi IndentGuidesEven ctermbg=lightgrey
<
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>
Bug reports, feedback, suggestions etc are welcomed.
==============================================================================
7. CHANGELOG *indent-guides-changelog*
1.8 (pending release)~
* Added option g:|indent_guides_soft_pattern| to control the pattern for
soft indentation (thanks @sergey-vlasov).
* Added option g:|indent_guides_default_mapping| to control whether the
default mapping (<Leader>ig) gets set (thanks @suy).
* Set size of indent guide to `tabstop` value when `shiftwidth=0` or
`noexpandtab` is used (thanks @darkfeline and @wilywampa).
* Don't load plugin in unsupported versions of Vim (thanks @dersaidin).
* Added option g:|indent_guides_tab_guides| to control whether tabs are
considered as indention (thanks @amerlyq).
1.7~
* Added way to override the default mapping (thanks @xuhdev).
* Added option g:|indent_guides_exclude_filetypes| to specify a list of
filetypes to disable the plugin for.
* Disable the plugin when in a diff.
* Various bug fixes.
1.6~
* Added option g:|indent_guides_space_guides| to control whether spaces are
considered as indention (thanks @scoz).
* Added 'doc/tags' to gitignore (thanks @lenniboy).
* Fixed E803 ID not found spam (thanks @mutewinter).
* Fixed str2float issue with Vim 7.1 (thanks @acx0).
1.5~
* Added highlight support for files with a mixture of tab and space indent
styles (thanks @graywh).
* Added -bar to all the :commands so they can chain with other :commands
(thanks @graywh).
* No longer overriding pre-defined custom highlight colors (thanks @graywh).
* Using str2float to work around a float bug in some versions of Vim 7.2
(thanks @voidus).
1.4~
* Added the new plugin option g:|indent_guides_enable_on_vim_startup|.
* Improved Windows support.
1.3~
* Changed the default value of g:|indent_guides_color_change_percent| to 10.
* Added support for gVim themes that don't specify a `hi Normal guibg`
color.
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-2013 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:

@ -0,0 +1 @@
Subproject commit 96995056cbe744119ebd53e31068e713fa08db61

140
vimrc Normal file
View File

@ -0,0 +1,140 @@
execute pathogen#infect()
" An example for a vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2008 Dec 17
"
" To use it, copy it to
" for Unix and OS/2: ~/.vimrc
" for Amiga: s:.vimrc
" for MS-DOS and Win32: $VIM\_vimrc
" for OpenVMS: sys$login:.vimrc
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
map <C-J> :bnext<CR>
map <C-K> :bprev<CR>
" allow backspacing over everything in insert mode
set backspace=indent,eol,start
if has("vms")
set nobackup " do not keep a backup file, use versions instead
else
set backup " keep a backup file
endif
set backupdir=~/.vim/backup
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set incsearch " do incremental searching
set nu
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
" let &guioptions = substitute(&guioptions, "t", "", "g")
" Don't use Ex mode, use Q for formatting
map Q gq
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
inoremap <C-U> <C-G>u<C-U>
" In many terminal emulators the mouse works just fine, thus enable it.
if has('mouse')
set mouse=a
endif
syntax on
color dracula
set hlsearch
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
filetype plugin indent on
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
" Also don't do it when the mark is in the first line, that is the default
" position when opening a file.
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" Only define it when not defined already.
if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
endif
let g:syntastic_cs_checkers = ['syntax', 'semantic', 'issues']
nnoremap <leader>th :OmniSharpHighlightTypes<cr>
set tabstop=4
" when indenting with '>', use 2 spaces width
set shiftwidth=4
set guifont=ProFontIIx:h12
set linespace=3
if has ("gui_macvim")
set background=dark
filetype plugin indent on
" show existing tab with 2 spaces width
set tabstop=4
" when indenting with '>', use 2 spaces width
set shiftwidth=4
" On pressing tab, insert 2 spaces
set expandtab
set transparency=3
endif
set runtimepath^=~/.vim/bundle/ctrlp.vim
highlight LineNr ctermfg=grey
map ø $
map æ 0
map Æ (
map Ø )
map _ /
set ignorecase
set smartcase