summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README20
-rw-r--r--colors/darkZ.vim92
-rw-r--r--colors/jallybeans.vim488
-rw-r--r--ftdetect/javascript.vim6
-rw-r--r--ftplugin/svg.vim105
-rw-r--r--indent/html.vim462
-rwxr-xr-xplugin/buffers.vim5
-rwxr-xr-xplugin/colors.vim5
-rwxr-xr-xplugin/compatibility.vim11
-rwxr-xr-xplugin/completion.vim6
-rwxr-xr-xplugin/editzone.vim10
-rwxr-xr-xplugin/encoding.vim2
-rwxr-xr-xplugin/filetype.vim4
-rwxr-xr-xplugin/indent.vim33
-rwxr-xr-xplugin/matchit.vim812
-rwxr-xr-xplugin/misc-bindings.vim9
-rwxr-xr-xplugin/perso.vim94
-rwxr-xr-xplugin/plugin_ultisnips.vim5
-rwxr-xr-xplugin/plugin_unite.vim15
-rwxr-xr-xplugin/search.vim1
-rwxr-xr-xplugin/trailing-spaces.vim7
-rwxr-xr-xplugin/vim-airline.vim6
-rw-r--r--rgb.txt753
-rw-r--r--syntax/haskell.vim181
-rw-r--r--syntax/html.vim185
-rw-r--r--syntax/javascript.vim311
26 files changed, 62 insertions, 3566 deletions
diff --git a/README b/README
deleted file mode 100644
index 3688874..0000000
--- a/README
+++ /dev/null
@@ -1,20 +0,0 @@
-Ceci est un dossier .vim
-À installer dans votre home "~"
-
-
-
-Attention, le thème ('darkZ') utilisé n'est pas forcément installé chez vous.
-Remplacez le par le votre dans le fichier plugin/perso.vim
-
-N'hésitez à soumettre vos retours si vous avez rencontrez un problème à l'installation
-
-e-mail : ache ache.one
-
-
-
-
-
-Personal vim config directory
-
-Based on the halfr's vim-config-lite : https://bitbucket.org/halfr/vim-config-lite
-
diff --git a/colors/darkZ.vim b/colors/darkZ.vim
deleted file mode 100644
index 87107bd..0000000
--- a/colors/darkZ.vim
+++ /dev/null
@@ -1,92 +0,0 @@
-" darkZ 1.1 (Vim color file)
-" Create by ☆andy☆
-" QQ24375048
-
-if version > 580
- hi clear
- if exists("syntax_on")
- syntax reset
- endif
-endif
-
-set cursorline
-let g:colors_name="darkZ"
-
-hi Normal guifg=#DFD6C1 guibg=gray16 gui=none
-
-hi Cursor guifg=black guibg=yellow gui=none
-hi ErrorMsg guifg=white guibg=red gui=none
-hi VertSplit guifg=gray40 guibg=gray40 gui=none
-hi Folded guifg=DarkSlateGray3 guibg=grey30 gui=none
-hi FoldColumn guifg=tan guibg=grey30 gui=none
-hi IncSearch guifg=#b0ffff guibg=#2050d0
-hi LineNr guifg=gray40 gui=none
-hi ModeMsg guifg=SkyBlue gui=none
-hi MoreMsg guifg=SeaGreen gui=none
-hi NonText guifg=cyan gui=none
-hi Question guifg=springgreen gui=none
-hi Search guifg=white guibg=#445599 gui=bold
-hi SpecialKey guifg=cyan gui=none
-hi StatusLine guifg=black guibg=Pink gui=bold
-hi StatusLineNC guifg=grey guibg=gray40 gui=none
-hi Title guifg=#ff4400 gui=none gui=bold
-hi Visual guifg=gray17 guibg=tan1 gui=none
-hi WarningMsg guifg=salmon gui=none
-hi Pmenu guifg=white guibg=#445599 gui=none
-hi PmenuSel guifg=#445599 guibg=gray
-hi WildMenu guifg=gray guibg=gray17 gui=none
-hi MatchParen guifg=black guibg=orange2 gui=bold
-hi DiffAdd guifg=black guibg=wheat1
-hi DiffChange guifg=black guibg=skyblue1
-hi DiffText guifg=black guibg=hotpink1 gui=none
-hi DiffDelete guibg=gray45 guifg=black gui=none
-hi CursorLine guibg=gray24
-hi CursorColumn guibg=gray24
-
-hi Comment guifg=gray55 gui=italic
-hi Constant guifg=#FF77FF gui=none
-hi Identifier guifg=#6FDEF8 gui=none
-hi Function guifg=#82EF2A gui=none
-hi Statement guifg=#FCFC63 gui=none
-hi PreProc guifg=#82EF2A gui=none
-hi Type guifg=#33AFF3 gui=none
-hi Special guifg=orange gui=none
-hi Ignore guifg=red gui=none
-hi Todo guifg=red guibg=yellow2 gui=none
-
-hi SpecialKey ctermfg=red
-hi NonText cterm=bold ctermfg=darkblue
-hi Directory ctermfg=darkcyan
-hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
-hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
-hi Search cterm=NONE ctermfg=white ctermbg=grey
-hi MoreMsg ctermfg=darkgreen
-hi ModeMsg cterm=NONE ctermfg=brown
-hi LineNr ctermfg=3
-hi Question ctermfg=green
-hi StatusLine cterm=bold,reverse
-hi StatusLineNC cterm=reverse
-hi VertSplit cterm=reverse
-hi Title ctermfg=5
-hi Visual cterm=reverse
-hi VisualNOS cterm=bold,underline
-hi WarningMsg ctermfg=1
-hi WildMenu ctermfg=0 ctermbg=3
-hi Folded ctermfg=darkgrey ctermbg=NONE
-hi FoldColumn ctermfg=darkgrey ctermbg=NONE
-hi DiffAdd ctermbg=4
-hi DiffChange ctermbg=5
-hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
-hi DiffText cterm=bold ctermbg=1
-
-hi Comment ctermfg=darkcyan
-hi Constant ctermfg=brown
-hi Special ctermfg=5
-hi Identifier ctermfg=6
-hi Statement ctermfg=3
-hi PreProc ctermfg=5
-hi Type ctermfg=2
-hi Underlined cterm=underline ctermfg=5
-hi Ignore ctermfg=darkgrey
-hi Error cterm=bold ctermfg=7 ctermbg=1
-
diff --git a/colors/jallybeans.vim b/colors/jallybeans.vim
deleted file mode 100644
index 27e4eea..0000000
--- a/colors/jallybeans.vim
+++ /dev/null
@@ -1,488 +0,0 @@
-" Vim color file
-"
-"
-" _ _ _ _
-" | | __ _| | |_ _| |__ ___ __ _ _ __ ___
-" _ | |/ _` | | | | | | '_ \ / _ \/ _` | '_ \/ __|
-" | |_| | (_| | | | |_| | |_) | __/ (_| | | | \__ \
-" \___/ \__,_|_|_|\__, |_.__/ \___|\__,_|_| |_|___/
-" |___/
-" "A colorful, dark color scheme for Vim."
-"
-" File: jallybeans.vim
-" Version: 1
-" Last Change: October 30th, 2016
-"
-" 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.
-
-
-hi clear
-
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "jallybeans"
-
-if has("gui_running") || &t_Co == 88 || &t_Co == 256
- let s:low_color = 0
-else
- let s:low_color = 1
-endif
-
-" Color approximation functions by Henry So, Jr. and David Liang {{{
-
-" returns an approximate grey index for the given grey level
-fun! s:grey_number(x)
- if &t_Co == 88
- if a:x < 23
- return 0
- elseif a:x < 69
- return 1
- elseif a:x < 103
- return 2
- elseif a:x < 127
- return 3
- elseif a:x < 150
- return 4
- elseif a:x < 173
- return 5
- elseif a:x < 196
- return 6
- elseif a:x < 219
- return 7
- elseif a:x < 243
- return 8
- else
- return 9
- endif
- else
- if a:x < 14
- return 0
- else
- let l:n = (a:x - 8) / 10
- let l:m = (a:x - 8) % 10
- if l:m < 5
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
-endfun
-
-" returns the actual grey level represented by the grey index
-fun! s:grey_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 46
- elseif a:n == 2
- return 92
- elseif a:n == 3
- return 115
- elseif a:n == 4
- return 139
- elseif a:n == 5
- return 162
- elseif a:n == 6
- return 185
- elseif a:n == 7
- return 208
- elseif a:n == 8
- return 231
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 8 + (a:n * 10)
- endif
- endif
-endfun
-
-" returns the palette index for the given grey index
-fun! s:grey_color(n)
- if &t_Co == 88
- if a:n == 0
- return 16
- elseif a:n == 9
- return 79
- else
- return 79 + a:n
- endif
- else
- if a:n == 0
- return 16
- elseif a:n == 25
- return 231
- else
- return 231 + a:n
- endif
- endif
-endfun
-
-" returns an approximate color index for the given color level
-fun! s:rgb_number(x)
- if &t_Co == 88
- if a:x < 69
- return 0
- elseif a:x < 172
- return 1
- elseif a:x < 230
- return 2
- else
- return 3
- endif
- else
- if a:x < 75
- return 0
- else
- let l:n = (a:x - 55) / 40
- let l:m = (a:x - 55) % 40
- if l:m < 20
- return l:n
- else
- return l:n + 1
- endif
- endif
- endif
-endfun
-
-" returns the actual color level for the given color index
-fun! s:rgb_level(n)
- if &t_Co == 88
- if a:n == 0
- return 0
- elseif a:n == 1
- return 139
- elseif a:n == 2
- return 205
- else
- return 255
- endif
- else
- if a:n == 0
- return 0
- else
- return 55 + (a:n * 40)
- endif
- endif
-endfun
-
-" returns the palette index for the given R/G/B color indices
-fun! s:rgb_color(x, y, z)
- if &t_Co == 88
- return 16 + (a:x * 16) + (a:y * 4) + a:z
- else
- return 16 + (a:x * 36) + (a:y * 6) + a:z
- endif
-endfun
-
-" returns the palette index to approximate the given R/G/B color levels
-fun! s:color(r, g, b)
- " get the closest grey
- let l:gx = s:grey_number(a:r)
- let l:gy = s:grey_number(a:g)
- let l:gz = s:grey_number(a:b)
-
- " get the closest color
- let l:x = s:rgb_number(a:r)
- let l:y = s:rgb_number(a:g)
- let l:z = s:rgb_number(a:b)
-
- if l:gx == l:gy && l:gy == l:gz
- " there are two possibilities
- let l:dgr = s:grey_level(l:gx) - a:r
- let l:dgg = s:grey_level(l:gy) - a:g
- let l:dgb = s:grey_level(l:gz) - a:b
- let l:dgrey = (l:dgr * l:dgr) + (l:dgg * l:dgg) + (l:dgb * l:dgb)
- let l:dr = s:rgb_level(l:gx) - a:r
- let l:dg = s:rgb_level(l:gy) - a:g
- let l:db = s:rgb_level(l:gz) - a:b
- let l:drgb = (l:dr * l:dr) + (l:dg * l:dg) + (l:db * l:db)
- if l:dgrey < l:drgb
- " use the grey
- return s:grey_color(l:gx)
- else
- " use the color
- return s:rgb_color(l:x, l:y, l:z)
- endif
- else
- " only one possibility
- return s:rgb_color(l:x, l:y, l:z)
- endif
-endfun
-
-" returns the palette index to approximate the 'rrggbb' hex string
-fun! s:rgb(rgb)
- let l:r = ("0x" . strpart(a:rgb, 0, 2)) + 0
- let l:g = ("0x" . strpart(a:rgb, 2, 2)) + 0
- let l:b = ("0x" . strpart(a:rgb, 4, 2)) + 0
- return s:color(l:r, l:g, l:b)
-endfun
-
-" sets the highlighting for the given group
-fun! s:X(group, fg, bg, attr, lcfg, lcbg)
- if s:low_color
- let l:fge = empty(a:lcfg)
- let l:bge = empty(a:lcbg)
-
- if !l:fge && !l:bge
- exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=".a:lcbg
- elseif !l:fge && l:bge
- exec "hi ".a:group." ctermfg=".a:lcfg." ctermbg=NONE"
- elseif l:fge && !l:bge
- exec "hi ".a:group." ctermfg=NONE ctermbg=".a:lcbg
- endif
- else
- let l:fge = empty(a:fg)
- let l:bge = empty(a:bg)
-
- if !l:fge && !l:bge
- exec "hi ".a:group." guifg=#".a:fg." guibg=#".a:bg." ctermfg=".s:rgb(a:fg)." ctermbg=".s:rgb(a:bg)
- elseif !l:fge && l:bge
- exec "hi ".a:group." guifg=#".a:fg." guibg=NONE ctermfg=".s:rgb(a:fg)." ctermbg=NONE"
- elseif l:fge && !l:bge
- exec "hi ".a:group." guifg=NONE guibg=#".a:bg." ctermfg=NONE ctermbg=".s:rgb(a:bg)
- endif
- endif
-
- if a:attr == ""
- exec "hi ".a:group." gui=none cterm=none"
- else
- let noitalic = join(filter(split(a:attr, ","), "v:val !=? 'italic'"), ",")
- if empty(noitalic)
- let noitalic = "none"
- endif
- exec "hi ".a:group." gui=".a:attr." cterm=".noitalic
- endif
-endfun
-" }}}
-
-
-if !exists("g:jallybeans_use_lowcolor_black") || g:jallybeans_use_lowcolor_black
- let s:termBlack = "Black"
-else
- let s:termBlack = "Grey"
-endif
-
-if version >= 700
- call s:X("CursorLine","","1c1c1c","","",s:termBlack)
- call s:X("CursorColumn","","1c1c1c","","",s:termBlack)
- call s:X("MatchParen","ffffff","80a090","bold","","DarkCyan")
-
- call s:X("TabLine","000000","b0b8c0","italic","",s:termBlack)
- call s:X("TabLineFill","9098a0","","","",s:termBlack)
- call s:X("TabLineSel","000000","f0f0f0","italic,bold",s:termBlack,"White")
-
- " Auto-completion
- call s:X("Pmenu","ffffff","606060","","White",s:termBlack)
- call s:X("PmenuSel","101010","eeeeee","",s:termBlack,"White")
-endif
-
-call s:X("Visual","","404040","","",s:termBlack)
-call s:X("Cursor","","b0d0f0","","","")
-
-call s:X("LineNr","605958","151515","none",s:termBlack,"")
-call s:X("Comment","888888","","italic","Grey","")
-call s:X("Todo","808080","","bold","White",s:termBlack)
-
-call s:X("StatusLine","000000","dddddd","italic","","White")
-call s:X("StatusLineNC","ffffff","403c41","italic","White","Black")
-call s:X("VertSplit","777777","403c41","",s:termBlack,s:termBlack)
-call s:X("WildMenu","f0a0c0","302028","","Magenta","")
-
-call s:X("Folded","a0a8b0","384048","italic",s:termBlack,"")
-call s:X("FoldColumn","535D66","1f1f1f","","",s:termBlack)
-call s:X("SignColumn","777777","333333","","",s:termBlack)
-call s:X("ColorColumn","","000000","","",s:termBlack)
-
-call s:X("Title","70b950","","bold","Green","")
-
-call s:X("Constant","cf6a4c","","","Red","")
-call s:X("Special","799d6a","","","Green","")
-call s:X("Delimiter","668799","","","Grey","")
-
-call s:X("String","99ad6a","","","Green","")
-call s:X("StringDelimiter","556633","","","DarkGreen","")
-
-call s:X("Identifier","c6b6ee","","","LightCyan","")
-call s:X("Structure","8fbfdc","","","LightCyan","")
-call s:X("Function","fad07a","","","Yellow","")
-call s:X("Statement","8197bf","","","DarkBlue","")
-call s:X("PreProc","8fbfdc","","","LightBlue","")
-
-"hi! link Operator Normal
-call s:X("Operator","fad07a","","","Yellow","")
-
-call s:X("Type","ffb964","","","Yellow","")
-call s:X("NonText","606060","151515","",s:termBlack,"")
-
-call s:X("SpecialKey","444444","1c1c1c","",s:termBlack,"")
-
-call s:X("Search","FFa0c0","302028","underline","Black","Green")
-
-highlight Search ctermbg=Green
-highlight Search ctermfg=Black
-set hls
-
-call s:X("Directory","dad085","","","Yellow","")
-call s:X("ErrorMsg","","902020","","","DarkRed")
-hi! link Error ErrorMsg
-hi! link MoreMsg Special
-call s:X("Question","65C254","","","Green","")
-
-
-" Spell Checking
-
-call s:X("SpellBad","","902020","underline","","DarkRed")
-call s:X("SpellCap","","0000df","underline","","Blue")
-call s:X("SpellRare","","540063","underline","","DarkMagenta")
-call s:X("SpellLocal","","2D7067","underline","","Green")
-
-" Diff
-
-hi! link diffRemoved Constant
-hi! link diffAdded String
-
-" VimDiff
-
-call s:X("DiffAdd","D2EBBE","437019","","White","DarkGreen")
-call s:X("DiffDelete","40000A","700009","","DarkRed","DarkRed")
-call s:X("DiffChange","","2B5B77","","White","DarkBlue")
-call s:X("DiffText","8fbfdc","000000","reverse","Yellow","")
-
-" PHP
-
-hi! link phpFunctions Function
-call s:X("StorageClass","c59f6f","","","Red","")
-hi! link phpSuperglobal Identifier
-hi! link phpQuoteSingle StringDelimiter
-hi! link phpQuoteDouble StringDelimiter
-hi! link phpBoolean Constant
-hi! link phpNull Constant
-hi! link phpArrayPair Operator
-
-" Ruby
-
-hi! link rubySharpBang Comment
-call s:X("rubyClass","447799","","","DarkBlue","")
-call s:X("rubyIdentifier","c6b6fe","","","Cyan","")
-hi! link rubyConstant Type
-hi! link rubyFunction Function
-
-call s:X("rubyInstanceVariable","c6b6fe","","","Cyan","")
-call s:X("rubySymbol","7697d6","","","Blue","")
-hi! link rubyGlobalVariable rubyInstanceVariable
-hi! link rubyModule rubyClass
-call s:X("rubyControl","7597c6","","","Blue","")
-
-hi! link rubyString String
-hi! link rubyStringDelimiter StringDelimiter
-hi! link rubyInterpolationDelimiter Identifier
-
-call s:X("rubyRegexpDelimiter","540063","","","Magenta","")
-call s:X("rubyRegexp","dd0093","","","DarkMagenta","")
-call s:X("rubyRegexpSpecial","a40073","","","Magenta","")
-
-call s:X("rubyPredefinedIdentifier","de5577","","","Red","")
-
-" JavaScript
-
-hi! link javaScriptValue Constant
-hi! link javaScriptRegexpString rubyRegexp
-
-" CoffeeScript
-
-hi! link coffeeRegExp javaScriptRegexpString
-
-" Lua
-
-hi! link luaOperator Conditional
-
-" C
-
-hi! link cOperator Constant
-
-" Objective-C/Cocoa
-
-hi! link objcClass Type
-hi! link cocoaClass objcClass
-hi! link objcSubclass objcClass
-hi! link objcSuperclass objcClass
-hi! link objcDirective rubyClass
-hi! link objcStatement Constant
-hi! link cocoaFunction Function
-hi! link objcMethodName Identifier
-hi! link objcMethodArg Normal
-hi! link objcMessageName Identifier
-
-" Debugger.vim
-
-call s:X("DbgCurrent","DEEBFE","345FA8","","White","DarkBlue")
-call s:X("DbgBreakPt","","4F0037","","","DarkMagenta")
-
-" vim-indent-guides
-
-if !exists("g:indent_guides_auto_colors")
- let g:indent_guides_auto_colors = 0
-endif
-call s:X("IndentGuidesOdd","","202020","","","")
-call s:X("IndentGuidesEven","","1c1c1c","","","")
-
-" Plugins, etc.
-
-hi! link TagListFileName Directory
-call s:X("PreciseJumpTarget","B9ED67","405026","","White","Green")
-
-" Manual overrides for 256-color terminals. Dark colors auto-map badly.
-if !s:low_color
- hi StatusLineNC ctermbg=235
- hi Folded ctermbg=236
- hi FoldColumn ctermbg=234
- hi SignColumn ctermbg=236
- hi CursorColumn ctermfg=215
- hi CursorLine ctermbg=236
- hi SpecialKey ctermbg=234
- hi NonText ctermbg=233
- hi LineNr ctermbg=233
- hi DiffText ctermfg=81
- hi DbgBreakPt ctermbg=53
-endif
-
-" delete functions {{{
-delf s:X
-delf s:rgb
-delf s:color
-delf s:rgb_color
-delf s:rgb_level
-delf s:rgb_number
-delf s:grey_color
-delf s:grey_level
-delf s:grey_number
-" }}}
-
-" Gui
-
-
-hi Normal guifg=white guibg=black
diff --git a/ftdetect/javascript.vim b/ftdetect/javascript.vim
deleted file mode 100644
index 54f2c4f..0000000
--- a/ftdetect/javascript.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-function! s:DetectJS()
- if getline(1) =~# '^#!.*/bin/\(env\s\+\)\?node\>'
- setfiletype javascript
- endif
-endfunction
-autocmd BufNewFile,BufRead * call s:DetectJS()
diff --git a/ftplugin/svg.vim b/ftplugin/svg.vim
deleted file mode 100644
index b1597a9..0000000
--- a/ftplugin/svg.vim
+++ /dev/null
@@ -1,105 +0,0 @@
-" Vim indent file
-"
-" Language: svg
-" Maintainer: Jason Shell <jason.shell.mail@gmail.com>
-" Last Change: 2015 Sep 23
-" Notes: 1) will be confused by unbalanced tags in comments
-
-" Only load this indent file when no other was loaded.
-if exists('b:did_indent')
- finish
-endif
-let b:did_indent = 1
-let s:keepcpo= &cpo
-set cpo&vim
-
-" [-- local settings (must come before aborting the script) --]
-setlocal indentexpr=SvgIndentGet(v:lnum,1)
-setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
-
-if !exists('b:svg_indent_open')
- let b:svg_indent_open = '.\{-}<\a'
- " pre tag, e.g. <address>
- " let b:svg_indent_open = '.\{-}<[/]\@!\(address\)\@!'
-endif
-
-if !exists('b:svg_indent_close')
- let b:svg_indent_close = '.\{-}</'
- " end pre tag, e.g. </address>
- " let b:svg_indent_close = '.\{-}</\(address\)\@!'
-endif
-
-let &cpo = s:keepcpo
-unlet s:keepcpo
-
-" [-- finish, if the function already exists --]
-if exists('*SvgIndentGet')
- finish
-endif
-
-let s:keepcpo= &cpo
-set cpo&vim
-
-fun! <SID>SvgIndentWithPattern(line, pat)
- let s = substitute('x'.a:line, a:pat, "\1", 'g')
- return strlen(substitute(s, "[^\1].*$", '', ''))
-endfun
-
-" [-- check if it's svg --]
-fun! <SID>SvgIndentSynCheck(lnum)
- if '' != &syntax
- let syn1 = synIDattr(synID(a:lnum, 1, 1), 'name')
- let syn2 = synIDattr(synID(a:lnum, strlen(getline(a:lnum)) - 1, 1), 'name')
- if '' != syn1 && syn1 !~ 'svg' && '' != syn2 && syn2 !~ 'svg'
- " don't indent pure non-xml code
- return 0
-
- " elseif syn1 =~ '^xmlComment' && syn2 =~ '^xmlComment'
- elseif syn1 =~ '^svgComment' && syn2 =~ '^svgComment'
- " indent comments specially
- return -1
- endif
- endif
- return 1
-endfun
-
-" [-- return the sum of indents of a:lnum --]
-fun! <SID>SvgIndentSum(lnum, style, add)
- let line = getline(a:lnum)
- if a:style == match(line, '^\s*</')
- return (&sw *
- \ (<SID>SvgIndentWithPattern(line, b:svg_indent_open)
- \ - <SID>SvgIndentWithPattern(line, b:svg_indent_close)
- \ - <SID>SvgIndentWithPattern(line, '.\{-}/>'))) + a:add
- else
- return a:add
- endif
-endfun
-
-fun! SvgIndentGet(lnum, use_syntax_check)
- " Find a non-empty line above the current line.
- let lnum = prevnonblank(a:lnum - 1)
-
- " Hit the start of the file, use zero indent.
- if lnum == 0
- return 0
- endif
-
- if a:use_syntax_check
- let check_lnum = <SID>SvgIndentSynCheck(lnum)
- let check_alnum = <SID>SvgIndentSynCheck(a:lnum)
- if 0 == check_lnum || 0 == check_alnum
- return indent(a:lnum)
- elseif -1 == check_lnum || -1 == check_alnum
- return -1
- endif
- endif
-
- let ind = <SID>SvgIndentSum(lnum, -1, indent(lnum))
- let ind = <SID>SvgIndentSum(a:lnum, 0, ind)
-
- return ind
-endfun
-
-let &cpo = s:keepcpo
-unlet s:keepcpo
diff --git a/indent/html.vim b/indent/html.vim
deleted file mode 100644
index 2e8216d..0000000
--- a/indent/html.vim
+++ /dev/null
@@ -1,462 +0,0 @@
-" Description: HTML5 and inline SVG indenter
-" Changed By: HT de Beer <H.T.de.Beer@gmail.com>
-" Last Change: 20121013
-" Added the SVG elements to the list of indenting element. SVG elements
-" taken from http://www.w3.org/TR/SVG/eltindex.html
-"
-" Description: html5 (and html4) indenter
-" Changed By: Brian Gershon <brian.five@gmail.com>
-" Last Change: 30 Jan 2011
-"
-" 1. Started with vim72 html indent file authored by Johannes Zellner (below)
-" 2. Added html5 list as described here:
-" http://stackoverflow.com/questions/3232518/how-to-update-vim-to-color-code-new-html-elements
-" 3. Added this to a fork of https://github.com/othree/html5.vim
-" which already provides nice html5 syntax highlighting.
-"
-" Description: html indenter
-" Author: Johannes Zellner <johannes@zellner.org>
-" Last Change: Mo, 05 Jun 2006 22:32:41 CEST
-" Restoring 'cpo' and 'ic' added by Bram 2006 May 5
-" Globals:
-" let g:html_indent_tags = 'html\|p\|time'
-" let g:html_exclude_tags = ['html', 'style', 'script', 'body']
-
-
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
- finish
-endif
-runtime! indent/javascript.vim
-let s:jsindent = &indentexpr
-unlet b:did_indent
-runtime! indent/css.vim
-let s:cssindent = &indentexpr
-let b:did_indent = 1
-
-" [-- local settings (must come before aborting the script) --]
-setlocal indentexpr=HtmlIndentGet(v:lnum)
-setlocal indentkeys=o,O,*<Return>,<>>,{,},!^F
-
-
-let s:tags = []
-let s:no_tags = []
-
-" [-- <ELEMENT ? - - ...> --]
-call add(s:tags, 'a')
-call add(s:tags, 'abbr')
-call add(s:tags, 'acronym')
-call add(s:tags, 'address')
-call add(s:tags, 'b')
-call add(s:tags, 'bdo')
-call add(s:tags, 'big')
-call add(s:tags, 'blockquote')
-call add(s:tags, 'button')
-call add(s:tags, 'caption')
-call add(s:tags, 'center')
-call add(s:tags, 'cite')
-call add(s:tags, 'code')
-call add(s:tags, 'colgroup')
-call add(s:tags, 'del')
-call add(s:tags, 'dfn')
-call add(s:tags, 'dir')
-call add(s:tags, 'div')
-call add(s:tags, 'dl')
-call add(s:tags, 'dt')
-call add(s:tags, 'dd')
-call add(s:tags, 'em')
-call add(s:tags, 'fieldset')
-call add(s:tags, 'font')
-call add(s:tags, 'form')
-call add(s:tags, 'frameset')
-call add(s:tags, 'h1')
-call add(s:tags, 'h2')
-call add(s:tags, 'h3')
-call add(s:tags, 'h4')
-call add(s:tags, 'h5')
-call add(s:tags, 'h6')
-call add(s:tags, 'i')
-call add(s:tags, 'iframe')
-call add(s:tags, 'ins')
-call add(s:tags, 'kbd')
-call add(s:tags, 'label')
-call add(s:tags, 'legend')
-call add(s:tags, 'li')
-call add(s:tags, 'map')
-call add(s:tags, 'menu')
-call add(s:tags, 'noframes')
-call add(s:tags, 'noscript')
-call add(s:tags, 'object')
-call add(s:tags, 'ol')
-call add(s:tags, 'optgroup')
-call add(s:tags, 'p')
-" call add(s:tags, 'pre')
-call add(s:tags, 'q')
-call add(s:tags, 's')
-call add(s:tags, 'samp')
-call add(s:tags, 'script')
-call add(s:tags, 'select')
-call add(s:tags, 'small')
-call add(s:tags, 'span')
-call add(s:tags, 'strong')
-call add(s:tags, 'style')
-call add(s:tags, 'sub')
-call add(s:tags, 'sup')
-call add(s:tags, 'table')
-call add(s:tags, 'textarea')
-call add(s:tags, 'title')
-call add(s:tags, 'tt')
-call add(s:tags, 'u')
-call add(s:tags, 'ul')
-call add(s:tags, 'var')
-
-" New HTML 5 elements
-call add(s:tags, 'article')
-call add(s:tags, 'aside')
-call add(s:tags, 'audio')
-call add(s:tags, 'canvas')
-call add(s:tags, 'datalist')
-call add(s:tags, 'details')
-call add(s:tags, 'figcaption')
-call add(s:tags, 'figure')
-call add(s:tags, 'footer')
-call add(s:tags, 'header')
-call add(s:tags, 'hgroup')
-call add(s:tags, 'main')
-call add(s:tags, 'mark')
-call add(s:tags, 'meter')
-call add(s:tags, 'nav')
-call add(s:tags, 'output')
-call add(s:tags, 'progress')
-call add(s:tags, 'picture')
-call add(s:tags, 'rb')
-call add(s:tags, 'rp')
-call add(s:tags, 'rt')
-call add(s:tags, 'rtc')
-call add(s:tags, 'ruby')
-call add(s:tags, 'section')
-call add(s:tags, 'source')
-call add(s:tags, 'summary')
-call add(s:tags, 'time')
-call add(s:tags, 'video')
-call add(s:tags, 'bdi')
-call add(s:tags, 'data')
-
-" Web Component
-call add(s:tags, 'template')
-
-" Common inline used SVG elements
-call add(s:tags, 'clipPath')
-call add(s:tags, 'defs')
-call add(s:tags, 'desc')
-call add(s:tags, 'filter')
-call add(s:tags, 'foreignObject')
-call add(s:tags, 'g')
-call add(s:tags, 'linearGradient')
-call add(s:tags, 'marker')
-call add(s:tags, 'mask')
-call add(s:tags, 'pattern')
-call add(s:tags, 'radialGradient')
-call add(s:tags, 'svg')
-call add(s:tags, 'switch')
-call add(s:tags, 'symbol')
-call add(s:tags, 'text')
-call add(s:tags, 'textPath')
-call add(s:tags, 'tref')
-call add(s:tags, 'tspan')
-" Common self closing SVG elements
-call add(s:no_tags, 'animate')
-call add(s:no_tags, 'animateTransform')
-call add(s:no_tags, 'circle')
-call add(s:no_tags, 'ellipse')
-call add(s:no_tags, 'feBlend')
-call add(s:no_tags, 'feColorMatrix')
-call add(s:no_tags, 'feComposite')
-call add(s:no_tags, 'feConvolveMatrix')
-call add(s:no_tags, 'feDisplacementMap')
-call add(s:no_tags, 'feFlood')
-call add(s:no_tags, 'feFuncR')
-call add(s:no_tags, 'feFuncG')
-call add(s:no_tags, 'feFuncB')
-call add(s:no_tags, 'feFuncA')
-call add(s:no_tags, 'feGaussianBlur')
-call add(s:no_tags, 'feImage')
-call add(s:no_tags, 'feMergeNode')
-call add(s:no_tags, 'feMorphology')
-call add(s:no_tags, 'feOffset')
-call add(s:no_tags, 'fePointLight')
-call add(s:no_tags, 'feSpotLight')
-call add(s:no_tags, 'feTile')
-call add(s:no_tags, 'feTurbulence')
-call add(s:no_tags, 'hatchpath')
-call add(s:no_tags, 'hkern')
-call add(s:no_tags, 'image')
-call add(s:no_tags, 'line')
-call add(s:no_tags, 'mpath')
-call add(s:no_tags, 'polygon')
-call add(s:no_tags, 'polyline')
-call add(s:no_tags, 'path')
-call add(s:no_tags, 'rect')
-call add(s:no_tags, 'solidColor')
-call add(s:no_tags, 'stop')
-call add(s:no_tags, 'use')
-call add(s:no_tags, 'view')
-call add(s:no_tags, 'vkern')
-
-call add(s:tags, 'html')
-call add(s:tags, 'head')
-call add(s:tags, 'body')
-
-call add(s:tags, 'thead')
-call add(s:tags, 'tbody')
-call add(s:tags, 'tfoot')
-call add(s:tags, 'tr')
-call add(s:tags, 'th')
-call add(s:tags, 'td')
-
-call add(s:no_tags, 'base')
-call add(s:no_tags, 'link')
-call add(s:no_tags, 'meta')
-call add(s:no_tags, 'hr')
-call add(s:no_tags, 'br')
-call add(s:no_tags, 'wbr')
-call add(s:no_tags, 'img')
-call add(s:no_tags, 'embed')
-call add(s:no_tags, 'param')
-call add(s:no_tags, 'source')
-call add(s:no_tags, 'track')
-call add(s:no_tags, 'area')
-call add(s:no_tags, 'col')
-call add(s:no_tags, 'input')
-call add(s:no_tags, 'keygen')
-call add(s:no_tags, 'menuitem')
-
-let s:omittable = [
- \ ['address', 'article', 'aside', 'blockquote', 'dir', 'div', 'dl', 'fieldset', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'menu', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'],
- \ ['dt', 'dd'],
- \ ['li'],
- \ ['thead', 'tbody', 'tfoot'],
- \ ['th', 'td'],
- \]
-
-
-let s:html_noindent_tags = join(s:no_tags, '\|')
-
-if exists('g:html_exclude_tags')
- for tag in g:html_exclude_tags
- call remove(s:tags, index(s:tags, tag))
- endfor
- let s:html_noindent_tags = s:html_noindent_tags.'\|'.join(g:html_exclude_tags, '\|')
-endif
-
-" let s:html_indent_tags = join(s:tags, '\|')
-let s:html_indent_tags = '[a-z_][a-z0-9_.-]*'
-" if exists('g:html_indent_tags')
- " let s:html_indent_tags = s:html_indent_tags.'\|'.g:html_indent_tags
-" endif
-
-let s:cpo_save = &cpo
-set cpo-=C
-
-func! <SID>HtmlIndentPatternCount(content, pattern)
- let s = substitute('x'.a:content, a:pattern, "\1", 'g')
- let s = substitute(s, "[^\1].*$", '', '')
- return strlen(s)
-endfun
-
-" [-- count indent-increasing tags of line a:lnum --]
-fun! <SID>HtmlIndentOpen(lnum, pattern)
- return <SID>HtmlIndentPatternCount(getline(a:lnum),
- \ '.\{-}\(\(<\)\('.a:pattern.'\)\>\)')
-endfun
-
-" [-- count indent-decreasing tags of line a:lnum --]
-fun! <SID>HtmlIndentClose(lnum, pattern)
- return <SID>HtmlIndentPatternCount(getline(a:lnum),
- \ '.\{-}\(\(<\)/\('.a:pattern.'\)\>>\)')
-endfun
-
-" [-- count self close tags of line a:lnum --]
-fun! <SID>HtmlIndentSelfClose(lnum, pattern)
- return <SID>HtmlIndentPatternCount(getline(a:lnum),
- \ '.\{-}\(\(<\('.a:pattern.'\).*\)\@<!\/>\)')
-endfun
-
-" [-- count indent-increasing '{' of (java|css) line a:lnum --]
-fun! <SID>HtmlIndentOpenAlt(lnum)
- return strlen(substitute(getline(a:lnum), '[^{]\+', '', 'g'))
-endfun
-
-" [-- count indent-decreasing '}' of (java|css) line a:lnum --]
-fun! <SID>HtmlIndentCloseAlt(lnum)
- return strlen(substitute(getline(a:lnum), '[^}]\+', '', 'g'))
-endfun
-
-" [-- return the sum of indents respecting the syntax of a:lnum --]
-fun! <SID>HtmlIndentSum(lnum, style)
- if a:style == match(getline(a:lnum), '^\s*</')
- if a:style == match(getline(a:lnum), '^\s*</\<\('.s:html_indent_tags.'\)\>')
- let open = <SID>HtmlIndentOpen(a:lnum, s:html_indent_tags) - <SID>HtmlIndentOpen(a:lnum, s:html_noindent_tags)
- let close = <SID>HtmlIndentClose(a:lnum, s:html_indent_tags) - <SID>HtmlIndentClose(a:lnum, s:html_noindent_tags)
- let self_close = <SID>HtmlIndentSelfClose(a:lnum, s:html_noindent_tags)
- if 0 != open || 0 != close || 0 != self_close
- return open - close - self_close
- endif
- endif
- endif
-
- if '' != &syntax &&
- \ synIDattr(synID(a:lnum, 1, 1), 'name') =~ '\(css\|java\).*' &&
- \ synIDattr(synID(a:lnum, strlen(getline(a:lnum)), 1), 'name')
- \ =~ '\(css\|java\).*'
- if a:style == match(getline(a:lnum), '^\s*}')
- return <SID>HtmlIndentOpenAlt(a:lnum) - <SID>HtmlIndentCloseAlt(a:lnum)
- endif
- endif
- return 0
-endfun
-
-fun! HtmlIndentGet(lnum)
- " Get shiftwidth value.
- if exists('*shiftwidth')
- let sw = shiftwidth()
- else
- let sw = &sw
- endif
-
- " Find a non-empty line above the current line.
- let lnum = prevnonblank(a:lnum - 1)
-
- " Hit the start of the file, use zero indent.
- if lnum == 0
- return 0
- endif
-
- let restore_ic = &ic
- setlocal ic " ignore case
-
- " [-- special handling for <pre>: no indenting --]
- if getline(a:lnum) =~ '\c</pre>'
- \ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nWb')
- \ || 0 < searchpair('\c<pre>', '', '\c</pre>', 'nW')
- " we're in a line with </pre> or inside <pre> ... </pre>
- if restore_ic == 0
- setlocal noic
- endif
- return -1
- endif
-
- " [-- special handling for <javascript>: use cindent --]
- let js = '<script'
- let jse = '</script>'
-
- """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- " by Tye Zdrojewski <zdro@yahoo.com>, 05 Jun 2006
- " ZDR: This needs to be an AND (we are 'after the start of the pair' AND
- " we are 'before the end of the pair'). Otherwise, indentation
- " before the start of the script block will be affected; the end of
- " the pair will still match if we are before the beginning of the
- " pair.
- "
- if 0 < searchpair(js, '', jse, 'nWb')
- \ && 0 < searchpair(js, '', jse, 'nW')
- " we're inside javascript
- if getline(searchpair(js, '', '</script>', 'nWb')) !~ '<script [^>]*type=["'']\?text\/\(html\|\(ng-\)\?template\)'
- \ && getline(lnum) !~ js && getline(a:lnum) !~ jse
- if restore_ic == 0
- setlocal noic
- endif
- if s:jsindent == ''
- return cindent(a:lnum)
- else
- execute 'let ind = ' . s:jsindent
- return ind
- endif
- endif
- if getline(a:lnum) =~ jse
- return indent(searchpair(js, '', jse, 'nWb'))
- endif
- endif
-
- let css = '<style'
- let csse = '</style>'
- if 0 < searchpair(css, '', csse, 'nWb')
- \ && 0 < searchpair(css, '', csse, 'nW')
- " we're inside style
- if getline(lnum) !~ css && getline(a:lnum) !~ csse
- if restore_ic == 0
- setlocal noic
- endif
- if s:cssindent == ''
- return cindent(a:lnum)
- else
- execute 'let ind = ' . s:cssindent
- return ind
- endif
- endif
- if getline(a:lnum) =~ csse
- return indent(searchpair(css, '', csse, 'nWb'))
- endif
- endif
-
- if getline(lnum) =~ '\c</pre>'
- " line before the current line a:lnum contains
- " a closing </pre>. --> search for line before
- " starting <pre> to restore the indent.
- let preline = prevnonblank(search('\c<pre>', 'bW') - 1)
- if preline > 0
- if restore_ic == 0
- setlocal noic
- endif
-
- if 0 == match(getline(a:lnum), '^\s*</')
- return indent(preline) - (1*sw)
- else
- return indent(preline)
- endif
- endif
- endif
-
- let ind = <SID>HtmlIndentSum(lnum, -1)
- let ind = ind + <SID>HtmlIndentSum(a:lnum, 0)
-
- " Fix for conditional comment
- if getline(a:lnum) =~ '\c<!--.*<\(html\|body\).*-->'
- let ind = ind - 1
- endif
-
- let lind = indent(lnum)
-
- " for tags in s:omittable
- " let tags_exp = '<\(' . join(tags, '\|') . '\)>'
- " let close_tags_exp = '</\(' . join(tags, '\|') . '\)>'
- " if getline(a:lnum) =~ tags_exp
- " let block_start = search('^'.repeat(' ', lind + (sw * ind - 1)).'\S' , 'bnW')
- " let prev_tag = search(tags_exp, 'bW', block_start)
- " let prev_closetag = search(close_tags_exp, 'W', a:lnum)
- " if prev_tag && !prev_closetag
- " let ind = ind - 1
- " endif
- " endif
-
- " if getline(a:lnum) =~ '</\w\+>'
- " let block_start = search('^'.repeat(' ', lind + (sw * ind - 1)).'\S' , 'bnW')
- " let prev_tag = search(tags_exp, 'bW', block_start)
- " let prev_closetag = search(close_tags_exp, 'W', a:lnum)
- " if prev_tag && !prev_closetag
- " let ind = ind - 1
- " endif
- " endif
- " endfor
-
- if restore_ic == 0
- setlocal noic
- endif
-
- return lind + (sw * ind)
-endfun
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-" [-- EOF <runtime>/indent/html.vim --]
diff --git a/plugin/buffers.vim b/plugin/buffers.vim
deleted file mode 100755
index 13c8e4c..0000000
--- a/plugin/buffers.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" buffers.vim
-" Buffer related options
-
-" Hide the buffer when abandoned (ie. not displayed)
-set hidden
diff --git a/plugin/colors.vim b/plugin/colors.vim
deleted file mode 100755
index cf27cde..0000000
--- a/plugin/colors.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" colors.vim
-
-"#colorscheme gruvbox
-colo jallybeans
-set cursorline
diff --git a/plugin/compatibility.vim b/plugin/compatibility.vim
deleted file mode 100755
index 98f229a..0000000
--- a/plugin/compatibility.vim
+++ /dev/null
@@ -1,11 +0,0 @@
-" compatibility.vim
-" Sets compatiblity parameters
-
-" disregard vi compatibility
-"set nocompatible
-
-" allow backspacing over everything
-"set backspace=eol,indent,start
-
-" show partial command in the last line of the screen
-set showcmd
diff --git a/plugin/completion.vim b/plugin/completion.vim
deleted file mode 100755
index d8da491..0000000
--- a/plugin/completion.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-" completion.vim
-" Completion related options
-
-" wildcard char = <TAB>
-set wildmenu
-set wildmode=list:longest:full
diff --git a/plugin/editzone.vim b/plugin/editzone.vim
index 579f914..c07a208 100755
--- a/plugin/editzone.vim
+++ b/plugin/editzone.vim
@@ -24,17 +24,11 @@ set novisualbell
" Show special chars
set list
-set listchars=tab:.\ ,eol:¬,nbsp:␣
+set listchars=tab:›\ ,trail:·,extends:♯,eol:¬,nbsp:␣
" Highlight the screen line of the cursor
set cursorline
hi CursorLine term=bold cterm=bold ctermbg=blue
" Always show 5 lines around cursor
-set scrolloff=5
-
-" from : http://vim.wikia.com/wiki/Highlight_current_line
-" toogle highlight cursor column
-nnoremap <Leader>c :set cursorcolumn!<CR>
-" toogle highligh cursor line
-nnoremap <Leader>l :set cursorline!<CR>
+set scrolloff=7
diff --git a/plugin/encoding.vim b/plugin/encoding.vim
index 5690edc..af52f02 100755
--- a/plugin/encoding.vim
+++ b/plugin/encoding.vim
@@ -9,3 +9,5 @@ set fileencoding=utf-8
set encoding=utf-8
set termencoding=utf-8
+
+set ffs=unix,dos,mac
diff --git a/plugin/filetype.vim b/plugin/filetype.vim
deleted file mode 100755
index cfdc038..0000000
--- a/plugin/filetype.vim
+++ /dev/null
@@ -1,4 +0,0 @@
-" filetype.vim
-" Filetype related configuration.
-
-filetype plugin indent on
diff --git a/plugin/indent.vim b/plugin/indent.vim
index 1b11d92..e9063d7 100755
--- a/plugin/indent.vim
+++ b/plugin/indent.vim
@@ -1,34 +1,43 @@
" indent.vim
" Defines indentation behavior
-set softtabstop=4
-set shiftwidth=4
-set tabstop=4
+set softtabstop=2
+set shiftwidth=2
+set tabstop=2
set expandtab
set smarttab
set autoindent
-
-
highlight BadWhitespace ctermbg=red guibg=red
set hlsearch
-
" make backspaces more powerfull
set backspace=indent,eol,start
-
-
-
"js stuff"
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2
+autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
+
+
+"python stuff"
autocmd FileType python set tabstop=4 softtabstop=4 shiftwidth=4
autocmd FileType python set textwidth=79 expandtab autoindent
+autocmd FileType python set omnifunc=pythoncomplete#Complete
+
+
+
+"C/C++ stuff"
+autocmd FileType c set tabstop=4 softtabstop=4 shiftwidth=4
+autocmd FileType c set expandtab autoindent
+autocmd FileType cpp set tabstop=4 softtabstop=4 shiftwidth=4
+autocmd FileType cpp set expandtab autoindent
+
+"Html stuff
+autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
+autocmd FileType css set omnifunc=csscomplete#CompleteCSS
-set fileformat=unix
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
-"
-"
+
diff --git a/plugin/matchit.vim b/plugin/matchit.vim
deleted file mode 100755
index e41cda9..0000000
--- a/plugin/matchit.vim
+++ /dev/null
@@ -1,812 +0,0 @@
-" matchit.vim: (global plugin) Extended "%" matching
-" Last Change: Fri Jan 25 10:00 AM 2008 EST
-" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
-" Version: 1.13.2, for Vim 6.3+
-" URL: http://www.vim.org/script.php?script_id=39
-
-" Documentation:
-" The documentation is in a separate file, matchit.txt .
-
-" Credits:
-" Vim editor by Bram Moolenaar (Thanks, Bram!)
-" Original script and design by Raul Segura Acevedo
-" Support for comments by Douglas Potts
-" Support for back references and other improvements by Benji Fisher
-" Support for many languages by Johannes Zellner
-" Suggestions for improvement, bug reports, and support for additional
-" languages by Jordi-Albert Batalla, Neil Bird, Servatius Brandt, Mark
-" Collett, Stephen Wall, Dany St-Amant, Yuheng Xie, and Johannes Zellner.
-
-" Debugging:
-" If you'd like to try the built-in debugging commands...
-" :MatchDebug to activate debugging for the current buffer
-" This saves the values of several key script variables as buffer-local
-" variables. See the MatchDebug() function, below, for details.
-
-" TODO: I should think about multi-line patterns for b:match_words.
-" This would require an option: how many lines to scan (default 1).
-" This would be useful for Python, maybe also for *ML.
-" TODO: Maybe I should add a menu so that people will actually use some of
-" the features that I have implemented.
-" TODO: Eliminate the MultiMatch function. Add yet another argument to
-" Match_wrapper() instead.
-" TODO: Allow :let b:match_words = '\(\(foo\)\(bar\)\):\3\2:end\1'
-" TODO: Make backrefs safer by using '\V' (very no-magic).
-" TODO: Add a level of indirection, so that custom % scripts can use my
-" work but extend it.
-
-" allow user to prevent loading
-" and prevent duplicate loading
-if exists("loaded_matchit") || &cp
- finish
-endif
-let loaded_matchit = 1
-let s:last_mps = ""
-let s:last_words = ":"
-
-let s:save_cpo = &cpo
-set cpo&vim
-
-nnoremap <silent> % :<C-U>call <SID>Match_wrapper('',1,'n') <CR>
-nnoremap <silent> g% :<C-U>call <SID>Match_wrapper('',0,'n') <CR>
-vnoremap <silent> % :<C-U>call <SID>Match_wrapper('',1,'v') <CR>m'gv``
-vnoremap <silent> g% :<C-U>call <SID>Match_wrapper('',0,'v') <CR>m'gv``
-onoremap <silent> % v:<C-U>call <SID>Match_wrapper('',1,'o') <CR>
-onoremap <silent> g% v:<C-U>call <SID>Match_wrapper('',0,'o') <CR>
-
-" Analogues of [{ and ]} using matching patterns:
-nnoremap <silent> [% :<C-U>call <SID>MultiMatch("bW", "n") <CR>
-nnoremap <silent> ]% :<C-U>call <SID>MultiMatch("W", "n") <CR>
-vmap [% <Esc>[%m'gv``
-vmap ]% <Esc>]%m'gv``
-" vnoremap <silent> [% :<C-U>call <SID>MultiMatch("bW", "v") <CR>m'gv``
-" vnoremap <silent> ]% :<C-U>call <SID>MultiMatch("W", "v") <CR>m'gv``
-onoremap <silent> [% v:<C-U>call <SID>MultiMatch("bW", "o") <CR>
-onoremap <silent> ]% v:<C-U>call <SID>MultiMatch("W", "o") <CR>
-
-" text object:
-vmap a% <Esc>[%v]%
-
-" Auto-complete mappings: (not yet "ready for prime time")
-" TODO Read :help write-plugin for the "right" way to let the user
-" specify a key binding.
-" let g:match_auto = '<C-]>'
-" let g:match_autoCR = '<C-CR>'
-" if exists("g:match_auto")
-" execute "inoremap " . g:match_auto . ' x<Esc>"=<SID>Autocomplete()<CR>Pls'
-" endif
-" if exists("g:match_autoCR")
-" execute "inoremap " . g:match_autoCR . ' <CR><C-R>=<SID>Autocomplete()<CR>'
-" endif
-" if exists("g:match_gthhoh")
-" execute "inoremap " . g:match_gthhoh . ' <C-O>:call <SID>Gthhoh()<CR>'
-" endif " gthhoh = "Get the heck out of here!"
-
-let s:notslash = '\\\@<!\%(\\\\\)*'
-
-function! s:Match_wrapper(word, forward, mode) range
- " In s:CleanUp(), :execute "set" restore_options .
- let restore_options = (&ic ? " " : " no") . "ignorecase"
- if exists("b:match_ignorecase")
- let &ignorecase = b:match_ignorecase
- endif
- let restore_options = " ve=" . &ve . restore_options
- set ve=
- " If this function was called from Visual mode, make sure that the cursor
- " is at the correct end of the Visual range:
- if a:mode == "v"
- execute "normal! gv\<Esc>"
- endif
- " In s:CleanUp(), we may need to check whether the cursor moved forward.
- let startline = line(".")
- let startcol = col(".")
- " Use default behavior if called with a count.
- if v:count
- exe "normal! " . v:count . "%"
- return s:CleanUp(restore_options, a:mode, startline, startcol)
- end
-
- " First step: if not already done, set the script variables
- " s:do_BR flag for whether there are backrefs
- " s:pat parsed version of b:match_words
- " s:all regexp based on s:pat and the default groups
- "
- if !exists("b:match_words") || b:match_words == ""
- let match_words = ""
- " Allow b:match_words = "GetVimMatchWords()" .
- elseif b:match_words =~ ":"
- let match_words = b:match_words
- else
- execute "let match_words =" b:match_words
- endif
-" Thanks to Preben "Peppe" Guldberg and Bram Moolenaar for this suggestion!
- if (match_words != s:last_words) || (&mps != s:last_mps) ||
- \ exists("b:match_debug")
- let s:last_words = match_words
- let s:last_mps = &mps
- " The next several lines were here before
- " BF started messing with this script.
- " quote the special chars in 'matchpairs', replace [,:] with \| and then
- " append the builtin pairs (/*, */, #if, #ifdef, #else, #elif, #endif)
- " let default = substitute(escape(&mps, '[$^.*~\\/?]'), '[,:]\+',
- " \ '\\|', 'g').'\|\/\*\|\*\/\|#if\>\|#ifdef\>\|#else\>\|#elif\>\|#endif\>'
- let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
- \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>'
- " s:all = pattern with all the keywords
- let match_words = match_words . (strlen(match_words) ? "," : "") . default
- if match_words !~ s:notslash . '\\\d'
- let s:do_BR = 0
- let s:pat = match_words
- else
- let s:do_BR = 1
- let s:pat = s:ParseWords(match_words)
- endif
- let s:all = substitute(s:pat, s:notslash . '\zs[,:]\+', '\\|', 'g')
- let s:all = '\%(' . s:all . '\)'
- " let s:all = '\%(' . substitute(s:all, '\\\ze[,:]', '', 'g') . '\)'
- if exists("b:match_debug")
- let b:match_pat = s:pat
- endif
- endif
-
- " Second step: set the following local variables:
- " matchline = line on which the cursor started
- " curcol = number of characters before match
- " prefix = regexp for start of line to start of match
- " suffix = regexp for end of match to end of line
- " Require match to end on or after the cursor and prefer it to
- " start on or before the cursor.
- let matchline = getline(startline)
- if a:word != ''
- " word given
- if a:word !~ s:all
- echohl WarningMsg|echo 'Missing rule for word:"'.a:word.'"'|echohl NONE
- return s:CleanUp(restore_options, a:mode, startline, startcol)
- endif
- let matchline = a:word
- let curcol = 0
- let prefix = '^\%('
- let suffix = '\)$'
- " Now the case when "word" is not given
- else " Find the match that ends on or after the cursor and set curcol.
- let regexp = s:Wholematch(matchline, s:all, startcol-1)
- let curcol = match(matchline, regexp)
- " If there is no match, give up.
- if curcol == -1
- return s:CleanUp(restore_options, a:mode, startline, startcol)
- endif
- let endcol = matchend(matchline, regexp)
- let suf = strlen(matchline) - endcol
- let prefix = (curcol ? '^.*\%' . (curcol + 1) . 'c\%(' : '^\%(')
- let suffix = (suf ? '\)\%' . (endcol + 1) . 'c.*$' : '\)$')
- endif
- if exists("b:match_debug")
- let b:match_match = matchstr(matchline, regexp)
- let b:match_col = curcol+1
- endif
-
- " Third step: Find the group and single word that match, and the original
- " (backref) versions of these. Then, resolve the backrefs.
- " Set the following local variable:
- " group = colon-separated list of patterns, one of which matches
- " = ini:mid:fin or ini:fin
- "
- " Reconstruct the version with unresolved backrefs.
- let patBR = substitute(match_words.',',
- \ s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
- let patBR = substitute(patBR, s:notslash.'\zs:\{2,}', ':', 'g')
- " Now, set group and groupBR to the matching group: 'if:endif' or
- " 'while:endwhile' or whatever. A bit of a kluge: s:Choose() returns
- " group . "," . groupBR, and we pick it apart.
- let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, patBR)
- let i = matchend(group, s:notslash . ",")
- let groupBR = strpart(group, i)
- let group = strpart(group, 0, i-1)
- " Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
- if s:do_BR " Do the hard part: resolve those backrefs!
- let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
- endif
- if exists("b:match_debug")
- let b:match_wholeBR = groupBR
- let i = matchend(groupBR, s:notslash . ":")
- let b:match_iniBR = strpart(groupBR, 0, i-1)
- endif
-
- " Fourth step: Set the arguments for searchpair().
- let i = matchend(group, s:notslash . ":")
- let j = matchend(group, '.*' . s:notslash . ":")
- let ini = strpart(group, 0, i-1)
- let mid = substitute(strpart(group, i,j-i-1), s:notslash.'\zs:', '\\|', 'g')
- let fin = strpart(group, j)
- "Un-escape the remaining , and : characters.
- let ini = substitute(ini, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
- let mid = substitute(mid, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
- let fin = substitute(fin, s:notslash . '\zs\\\(:\|,\)', '\1', 'g')
- " searchpair() requires that these patterns avoid \(\) groups.
- let ini = substitute(ini, s:notslash . '\zs\\(', '\\%(', 'g')
- let mid = substitute(mid, s:notslash . '\zs\\(', '\\%(', 'g')
- let fin = substitute(fin, s:notslash . '\zs\\(', '\\%(', 'g')
- " Set mid. This is optimized for readability, not micro-efficiency!
- if a:forward && matchline =~ prefix . fin . suffix
- \ || !a:forward && matchline =~ prefix . ini . suffix
- let mid = ""
- endif
- " Set flag. This is optimized for readability, not micro-efficiency!
- if a:forward && matchline =~ prefix . fin . suffix
- \ || !a:forward && matchline !~ prefix . ini . suffix
- let flag = "bW"
- else
- let flag = "W"
- endif
- " Set skip.
- if exists("b:match_skip")
- let skip = b:match_skip
- elseif exists("b:match_comment") " backwards compatibility and testing!
- let skip = "r:" . b:match_comment
- else
- let skip = 's:comment\|string'
- endif
- let skip = s:ParseSkip(skip)
- if exists("b:match_debug")
- let b:match_ini = ini
- let b:match_tail = (strlen(mid) ? mid.'\|' : '') . fin
- endif
-
- " Fifth step: actually start moving the cursor and call searchpair().
- " Later, :execute restore_cursor to get to the original screen.
- let restore_cursor = virtcol(".") . "|"
- normal! g0
- let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
- normal! H
- let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
- execute restore_cursor
- call cursor(0, curcol + 1)
- " normal! 0
- " if curcol
- " execute "normal!" . curcol . "l"
- " endif
- if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
- let skip = "0"
- else
- execute "if " . skip . "| let skip = '0' | endif"
- endif
- let sp_return = searchpair(ini, mid, fin, flag, skip)
- let final_position = "call cursor(" . line(".") . "," . col(".") . ")"
- " Restore cursor position and original screen.
- execute restore_cursor
- normal! m'
- if sp_return > 0
- execute final_position
- endif
- return s:CleanUp(restore_options, a:mode, startline, startcol, mid.'\|'.fin)
-endfun
-
-" Restore options and do some special handling for Operator-pending mode.
-" The optional argument is the tail of the matching group.
-fun! s:CleanUp(options, mode, startline, startcol, ...)
- execute "set" a:options
- " Open folds, if appropriate.
- if a:mode != "o"
- if &foldopen =~ "percent"
- normal! zv
- endif
- " In Operator-pending mode, we want to include the whole match
- " (for example, d%).
- " This is only a problem if we end up moving in the forward direction.
- elseif (a:startline < line(".")) ||
- \ (a:startline == line(".") && a:startcol < col("."))
- if a:0
- " Check whether the match is a single character. If not, move to the
- " end of the match.
- let matchline = getline(".")
- let currcol = col(".")
- let regexp = s:Wholematch(matchline, a:1, currcol-1)
- let endcol = matchend(matchline, regexp)
- if endcol > currcol " This is NOT off by one!
- execute "normal!" . (endcol - currcol) . "l"
- endif
- endif " a:0
- endif " a:mode != "o" && etc.
- return 0
-endfun
-
-" Example (simplified HTML patterns): if
-" a:groupBR = '<\(\k\+\)>:</\1>'
-" a:prefix = '^.\{3}\('
-" a:group = '<\(\k\+\)>:</\(\k\+\)>'
-" a:suffix = '\).\{2}$'
-" a:matchline = "123<tag>12" or "123</tag>12"
-" then extract "tag" from a:matchline and return "<tag>:</tag>" .
-fun! s:InsertRefs(groupBR, prefix, group, suffix, matchline)
- if a:matchline !~ a:prefix .
- \ substitute(a:group, s:notslash . '\zs:', '\\|', 'g') . a:suffix
- return a:group
- endif
- let i = matchend(a:groupBR, s:notslash . ':')
- let ini = strpart(a:groupBR, 0, i-1)
- let tailBR = strpart(a:groupBR, i)
- let word = s:Choose(a:group, a:matchline, ":", "", a:prefix, a:suffix,
- \ a:groupBR)
- let i = matchend(word, s:notslash . ":")
- let wordBR = strpart(word, i)
- let word = strpart(word, 0, i-1)
- " Now, a:matchline =~ a:prefix . word . a:suffix
- if wordBR != ini
- let table = s:Resolve(ini, wordBR, "table")
- else
- " let table = "----------"
- let table = ""
- let d = 0
- while d < 10
- if tailBR =~ s:notslash . '\\' . d
- " let table[d] = d
- let table = table . d
- else
- let table = table . "-"
- endif
- let d = d + 1
- endwhile
- endif
- let d = 9
- while d
- if table[d] != "-"
- let backref = substitute(a:matchline, a:prefix.word.a:suffix,
- \ '\'.table[d], "")
- " Are there any other characters that should be escaped?
- let backref = escape(backref, '*,:')
- execute s:Ref(ini, d, "start", "len")
- let ini = strpart(ini, 0, start) . backref . strpart(ini, start+len)
- let tailBR = substitute(tailBR, s:notslash . '\zs\\' . d,
- \ escape(backref, '\\'), 'g')
- endif
- let d = d-1
- endwhile
- if exists("b:match_debug")
- if s:do_BR
- let b:match_table = table
- let b:match_word = word
- else
- let b:match_table = ""
- let b:match_word = ""
- endif
- endif
- return ini . ":" . tailBR
-endfun
-
-" Input a comma-separated list of groups with backrefs, such as
-" a:groups = '\(foo\):end\1,\(bar\):end\1'
-" and return a comma-separated list of groups with backrefs replaced:
-" return '\(foo\):end\(foo\),\(bar\):end\(bar\)'
-fun! s:ParseWords(groups)
- let groups = substitute(a:groups.",", s:notslash.'\zs[,:]*,[,:]*', ',', 'g')
- let groups = substitute(groups, s:notslash . '\zs:\{2,}', ':', 'g')
- let parsed = ""
- while groups =~ '[^,:]'
- let i = matchend(groups, s:notslash . ':')
- let j = matchend(groups, s:notslash . ',')
- let ini = strpart(groups, 0, i-1)
- let tail = strpart(groups, i, j-i-1) . ":"
- let groups = strpart(groups, j)
- let parsed = parsed . ini
- let i = matchend(tail, s:notslash . ':')
- while i != -1
- " In 'if:else:endif', ini='if' and word='else' and then word='endif'.
- let word = strpart(tail, 0, i-1)
- let tail = strpart(tail, i)
- let i = matchend(tail, s:notslash . ':')
- let parsed = parsed . ":" . s:Resolve(ini, word, "word")
- endwhile " Now, tail has been used up.
- let parsed = parsed . ","
- endwhile " groups =~ '[^,:]'
- let parsed = substitute(parsed, ',$', '', '')
- return parsed
-endfun
-
-" TODO I think this can be simplified and/or made more efficient.
-" TODO What should I do if a:start is out of range?
-" Return a regexp that matches all of a:string, such that
-" matchstr(a:string, regexp) represents the match for a:pat that starts
-" as close to a:start as possible, before being preferred to after, and
-" ends after a:start .
-" Usage:
-" let regexp = s:Wholematch(getline("."), 'foo\|bar', col(".")-1)
-" let i = match(getline("."), regexp)
-" let j = matchend(getline("."), regexp)
-" let match = matchstr(getline("."), regexp)
-fun! s:Wholematch(string, pat, start)
- let group = '\%(' . a:pat . '\)'
- let prefix = (a:start ? '\(^.*\%<' . (a:start + 2) . 'c\)\zs' : '^')
- let len = strlen(a:string)
- let suffix = (a:start+1 < len ? '\(\%>'.(a:start+1).'c.*$\)\@=' : '$')
- if a:string !~ prefix . group . suffix
- let prefix = ''
- endif
- return prefix . group . suffix
-endfun
-
-" No extra arguments: s:Ref(string, d) will
-" find the d'th occurrence of '\(' and return it, along with everything up
-" to and including the matching '\)'.
-" One argument: s:Ref(string, d, "start") returns the index of the start
-" of the d'th '\(' and any other argument returns the length of the group.
-" Two arguments: s:Ref(string, d, "foo", "bar") returns a string to be
-" executed, having the effect of
-" :let foo = s:Ref(string, d, "start")
-" :let bar = s:Ref(string, d, "len")
-fun! s:Ref(string, d, ...)
- let len = strlen(a:string)
- if a:d == 0
- let start = 0
- else
- let cnt = a:d
- let match = a:string
- while cnt
- let cnt = cnt - 1
- let index = matchend(match, s:notslash . '\\(')
- if index == -1
- return ""
- endif
- let match = strpart(match, index)
- endwhile
- let start = len - strlen(match)
- if a:0 == 1 && a:1 == "start"
- return start - 2
- endif
- let cnt = 1
- while cnt
- let index = matchend(match, s:notslash . '\\(\|\\)') - 1
- if index == -2
- return ""
- endif
- " Increment if an open, decrement if a ')':
- let cnt = cnt + (match[index]=="(" ? 1 : -1) " ')'
- " let cnt = stridx('0(', match[index]) + cnt
- let match = strpart(match, index+1)
- endwhile
- let start = start - 2
- let len = len - start - strlen(match)
- endif
- if a:0 == 1
- return len
- elseif a:0 == 2
- return "let " . a:1 . "=" . start . "| let " . a:2 . "=" . len
- else
- return strpart(a:string, start, len)
- endif
-endfun
-
-" Count the number of disjoint copies of pattern in string.
-" If the pattern is a literal string and contains no '0' or '1' characters
-" then s:Count(string, pattern, '0', '1') should be faster than
-" s:Count(string, pattern).
-fun! s:Count(string, pattern, ...)
- let pat = escape(a:pattern, '\\')
- if a:0 > 1
- let foo = substitute(a:string, '[^'.a:pattern.']', "a:1", "g")
- let foo = substitute(a:string, pat, a:2, "g")
- let foo = substitute(foo, '[^' . a:2 . ']', "", "g")
- return strlen(foo)
- endif
- let result = 0
- let foo = a:string
- let index = matchend(foo, pat)
- while index != -1
- let result = result + 1
- let foo = strpart(foo, index)
- let index = matchend(foo, pat)
- endwhile
- return result
-endfun
-
-" s:Resolve('\(a\)\(b\)', '\(c\)\2\1\1\2') should return table.word, where
-" word = '\(c\)\(b\)\(a\)\3\2' and table = '-32-------'. That is, the first
-" '\1' in target is replaced by '\(a\)' in word, table[1] = 3, and this
-" indicates that all other instances of '\1' in target are to be replaced
-" by '\3'. The hard part is dealing with nesting...
-" Note that ":" is an illegal character for source and target,
-" unless it is preceded by "\".
-fun! s:Resolve(source, target, output)
- let word = a:target
- let i = matchend(word, s:notslash . '\\\d') - 1
- let table = "----------"
- while i != -2 " There are back references to be replaced.
- let d = word[i]
- let backref = s:Ref(a:source, d)
- " The idea is to replace '\d' with backref. Before we do this,
- " replace any \(\) groups in backref with :1, :2, ... if they
- " correspond to the first, second, ... group already inserted
- " into backref. Later, replace :1 with \1 and so on. The group
- " number w+b within backref corresponds to the group number
- " s within a:source.
- " w = number of '\(' in word before the current one
- let w = s:Count(
- \ substitute(strpart(word, 0, i-1), '\\\\', '', 'g'), '\(', '1')
- let b = 1 " number of the current '\(' in backref
- let s = d " number of the current '\(' in a:source
- while b <= s:Count(substitute(backref, '\\\\', '', 'g'), '\(', '1')
- \ && s < 10
- if table[s] == "-"
- if w + b < 10
- " let table[s] = w + b
- let table = strpart(table, 0, s) . (w+b) . strpart(table, s+1)
- endif
- let b = b + 1
- let s = s + 1
- else
- execute s:Ref(backref, b, "start", "len")
- let ref = strpart(backref, start, len)
- let backref = strpart(backref, 0, start) . ":". table[s]
- \ . strpart(backref, start+len)
- let s = s + s:Count(substitute(ref, '\\\\', '', 'g'), '\(', '1')
- endif
- endwhile
- let word = strpart(word, 0, i-1) . backref . strpart(word, i+1)
- let i = matchend(word, s:notslash . '\\\d') - 1
- endwhile
- let word = substitute(word, s:notslash . '\zs:', '\\', 'g')
- if a:output == "table"
- return table
- elseif a:output == "word"
- return word
- else
- return table . word
- endif
-endfun
-
-" Assume a:comma = ",". Then the format for a:patterns and a:1 is
-" a:patterns = "<pat1>,<pat2>,..."
-" a:1 = "<alt1>,<alt2>,..."
-" If <patn> is the first pattern that matches a:string then return <patn>
-" if no optional arguments are given; return <patn>,<altn> if a:1 is given.
-fun! s:Choose(patterns, string, comma, branch, prefix, suffix, ...)
- let tail = (a:patterns =~ a:comma."$" ? a:patterns : a:patterns . a:comma)
- let i = matchend(tail, s:notslash . a:comma)
- if a:0
- let alttail = (a:1 =~ a:comma."$" ? a:1 : a:1 . a:comma)
- let j = matchend(alttail, s:notslash . a:comma)
- endif
- let current = strpart(tail, 0, i-1)
- if a:branch == ""
- let currpat = current
- else
- let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
- endif
- while a:string !~ a:prefix . currpat . a:suffix
- let tail = strpart(tail, i)
- let i = matchend(tail, s:notslash . a:comma)
- if i == -1
- return -1
- endif
- let current = strpart(tail, 0, i-1)
- if a:branch == ""
- let currpat = current
- else
- let currpat = substitute(current, s:notslash . a:branch, '\\|', 'g')
- endif
- if a:0
- let alttail = strpart(alttail, j)
- let j = matchend(alttail, s:notslash . a:comma)
- endif
- endwhile
- if a:0
- let current = current . a:comma . strpart(alttail, 0, j-1)
- endif
- return current
-endfun
-
-" Call this function to turn on debugging information. Every time the main
-" script is run, buffer variables will be saved. These can be used directly
-" or viewed using the menu items below.
-if !exists(":MatchDebug")
- command! -nargs=0 MatchDebug call s:Match_debug()
-endif
-
-fun! s:Match_debug()
- let b:match_debug = 1 " Save debugging information.
- " pat = all of b:match_words with backrefs parsed
- amenu &Matchit.&pat :echo b:match_pat<CR>
- " match = bit of text that is recognized as a match
- amenu &Matchit.&match :echo b:match_match<CR>
- " curcol = cursor column of the start of the matching text
- amenu &Matchit.&curcol :echo b:match_col<CR>
- " wholeBR = matching group, original version
- amenu &Matchit.wh&oleBR :echo b:match_wholeBR<CR>
- " iniBR = 'if' piece, original version
- amenu &Matchit.ini&BR :echo b:match_iniBR<CR>
- " ini = 'if' piece, with all backrefs resolved from match
- amenu &Matchit.&ini :echo b:match_ini<CR>
- " tail = 'else\|endif' piece, with all backrefs resolved from match
- amenu &Matchit.&tail :echo b:match_tail<CR>
- " fin = 'endif' piece, with all backrefs resolved from match
- amenu &Matchit.&word :echo b:match_word<CR>
- " '\'.d in ini refers to the same thing as '\'.table[d] in word.
- amenu &Matchit.t&able :echo '0:' . b:match_table . ':9'<CR>
-endfun
-
-" Jump to the nearest unmatched "(" or "if" or "<tag>" if a:spflag == "bW"
-" or the nearest unmatched "</tag>" or "endif" or ")" if a:spflag == "W".
-" Return a "mark" for the original position, so that
-" let m = MultiMatch("bW", "n") ... execute m
-" will return to the original position. If there is a problem, do not
-" move the cursor and return "", unless a count is given, in which case
-" go up or down as many levels as possible and again return "".
-" TODO This relies on the same patterns as % matching. It might be a good
-" idea to give it its own matching patterns.
-fun! s:MultiMatch(spflag, mode)
- if !exists("b:match_words") || b:match_words == ""
- return ""
- end
- let restore_options = (&ic ? "" : "no") . "ignorecase"
- if exists("b:match_ignorecase")
- let &ignorecase = b:match_ignorecase
- endif
- let startline = line(".")
- let startcol = col(".")
-
- " First step: if not already done, set the script variables
- " s:do_BR flag for whether there are backrefs
- " s:pat parsed version of b:match_words
- " s:all regexp based on s:pat and the default groups
- " This part is copied and slightly modified from s:Match_wrapper().
- let default = escape(&mps, '[$^.*~\\/?]') . (strlen(&mps) ? "," : "") .
- \ '\/\*:\*\/,#if\%(def\)\=:#else\>:#elif\>:#endif\>'
- " Allow b:match_words = "GetVimMatchWords()" .
- if b:match_words =~ ":"
- let match_words = b:match_words
- else
- execute "let match_words =" b:match_words
- endif
- if (match_words != s:last_words) || (&mps != s:last_mps) ||
- \ exists("b:match_debug")
- let s:last_words = match_words
- let s:last_mps = &mps
- if match_words !~ s:notslash . '\\\d'
- let s:do_BR = 0
- let s:pat = match_words
- else
- let s:do_BR = 1
- let s:pat = s:ParseWords(match_words)
- endif
- let s:all = '\%(' . substitute(s:pat . (strlen(s:pat)?",":"") . default,
- \ '[,:]\+','\\|','g') . '\)'
- if exists("b:match_debug")
- let b:match_pat = s:pat
- endif
- endif
-
- " Second step: figure out the patterns for searchpair()
- " and save the screen, cursor position, and 'ignorecase'.
- " - TODO: A lot of this is copied from s:Match_wrapper().
- " - maybe even more functionality should be split off
- " - into separate functions!
- let cdefault = (s:pat =~ '[^,]$' ? "," : "") . default
- let open = substitute(s:pat . cdefault,
- \ s:notslash . '\zs:.\{-}' . s:notslash . ',', '\\),\\(', 'g')
- let open = '\(' . substitute(open, s:notslash . '\zs:.*$', '\\)', '')
- let close = substitute(s:pat . cdefault,
- \ s:notslash . '\zs,.\{-}' . s:notslash . ':', '\\),\\(', 'g')
- let close = substitute(close, '^.\{-}' . s:notslash . ':', '\\(', '') . '\)'
- if exists("b:match_skip")
- let skip = b:match_skip
- elseif exists("b:match_comment") " backwards compatibility and testing!
- let skip = "r:" . b:match_comment
- else
- let skip = 's:comment\|string'
- endif
- let skip = s:ParseSkip(skip)
- " let restore_cursor = line(".") . "G" . virtcol(".") . "|"
- " normal! H
- " let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
- let restore_cursor = virtcol(".") . "|"
- normal! g0
- let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
- normal! H
- let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
- execute restore_cursor
-
- " Third step: call searchpair().
- " Replace '\('--but not '\\('--with '\%(' and ',' with '\|'.
- let openpat = substitute(open, '\(\\\@<!\(\\\\\)*\)\@<=\\(', '\\%(', 'g')
- let openpat = substitute(openpat, ',', '\\|', 'g')
- let closepat = substitute(close, '\(\\\@<!\(\\\\\)*\)\@<=\\(', '\\%(', 'g')
- let closepat = substitute(closepat, ',', '\\|', 'g')
- if skip =~ 'synID' && !(has("syntax") && exists("g:syntax_on"))
- let skip = '0'
- else
- execute "if " . skip . "| let skip = '0' | endif"
- endif
- mark '
- let level = v:count1
- while level
- if searchpair(openpat, '', closepat, a:spflag, skip) < 1
- call s:CleanUp(restore_options, a:mode, startline, startcol)
- return ""
- endif
- let level = level - 1
- endwhile
-
- " Restore options and return a string to restore the original position.
- call s:CleanUp(restore_options, a:mode, startline, startcol)
- return restore_cursor
-endfun
-
-" Search backwards for "if" or "while" or "<tag>" or ...
-" and return "endif" or "endwhile" or "</tag>" or ... .
-" For now, this uses b:match_words and the same script variables
-" as s:Match_wrapper() . Later, it may get its own patterns,
-" either from a buffer variable or passed as arguments.
-" fun! s:Autocomplete()
-" echo "autocomplete not yet implemented :-("
-" if !exists("b:match_words") || b:match_words == ""
-" return ""
-" end
-" let startpos = s:MultiMatch("bW")
-"
-" if startpos == ""
-" return ""
-" endif
-" " - TODO: figure out whether 'if' or '<tag>' matched, and construct
-" " - the appropriate closing.
-" let matchline = getline(".")
-" let curcol = col(".") - 1
-" " - TODO: Change the s:all argument if there is a new set of match pats.
-" let regexp = s:Wholematch(matchline, s:all, curcol)
-" let suf = strlen(matchline) - matchend(matchline, regexp)
-" let prefix = (curcol ? '^.\{' . curcol . '}\%(' : '^\%(')
-" let suffix = (suf ? '\).\{' . suf . '}$' : '\)$')
-" " Reconstruct the version with unresolved backrefs.
-" let patBR = substitute(b:match_words.',', '[,:]*,[,:]*', ',', 'g')
-" let patBR = substitute(patBR, ':\{2,}', ':', "g")
-" " Now, set group and groupBR to the matching group: 'if:endif' or
-" " 'while:endwhile' or whatever.
-" let group = s:Choose(s:pat, matchline, ",", ":", prefix, suffix, patBR)
-" let i = matchend(group, s:notslash . ",")
-" let groupBR = strpart(group, i)
-" let group = strpart(group, 0, i-1)
-" " Now, matchline =~ prefix . substitute(group,':','\|','g') . suffix
-" if s:do_BR
-" let group = s:InsertRefs(groupBR, prefix, group, suffix, matchline)
-" endif
-" " let g:group = group
-"
-" " - TODO: Construct the closing from group.
-" let fake = "end" . expand("<cword>")
-" execute startpos
-" return fake
-" endfun
-
-" Close all open structures. "Get the heck out of here!"
-" fun! s:Gthhoh()
-" let close = s:Autocomplete()
-" while strlen(close)
-" put=close
-" let close = s:Autocomplete()
-" endwhile
-" endfun
-
-" Parse special strings as typical skip arguments for searchpair():
-" s:foo becomes (current syntax item) =~ foo
-" S:foo becomes (current syntax item) !~ foo
-" r:foo becomes (line before cursor) =~ foo
-" R:foo becomes (line before cursor) !~ foo
-fun! s:ParseSkip(str)
- let skip = a:str
- if skip[1] == ":"
- if skip[0] == "s"
- let skip = "synIDattr(synID(line('.'),col('.'),1),'name') =~? '" .
- \ strpart(skip,2) . "'"
- elseif skip[0] == "S"
- let skip = "synIDattr(synID(line('.'),col('.'),1),'name') !~? '" .
- \ strpart(skip,2) . "'"
- elseif skip[0] == "r"
- let skip = "strpart(getline('.'),0,col('.'))=~'" . strpart(skip,2). "'"
- elseif skip[0] == "R"
- let skip = "strpart(getline('.'),0,col('.'))!~'" . strpart(skip,2). "'"
- endif
- endif
- return skip
-endfun
-
-let &cpo = s:save_cpo
-
-" vim:sts=2:sw=2:
diff --git a/plugin/misc-bindings.vim b/plugin/misc-bindings.vim
index 470bbeb..4f9021d 100755
--- a/plugin/misc-bindings.vim
+++ b/plugin/misc-bindings.vim
@@ -11,8 +11,8 @@ nnoremap <F1> <Esc>
" << it's one less key to hit every time I want to save a file >>
" -- Steve Losh (again)
-"nnoremap ; :
-"vnoremap ; :
+nnoremap ; :
+vnoremap ; :
" From Kalenz's Vim config. Life changing.
nnoremap <Space> <C-w>
@@ -32,8 +32,3 @@ nnoremap <Space>! :tab sball<Return>
nnoremap <F5> :make<Return>
-" I DONT WANT TO USE AN ENCRYPTION KEY
-" http://stackoverflow.com/questions/3878692/aliasing-a-command-in-vim
-" cnoreabbrev <expr> X ((getcmdtype() is# ':' && getcmdline() is# 'X')?('x'):('X'))
-
-
diff --git a/plugin/perso.vim b/plugin/perso.vim
index 11b4ed1..9af12b0 100755
--- a/plugin/perso.vim
+++ b/plugin/perso.vim
@@ -9,45 +9,24 @@ set t_Co=256
"map <leader>k <C-W>k
"map <leader>h <C-W>h
"map <leader>l <C-W>l
+filetype plugin indent on
-
-
-
-set encoding=utf-8
-set fileencoding=utf-8
-
-
+" Color :
+colo jellybeans
+set cursorline
hi CursorLine term=bold cterm=bold ctermbg=black
-
-
-
-filetype plugin indent on
-
+" Completion related options
+" wildcard char = <TAB>
+set wildmenu
+set wildmode=list:longest:full
nnoremap <silent><A-o> :set paste<CR>m`o<Esc>``:set nopaste<CR>
nnoremap <silent><A-O> :set paste<CR>m`O<Esc>``:set nopaste<CR>
-
inoremap <c-e> <Esc>A
inoremap <c-a> <Esc>0i
-
-"inoremap {<CR> {<CR>}<up><C-o>$
-"inoremap {{ {
-"inoremap {} {}
-"inoremap << <><left>
-"inoremap [ []<left>
-"inoremap [[ [
-"inoremap [] []
-"inoremap ( ()<left>
-"inoremap (( (
-"inoremap () ()
-"inoremap " ""<left>
-"inoremap "" ""
-"inoremap ' ''<left>
-"inoremap '' ''
-
"Perso C définition"
inoremap prt printf
inoremap swf printf
@@ -63,41 +42,43 @@ inoremap #io #include <stdio.h>
inoremap #main int main(void) {<CR>}<Esc><Up>A
inoremap ##main int main(int argc, char* argv[]) {<CR>}<Esc><Up>A
-
-
-
-
" Personal shortcurts
-" Copy clip
-nnoremap <silent>èè__ :set paste<CR>mn"+p'n:set nopaste<CR>
-" Select clip
-nnoremap <silent>èèè_ :set paste<CR>mn"*p'n:set nopaste<CR>
-nmap <C-X> :TagbarToggle<CR>
-
ca tn tabnew
ca tc tabc
+map <F5> :setlocal spell! spelllang=fr<CR>
+map <F6> :setlocal spell! spelllang=en_us<CR>
+inoremap <F7> <C-r>=strftime('%F')<CR>
+inoremap <F8> <C-r>=strftime('%c')<CR>
+
+
+" Personal compil shortcurts
+map <F9> :make<CR>:cw<CR><CR>
+noremap <silent> [q :copen<CR>
+noremap <silent> ]q :cclose<CR>
+noremap <silent> [Q :cfirst<CR>
+noremap <silent> ]Q :clast<CR>
+noremap <silent> [[ :cprev<CR>
+noremap <silent> ]] :cnext<CR>
+
"Allow vim clipboad <-> host clipboard to share data
set clipboard=unnamed
-
" Quick Comment :
-autocmd FileType c,cpp,java,go,scala let b:comment_leader = '//'
-autocmd FileType sh,ruby,python let b:comment_leader = '#'
-autocmd FileType conf,fstab let b:comment_leader = '#'
-autocmd FileType tex let b:comment_leader = '%'
-autocmd FileType mail let b:comment_leader = '>'
-autocmd FileType vim let b:comment_leader = '"'
-autocmd FileType haskell let b:comment_leader = '--'
-
+autocmd FileType c,cpp,java,go,scala,js let b:comment_leader = '//'
+autocmd FileType sh,ruby,python let b:comment_leader = '#'
+autocmd FileType conf,fstab let b:comment_leader = '#'
+autocmd FileType tex let b:comment_leader = '%'
+autocmd FileType mail let b:comment_leader = '>'
+autocmd FileType vim let b:comment_leader = '"'
+autocmd FileType haskell let b:comment_leader = '--'
autocmd FileType c,cpp,java,go,scala set foldmethod=syntax
-
noremap <silent> ,cc :<C-B>silent <C-E>s/^/<C-R>=escape(b:comment_leader,'\/')<CR>/<CR>:nohlsearch<CR>
noremap <silent> ,cu :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leader,'\/')<CR>//e<CR>:nohlsearch<CR>
@@ -108,19 +89,10 @@ noremap <silent> <c-c>c :<C-B>silent <C-E>s/^\V<C-R>=escape(b:comment_leade
nnoremap cd :cd %:p:h<CR>
nnoremap <silent> // :nohls<CR>
-map <F5> :setlocal spell! spelllang=fr<CR>
-map <F6> :setlocal spell! spelllang=en_us<CR>
-inoremap <F7> <C-r>=strftime('%F')<CR>
-inoremap <F8> <C-r>=strftime('%c')<CR>
-map <F9> :make<CR>:cw<CR><CR>
-noremap <silent> [q :copen<CR>
-noremap <silent> ]q :cclose<CR>
-noremap <silent> [Q :cfirst<CR>
-noremap <silent> ]Q :clast<CR>
-noremap <silent> [[ :cprev<CR>
-noremap <silent> ]] :cnext<CR>
+
+" Compil option
autocmd Filetype c call SetCCompiler()
function SetCCompiler()
if !(filereadable("makefile") || filereadable("Makefile"))
@@ -143,6 +115,8 @@ noremap <silent> zv :!markdown % \| w3m -I utf-8 -T text/html
+
+
set colorcolumn=80
set cursorcolumn
highlight CursorColumn ctermbg=Red
diff --git a/plugin/plugin_ultisnips.vim b/plugin/plugin_ultisnips.vim
deleted file mode 100755
index 0eafd77..0000000
--- a/plugin/plugin_ultisnips.vim
+++ /dev/null
@@ -1,5 +0,0 @@
-" plugin_ultisnips.vim
-" UltiSnips configuration
-
-" disable missing python support warning
-let g:UltiSnipsNoPythonWarning = 1
diff --git a/plugin/plugin_unite.vim b/plugin/plugin_unite.vim
deleted file mode 100755
index 21e8861..0000000
--- a/plugin/plugin_unite.vim
+++ /dev/null
@@ -1,15 +0,0 @@
-" plugin_unite.vim
-
-" Bindings
-
-" Search files in current dir
-nnoremap <C-p> :Unite -start-insert file_rec/async<CR>
-" Find pattern in current directory
-nnoremap <Space>/ :Unite grep:.<CR>
-" Search in buffers
-nnoremap <Space>s :Unite buffer<CR>
-
-" Search word under cursor
-noremap <silent> <Space>* :Unite grep:.::<C-R><C-w><CR>
-
-let g:unite_source_rec_async_command = 'ag --follow --nocolor --nogroup --hidden -g ""'
diff --git a/plugin/search.vim b/plugin/search.vim
index b374cfd..e5d46b3 100755
--- a/plugin/search.vim
+++ b/plugin/search.vim
@@ -7,3 +7,4 @@ set incsearch
set gdefault
set showmatch
+set mat=2
diff --git a/plugin/trailing-spaces.vim b/plugin/trailing-spaces.vim
deleted file mode 100755
index 19bffeb..0000000
--- a/plugin/trailing-spaces.vim
+++ /dev/null
@@ -1,7 +0,0 @@
-" trailing-spaces.vim
-" Trailing whitespaces highlighting
-
-highlight ExtraWhitespace ctermbg=darkred
-highlight CursorLine term=bold cterm=bold
-" Show trailing whitepace and spaces before a tab:
-autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL
diff --git a/plugin/vim-airline.vim b/plugin/vim-airline.vim
deleted file mode 100755
index 6152db7..0000000
--- a/plugin/vim-airline.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-" vim-airline.vim
-" vim-airline configuration
-
-let g:airline_left_sep=''
-let g:airline_right_sep=''
-let g:airline_theme='tomorrow'
diff --git a/rgb.txt b/rgb.txt
deleted file mode 100644
index 5bc2baa..0000000
--- a/rgb.txt
+++ /dev/null
@@ -1,753 +0,0 @@
-! $XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp $
-255 250 250 snow
-248 248 255 ghost white
-248 248 255 GhostWhite
-245 245 245 white smoke
-245 245 245 WhiteSmoke
-220 220 220 gainsboro
-255 250 240 floral white
-255 250 240 FloralWhite
-253 245 230 old lace
-253 245 230 OldLace
-250 240 230 linen
-250 235 215 antique white
-250 235 215 AntiqueWhite
-255 239 213 papaya whip
-255 239 213 PapayaWhip
-255 235 205 blanched almond
-255 235 205 BlanchedAlmond
-255 228 196 bisque
-255 218 185 peach puff
-255 218 185 PeachPuff
-255 222 173 navajo white
-255 222 173 NavajoWhite
-255 228 181 moccasin
-255 248 220 cornsilk
-255 255 240 ivory
-255 250 205 lemon chiffon
-255 250 205 LemonChiffon
-255 245 238 seashell
-240 255 240 honeydew
-245 255 250 mint cream
-245 255 250 MintCream
-240 255 255 azure
-240 248 255 alice blue
-240 248 255 AliceBlue
-230 230 250 lavender
-255 240 245 lavender blush
-255 240 245 LavenderBlush
-255 228 225 misty rose
-255 228 225 MistyRose
-255 255 255 white
- 0 0 0 black
- 47 79 79 dark slate gray
- 47 79 79 DarkSlateGray
- 47 79 79 dark slate grey
- 47 79 79 DarkSlateGrey
-105 105 105 dim gray
-105 105 105 DimGray
-105 105 105 dim grey
-105 105 105 DimGrey
-112 128 144 slate gray
-112 128 144 SlateGray
-112 128 144 slate grey
-112 128 144 SlateGrey
-119 136 153 light slate gray
-119 136 153 LightSlateGray
-119 136 153 light slate grey
-119 136 153 LightSlateGrey
-190 190 190 gray
-190 190 190 grey
-211 211 211 light grey
-211 211 211 LightGrey
-211 211 211 light gray
-211 211 211 LightGray
- 25 25 112 midnight blue
- 25 25 112 MidnightBlue
- 0 0 128 navy
- 0 0 128 navy blue
- 0 0 128 NavyBlue
-100 149 237 cornflower blue
-100 149 237 CornflowerBlue
- 72 61 139 dark slate blue
- 72 61 139 DarkSlateBlue
-106 90 205 slate blue
-106 90 205 SlateBlue
-123 104 238 medium slate blue
-123 104 238 MediumSlateBlue
-132 112 255 light slate blue
-132 112 255 LightSlateBlue
- 0 0 205 medium blue
- 0 0 205 MediumBlue
- 65 105 225 royal blue
- 65 105 225 RoyalBlue
- 0 0 255 blue
- 30 144 255 dodger blue
- 30 144 255 DodgerBlue
- 0 191 255 deep sky blue
- 0 191 255 DeepSkyBlue
-135 206 235 sky blue
-135 206 235 SkyBlue
-135 206 250 light sky blue
-135 206 250 LightSkyBlue
- 70 130 180 steel blue
- 70 130 180 SteelBlue
-176 196 222 light steel blue
-176 196 222 LightSteelBlue
-173 216 230 light blue
-173 216 230 LightBlue
-176 224 230 powder blue
-176 224 230 PowderBlue
-175 238 238 pale turquoise
-175 238 238 PaleTurquoise
- 0 206 209 dark turquoise
- 0 206 209 DarkTurquoise
- 72 209 204 medium turquoise
- 72 209 204 MediumTurquoise
- 64 224 208 turquoise
- 0 255 255 cyan
-224 255 255 light cyan
-224 255 255 LightCyan
- 95 158 160 cadet blue
- 95 158 160 CadetBlue
-102 205 170 medium aquamarine
-102 205 170 MediumAquamarine
-127 255 212 aquamarine
- 0 100 0 dark green
- 0 100 0 DarkGreen
- 85 107 47 dark olive green
- 85 107 47 DarkOliveGreen
-143 188 143 dark sea green
-143 188 143 DarkSeaGreen
- 46 139 87 sea green
- 46 139 87 SeaGreen
- 60 179 113 medium sea green
- 60 179 113 MediumSeaGreen
- 32 178 170 light sea green
- 32 178 170 LightSeaGreen
-152 251 152 pale green
-152 251 152 PaleGreen
- 0 255 127 spring green
- 0 255 127 SpringGreen
-124 252 0 lawn green
-124 252 0 LawnGreen
- 0 255 0 green
-127 255 0 chartreuse
- 0 250 154 medium spring green
- 0 250 154 MediumSpringGreen
-173 255 47 green yellow
-173 255 47 GreenYellow
- 50 205 50 lime green
- 50 205 50 LimeGreen
-154 205 50 yellow green
-154 205 50 YellowGreen
- 34 139 34 forest green
- 34 139 34 ForestGreen
-107 142 35 olive drab
-107 142 35 OliveDrab
-189 183 107 dark khaki
-189 183 107 DarkKhaki
-240 230 140 khaki
-238 232 170 pale goldenrod
-238 232 170 PaleGoldenrod
-250 250 210 light goldenrod yellow
-250 250 210 LightGoldenrodYellow
-255 255 224 light yellow
-255 255 224 LightYellow
-255 255 0 yellow
-255 215 0 gold
-238 221 130 light goldenrod
-238 221 130 LightGoldenrod
-218 165 32 goldenrod
-184 134 11 dark goldenrod
-184 134 11 DarkGoldenrod
-188 143 143 rosy brown
-188 143 143 RosyBrown
-205 92 92 indian red
-205 92 92 IndianRed
-139 69 19 saddle brown
-139 69 19 SaddleBrown
-160 82 45 sienna
-205 133 63 peru
-222 184 135 burlywood
-245 245 220 beige
-245 222 179 wheat
-244 164 96 sandy brown
-244 164 96 SandyBrown
-210 180 140 tan
-210 105 30 chocolate
-178 34 34 firebrick
-165 42 42 brown
-233 150 122 dark salmon
-233 150 122 DarkSalmon
-250 128 114 salmon
-255 160 122 light salmon
-255 160 122 LightSalmon
-255 165 0 orange
-255 140 0 dark orange
-255 140 0 DarkOrange
-255 127 80 coral
-240 128 128 light coral
-240 128 128 LightCoral
-255 99 71 tomato
-255 69 0 orange red
-255 69 0 OrangeRed
-255 0 0 red
-255 105 180 hot pink
-255 105 180 HotPink
-255 20 147 deep pink
-255 20 147 DeepPink
-255 192 203 pink
-255 182 193 light pink
-255 182 193 LightPink
-219 112 147 pale violet red
-219 112 147 PaleVioletRed
-176 48 96 maroon
-199 21 133 medium violet red
-199 21 133 MediumVioletRed
-208 32 144 violet red
-208 32 144 VioletRed
-255 0 255 magenta
-238 130 238 violet
-221 160 221 plum
-218 112 214 orchid
-186 85 211 medium orchid
-186 85 211 MediumOrchid
-153 50 204 dark orchid
-153 50 204 DarkOrchid
-148 0 211 dark violet
-148 0 211 DarkViolet
-138 43 226 blue violet
-138 43 226 BlueViolet
-160 32 240 purple
-147 112 219 medium purple
-147 112 219 MediumPurple
-216 191 216 thistle
-255 250 250 snow1
-238 233 233 snow2
-205 201 201 snow3
-139 137 137 snow4
-255 245 238 seashell1
-238 229 222 seashell2
-205 197 191 seashell3
-139 134 130 seashell4
-255 239 219 AntiqueWhite1
-238 223 204 AntiqueWhite2
-205 192 176 AntiqueWhite3
-139 131 120 AntiqueWhite4
-255 228 196 bisque1
-238 213 183 bisque2
-205 183 158 bisque3
-139 125 107 bisque4
-255 218 185 PeachPuff1
-238 203 173 PeachPuff2
-205 175 149 PeachPuff3
-139 119 101 PeachPuff4
-255 222 173 NavajoWhite1
-238 207 161 NavajoWhite2
-205 179 139 NavajoWhite3
-139 121 94 NavajoWhite4
-255 250 205 LemonChiffon1
-238 233 191 LemonChiffon2
-205 201 165 LemonChiffon3
-139 137 112 LemonChiffon4
-255 248 220 cornsilk1
-238 232 205 cornsilk2
-205 200 177 cornsilk3
-139 136 120 cornsilk4
-255 255 240 ivory1
-238 238 224 ivory2
-205 205 193 ivory3
-139 139 131 ivory4
-240 255 240 honeydew1
-224 238 224 honeydew2
-193 205 193 honeydew3
-131 139 131 honeydew4
-255 240 245 LavenderBlush1
-238 224 229 LavenderBlush2
-205 193 197 LavenderBlush3
-139 131 134 LavenderBlush4
-255 228 225 MistyRose1
-238 213 210 MistyRose2
-205 183 181 MistyRose3
-139 125 123 MistyRose4
-240 255 255 azure1
-224 238 238 azure2
-193 205 205 azure3
-131 139 139 azure4
-131 111 255 SlateBlue1
-122 103 238 SlateBlue2
-105 89 205 SlateBlue3
- 71 60 139 SlateBlue4
- 72 118 255 RoyalBlue1
- 67 110 238 RoyalBlue2
- 58 95 205 RoyalBlue3
- 39 64 139 RoyalBlue4
- 0 0 255 blue1
- 0 0 238 blue2
- 0 0 205 blue3
- 0 0 139 blue4
- 30 144 255 DodgerBlue1
- 28 134 238 DodgerBlue2
- 24 116 205 DodgerBlue3
- 16 78 139 DodgerBlue4
- 99 184 255 SteelBlue1
- 92 172 238 SteelBlue2
- 79 148 205 SteelBlue3
- 54 100 139 SteelBlue4
- 0 191 255 DeepSkyBlue1
- 0 178 238 DeepSkyBlue2
- 0 154 205 DeepSkyBlue3
- 0 104 139 DeepSkyBlue4
-135 206 255 SkyBlue1
-126 192 238 SkyBlue2
-108 166 205 SkyBlue3
- 74 112 139 SkyBlue4
-176 226 255 LightSkyBlue1
-164 211 238 LightSkyBlue2
-141 182 205 LightSkyBlue3
- 96 123 139 LightSkyBlue4
-198 226 255 SlateGray1
-185 211 238 SlateGray2
-159 182 205 SlateGray3
-108 123 139 SlateGray4
-202 225 255 LightSteelBlue1
-188 210 238 LightSteelBlue2
-162 181 205 LightSteelBlue3
-110 123 139 LightSteelBlue4
-191 239 255 LightBlue1
-178 223 238 LightBlue2
-154 192 205 LightBlue3
-104 131 139 LightBlue4
-224 255 255 LightCyan1
-209 238 238 LightCyan2
-180 205 205 LightCyan3
-122 139 139 LightCyan4
-187 255 255 PaleTurquoise1
-174 238 238 PaleTurquoise2
-150 205 205 PaleTurquoise3
-102 139 139 PaleTurquoise4
-152 245 255 CadetBlue1
-142 229 238 CadetBlue2
-122 197 205 CadetBlue3
- 83 134 139 CadetBlue4
- 0 245 255 turquoise1
- 0 229 238 turquoise2
- 0 197 205 turquoise3
- 0 134 139 turquoise4
- 0 255 255 cyan1
- 0 238 238 cyan2
- 0 205 205 cyan3
- 0 139 139 cyan4
-151 255 255 DarkSlateGray1
-141 238 238 DarkSlateGray2
-121 205 205 DarkSlateGray3
- 82 139 139 DarkSlateGray4
-127 255 212 aquamarine1
-118 238 198 aquamarine2
-102 205 170 aquamarine3
- 69 139 116 aquamarine4
-193 255 193 DarkSeaGreen1
-180 238 180 DarkSeaGreen2
-155 205 155 DarkSeaGreen3
-105 139 105 DarkSeaGreen4
- 84 255 159 SeaGreen1
- 78 238 148 SeaGreen2
- 67 205 128 SeaGreen3
- 46 139 87 SeaGreen4
-154 255 154 PaleGreen1
-144 238 144 PaleGreen2
-124 205 124 PaleGreen3
- 84 139 84 PaleGreen4
- 0 255 127 SpringGreen1
- 0 238 118 SpringGreen2
- 0 205 102 SpringGreen3
- 0 139 69 SpringGreen4
- 0 255 0 green1
- 0 238 0 green2
- 0 205 0 green3
- 0 139 0 green4
-127 255 0 chartreuse1
-118 238 0 chartreuse2
-102 205 0 chartreuse3
- 69 139 0 chartreuse4
-192 255 62 OliveDrab1
-179 238 58 OliveDrab2
-154 205 50 OliveDrab3
-105 139 34 OliveDrab4
-202 255 112 DarkOliveGreen1
-188 238 104 DarkOliveGreen2
-162 205 90 DarkOliveGreen3
-110 139 61 DarkOliveGreen4
-255 246 143 khaki1
-238 230 133 khaki2
-205 198 115 khaki3
-139 134 78 khaki4
-255 236 139 LightGoldenrod1
-238 220 130 LightGoldenrod2
-205 190 112 LightGoldenrod3
-139 129 76 LightGoldenrod4
-255 255 224 LightYellow1
-238 238 209 LightYellow2
-205 205 180 LightYellow3
-139 139 122 LightYellow4
-255 255 0 yellow1
-238 238 0 yellow2
-205 205 0 yellow3
-139 139 0 yellow4
-255 215 0 gold1
-238 201 0 gold2
-205 173 0 gold3
-139 117 0 gold4
-255 193 37 goldenrod1
-238 180 34 goldenrod2
-205 155 29 goldenrod3
-139 105 20 goldenrod4
-255 185 15 DarkGoldenrod1
-238 173 14 DarkGoldenrod2
-205 149 12 DarkGoldenrod3
-139 101 8 DarkGoldenrod4
-255 193 193 RosyBrown1
-238 180 180 RosyBrown2
-205 155 155 RosyBrown3
-139 105 105 RosyBrown4
-255 106 106 IndianRed1
-238 99 99 IndianRed2
-205 85 85 IndianRed3
-139 58 58 IndianRed4
-255 130 71 sienna1
-238 121 66 sienna2
-205 104 57 sienna3
-139 71 38 sienna4
-255 211 155 burlywood1
-238 197 145 burlywood2
-205 170 125 burlywood3
-139 115 85 burlywood4
-255 231 186 wheat1
-238 216 174 wheat2
-205 186 150 wheat3
-139 126 102 wheat4
-255 165 79 tan1
-238 154 73 tan2
-205 133 63 tan3
-139 90 43 tan4
-255 127 36 chocolate1
-238 118 33 chocolate2
-205 102 29 chocolate3
-139 69 19 chocolate4
-255 48 48 firebrick1
-238 44 44 firebrick2
-205 38 38 firebrick3
-139 26 26 firebrick4
-255 64 64 brown1
-238 59 59 brown2
-205 51 51 brown3
-139 35 35 brown4
-255 140 105 salmon1
-238 130 98 salmon2
-205 112 84 salmon3
-139 76 57 salmon4
-255 160 122 LightSalmon1
-238 149 114 LightSalmon2
-205 129 98 LightSalmon3
-139 87 66 LightSalmon4
-255 165 0 orange1
-238 154 0 orange2
-205 133 0 orange3
-139 90 0 orange4
-255 127 0 DarkOrange1
-238 118 0 DarkOrange2
-205 102 0 DarkOrange3
-139 69 0 DarkOrange4
-255 114 86 coral1
-238 106 80 coral2
-205 91 69 coral3
-139 62 47 coral4
-255 99 71 tomato1
-238 92 66 tomato2
-205 79 57 tomato3
-139 54 38 tomato4
-255 69 0 OrangeRed1
-238 64 0 OrangeRed2
-205 55 0 OrangeRed3
-139 37 0 OrangeRed4
-255 0 0 red1
-238 0 0 red2
-205 0 0 red3
-139 0 0 red4
-255 20 147 DeepPink1
-238 18 137 DeepPink2
-205 16 118 DeepPink3
-139 10 80 DeepPink4
-255 110 180 HotPink1
-238 106 167 HotPink2
-205 96 144 HotPink3
-139 58 98 HotPink4
-255 181 197 pink1
-238 169 184 pink2
-205 145 158 pink3
-139 99 108 pink4
-255 174 185 LightPink1
-238 162 173 LightPink2
-205 140 149 LightPink3
-139 95 101 LightPink4
-255 130 171 PaleVioletRed1
-238 121 159 PaleVioletRed2
-205 104 137 PaleVioletRed3
-139 71 93 PaleVioletRed4
-255 52 179 maroon1
-238 48 167 maroon2
-205 41 144 maroon3
-139 28 98 maroon4
-255 62 150 VioletRed1
-238 58 140 VioletRed2
-205 50 120 VioletRed3
-139 34 82 VioletRed4
-255 0 255 magenta1
-238 0 238 magenta2
-205 0 205 magenta3
-139 0 139 magenta4
-255 131 250 orchid1
-238 122 233 orchid2
-205 105 201 orchid3
-139 71 137 orchid4
-255 187 255 plum1
-238 174 238 plum2
-205 150 205 plum3
-139 102 139 plum4
-224 102 255 MediumOrchid1
-209 95 238 MediumOrchid2
-180 82 205 MediumOrchid3
-122 55 139 MediumOrchid4
-191 62 255 DarkOrchid1
-178 58 238 DarkOrchid2
-154 50 205 DarkOrchid3
-104 34 139 DarkOrchid4
-155 48 255 purple1
-145 44 238 purple2
-125 38 205 purple3
- 85 26 139 purple4
-171 130 255 MediumPurple1
-159 121 238 MediumPurple2
-137 104 205 MediumPurple3
- 93 71 139 MediumPurple4
-255 225 255 thistle1
-238 210 238 thistle2
-205 181 205 thistle3
-139 123 139 thistle4
- 0 0 0 gray0
- 0 0 0 grey0
- 3 3 3 gray1
- 3 3 3 grey1
- 5 5 5 gray2
- 5 5 5 grey2
- 8 8 8 gray3
- 8 8 8 grey3
- 10 10 10 gray4
- 10 10 10 grey4
- 13 13 13 gray5
- 13 13 13 grey5
- 15 15 15 gray6
- 15 15 15 grey6
- 18 18 18 gray7
- 18 18 18 grey7
- 20 20 20 gray8
- 20 20 20 grey8
- 23 23 23 gray9
- 23 23 23 grey9
- 26 26 26 gray10
- 26 26 26 grey10
- 28 28 28 gray11
- 28 28 28 grey11
- 31 31 31 gray12
- 31 31 31 grey12
- 33 33 33 gray13
- 33 33 33 grey13
- 36 36 36 gray14
- 36 36 36 grey14
- 38 38 38 gray15
- 38 38 38 grey15
- 41 41 41 gray16
- 41 41 41 grey16
- 43 43 43 gray17
- 43 43 43 grey17
- 46 46 46 gray18
- 46 46 46 grey18
- 48 48 48 gray19
- 48 48 48 grey19
- 51 51 51 gray20
- 51 51 51 grey20
- 54 54 54 gray21
- 54 54 54 grey21
- 56 56 56 gray22
- 56 56 56 grey22
- 59 59 59 gray23
- 59 59 59 grey23
- 61 61 61 gray24
- 61 61 61 grey24
- 64 64 64 gray25
- 64 64 64 grey25
- 66 66 66 gray26
- 66 66 66 grey26
- 69 69 69 gray27
- 69 69 69 grey27
- 71 71 71 gray28
- 71 71 71 grey28
- 74 74 74 gray29
- 74 74 74 grey29
- 77 77 77 gray30
- 77 77 77 grey30
- 79 79 79 gray31
- 79 79 79 grey31
- 82 82 82 gray32
- 82 82 82 grey32
- 84 84 84 gray33
- 84 84 84 grey33
- 87 87 87 gray34
- 87 87 87 grey34
- 89 89 89 gray35
- 89 89 89 grey35
- 92 92 92 gray36
- 92 92 92 grey36
- 94 94 94 gray37
- 94 94 94 grey37
- 97 97 97 gray38
- 97 97 97 grey38
- 99 99 99 gray39
- 99 99 99 grey39
-102 102 102 gray40
-102 102 102 grey40
-105 105 105 gray41
-105 105 105 grey41
-107 107 107 gray42
-107 107 107 grey42
-110 110 110 gray43
-110 110 110 grey43
-112 112 112 gray44
-112 112 112 grey44
-115 115 115 gray45
-115 115 115 grey45
-117 117 117 gray46
-117 117 117 grey46
-120 120 120 gray47
-120 120 120 grey47
-122 122 122 gray48
-122 122 122 grey48
-125 125 125 gray49
-125 125 125 grey49
-127 127 127 gray50
-127 127 127 grey50
-130 130 130 gray51
-130 130 130 grey51
-133 133 133 gray52
-133 133 133 grey52
-135 135 135 gray53
-135 135 135 grey53
-138 138 138 gray54
-138 138 138 grey54
-140 140 140 gray55
-140 140 140 grey55
-143 143 143 gray56
-143 143 143 grey56
-145 145 145 gray57
-145 145 145 grey57
-148 148 148 gray58
-148 148 148 grey58
-150 150 150 gray59
-150 150 150 grey59
-153 153 153 gray60
-153 153 153 grey60
-156 156 156 gray61
-156 156 156 grey61
-158 158 158 gray62
-158 158 158 grey62
-161 161 161 gray63
-161 161 161 grey63
-163 163 163 gray64
-163 163 163 grey64
-166 166 166 gray65
-166 166 166 grey65
-168 168 168 gray66
-168 168 168 grey66
-171 171 171 gray67
-171 171 171 grey67
-173 173 173 gray68
-173 173 173 grey68
-176 176 176 gray69
-176 176 176 grey69
-179 179 179 gray70
-179 179 179 grey70
-181 181 181 gray71
-181 181 181 grey71
-184 184 184 gray72
-184 184 184 grey72
-186 186 186 gray73
-186 186 186 grey73
-189 189 189 gray74
-189 189 189 grey74
-191 191 191 gray75
-191 191 191 grey75
-194 194 194 gray76
-194 194 194 grey76
-196 196 196 gray77
-196 196 196 grey77
-199 199 199 gray78
-199 199 199 grey78
-201 201 201 gray79
-201 201 201 grey79
-204 204 204 gray80
-204 204 204 grey80
-207 207 207 gray81
-207 207 207 grey81
-209 209 209 gray82
-209 209 209 grey82
-212 212 212 gray83
-212 212 212 grey83
-214 214 214 gray84
-214 214 214 grey84
-217 217 217 gray85
-217 217 217 grey85
-219 219 219 gray86
-219 219 219 grey86
-222 222 222 gray87
-222 222 222 grey87
-224 224 224 gray88
-224 224 224 grey88
-227 227 227 gray89
-227 227 227 grey89
-229 229 229 gray90
-229 229 229 grey90
-232 232 232 gray91
-232 232 232 grey91
-235 235 235 gray92
-235 235 235 grey92
-237 237 237 gray93
-237 237 237 grey93
-240 240 240 gray94
-240 240 240 grey94
-242 242 242 gray95
-242 242 242 grey95
-245 245 245 gray96
-245 245 245 grey96
-247 247 247 gray97
-247 247 247 grey97
-250 250 250 gray98
-250 250 250 grey98
-252 252 252 gray99
-252 252 252 grey99
-255 255 255 gray100
-255 255 255 grey100
-169 169 169 dark grey
-169 169 169 DarkGrey
-169 169 169 dark gray
-169 169 169 DarkGray
-0 0 139 dark blue
-0 0 139 DarkBlue
-0 139 139 dark cyan
-0 139 139 DarkCyan
-139 0 139 dark magenta
-139 0 139 DarkMagenta
-139 0 0 dark red
-139 0 0 DarkRed
-144 238 144 light green
-144 238 144 LightGreen
diff --git a/syntax/haskell.vim b/syntax/haskell.vim
deleted file mode 100644
index 00ca9dd..0000000
--- a/syntax/haskell.vim
+++ /dev/null
@@ -1,181 +0,0 @@
-" Vim syntax file
-" Language: Haskell
-" Maintainer: Rui Carlos A. Goncalves <rcgoncalves.pt@gmail.com>
-" Last Change: September 15, 2010
-"
-" Version: 2.0
-" Url: http://rcgoncalves.net/files/haskell.zip
-"
-" Original Author: John Williams <jrw@pobox.com>
-
-" Remove any old syntax stuff hanging around
-if version < 600
- syn clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-
-" (Qualified) identifiers (no default highlighting)
-syn match ConId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[A-Z][a-zA-Z0-9_']*\>"
-syn match VarId "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=\<[a-z][a-zA-Z0-9_']*\>"
-
-
-" Infix operators--most punctuation characters and any (qualified) identifier
-" enclosed in `backquotes`. An operator starting with : is a constructor,
-" others are variables (e.g. functions).
-syn match hsVarSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[-!#$%&\*\+/<=>\?@\\^|~.][-!#$%&\*\+/<=>\?@\\^|~:.]*"
-syn match hsConSym "\(\<[A-Z][a-zA-Z0-9_']*\.\)\=:[-!#$%&\*\+./<=>\?@\\^|~:]*"
-syn match hsVarSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[a-z][a-zA-Z0-9_']*`"
-syn match hsConSym "`\(\<[A-Z][a-zA-Z0-9_']*\.\)\=[A-Z][a-zA-Z0-9_']*`"
-
-
-" Reserved symbols--cannot be overloaded.
-syn match hsDelimiter "(\|)\|\[\|\]\|,\|;\|_\|{\|}"
-
-
-" Strings and constants
-syn match hsSpecialChar contained "\\\([0-9]\+\|o[0-7]\+\|x[0-9a-fA-F]\+\|[\"\\'&\\abfnrtv]\|^[A-Z^_\[\\\]]\)"
-syn match hsSpecialChar contained "\\\(NUL\|SOH\|STX\|ETX\|EOT\|ENQ\|ACK\|BEL\|BS\|HT\|LF\|VT\|FF\|CR\|SO\|SI\|DLE\|DC1\|DC2\|DC3\|DC4\|NAK\|SYN\|ETB\|CAN\|EM\|SUB\|ESC\|FS\|GS\|RS\|US\|SP\|DEL\)"
-syn match hsSpecialCharError contained "\\&\|'''\+"
-syn region hsString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=hsSpecialChar
-syn match hsCharacter "[^a-zA-Z0-9_']'\([^\\]\|\\[^']\+\|\\'\)'"lc=1 contains=hsSpecialChar,hsSpecialCharError
-syn match hsCharacter "^'\([^\\]\|\\[^']\+\|\\'\)'" contains=hsSpecialChar,hsSpecialCharError
-syn match hsNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
-syn match hsFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
-
-
-" Keyword definitions. These must be patters instead of keywords
-" because otherwise they would match as keywords at the start of a
-" "literate" comment (see lhs.vim).
-syn match hsModule "\<module\>"
-syn match hsImport "\<import\>.*"he=s+6 contains=hsImportMod,hsString,hsType,hsFunction
-syn match hsImportMod contained "\<\(as\|qualified\|hiding\)\>"
-syn match hsInfix "\<\(infix\|infixl\|infixr\)\>"
-syn match hsStructure "\<\(class\|data\|deriving\|instance\|default\|where\)\>"
-syn match hsTypedef "\<\(type\|newtype\)\>"
-syn match hsStatement "\<\(do\|return\|case\|of\|let\|in\)\>"
-syn match hsConditional "\<\(if\|then\|else\)\>"
-" Haskell 2010 keywords
-syn match hsForeign "\<foreign\>"
-
-" Types from the standard prelude.
-syn match hsType "\<\(Bool\|Maybe\|Either\|Ordering\)\>"
-syn match hsType "\<\(Char\|String\|Int\|Integer\|Float\|Double\|Rational\|IO\)\>"
-syn match hsType "\<\(ReadS\|ShowS\)\>"
-syn match hsType "\<\(FilePath\|IOError\)\>"
-
-" Classes from the standard prelude
-syn match hsType "\<\(Eq\|Ord\|Enum\|Bounded\|Num\|Real\|Integral\|Fractional\|Floating\|RealFrac\|RealFloat\|Monad\|Functor\)\>"
-syn match hsType "\<\(Show\|Read\)\>"
-
-
-" Constants from the standard prelude.
-syn match hsBoolean "\<\(True\|False\)\>"
-syn match hsMaybe "\<\(Nothing\|Just\)\>"
-syn match hsConstant "\<\(Left\|Right\)\>"
-syn match hsOrdering "\<\(LT\|EQ\|GT\)\>"
-
-
-" Functions from the standard prelude.
-syn match hsFunction "\<\(compare\|max\|min\)\>"
-syn match hsFunction "\<\(succ\|pred\|toEnum\|fromEnum\|enumFrom\|enumFromThen\|enumFromTo\|enumFromThenTo\)\>"
-syn match hsFunction "\<\(minBound\|maxBound\)\>"
-syn match hsFunction "\<\(negate\|abs\|signum\|fromInteger\)\>"
-syn match hsFunction "\<toRational\>"
-syn match hsFunction "\<\(quot\|rem\|div\|mod\|quotRem\|divMod\|toInteger\)\>"
-syn match hsFunction "\<\(recip\|fromRational\)\>"
-syn match hsFunction "\<\(pi\|exp\|log\|sqrt\|logBase\|sin\|cos\|tan\|asin\|acos\|atan\|sinh\|cosh\|tanh\|asinh\|acosh\|atanh\)\>"
-syn match hsFunction "\<\(properFraction\|truncate\|round\|ceiling\|floor\)\>"
-syn match hsFunction "\<\(floatRadix\|floatDigits\|floatRange\|decodeFloat\|encodeFloat\|exponent\|significand\|scaleFloat\|isNaN\|isInfinite\|isDenormalized\|isIEEE\|isNegativeZero\|atan2\)\>"
-syn match hsFunction "\<\(return\|fail\)\>"
-syn match hsFunction "\<\(fmap\)\>"
-syn match hsFunction "\<\(mapM\|mapM_\|sequence\|sequence_\)\>"
-syn match hsFunction "\<\(maybe\|either\)\>"
-syn match hsFunction "\<\(not\|otherwise\)\>"
-syn match hsFunction "\<\(subtract\|even\|odd\|gcd\|lcm\)\>"
-syn match hsFunction "\<\(fromIntegral\|realToFrac\)\>"
-syn match hsFunction "\<\(fst\|snd\|curry\|uncurry\|id\|const\|flip\|until\)\>"
-syn match hsFunction "\<\(asTypeOf\|error\|undefined\)\>"
-syn match hsFunction "\<\(seq\)\>"
-syn match hsFunction "\<\(map\|filter\|concat\|concatMap\)\>"
-syn match hsFunction "\<\(head\|last\|tail\|init\|null\|length\)\>"
-syn match hsFunction "\<\(foldl\|foldl1\|scanl\|scanl1\|foldr\|foldr1\|scanr\|scanr1\)\>"
-syn match hsFunction "\<\(iterate\|repeat\|replicate\|cycle\)\>"
-syn match hsFunction "\<\(take\|drop\|splitAt\|takeWhile\|dropWhile\|span\|break\)\>"
-syn match hsFunction "\<\(lines\|words\|unlines\|unwords\|reverse\|and\|or\)\>"
-syn match hsFunction "\<\(any\|all\|elem\|notElem\|lookup\)\>"
-syn match hsFunction "\<\(sum\|product\|maximum\|minimum\)\>"
-syn match hsFunction "\<\(zip\|zip3\|zipWith\|zipWith3\|unzip\|unzip3\)\>"
-syn match hsFunction "\<\(readsPrec\|readList\)\>"
-syn match hsFunction "\<\(showsPrec\|show\|showList\)\>"
-syn match hsFunction "\<\(reads\|shows\|read\|lex\)\>"
-syn match hsFunction "\<\(showChar\|showString\|readParen\|showParen\)\>"
-syn match hsFunction "\<\(ioError\|userError\|catch\)\>"
-syn match hsFunction "\<\(putChar\|putStr\|putStrLn\|print\)\>"
-syn match hsFunction "\<\(getChar\|getLine\|getContents\|interact\)\>"
-syn match hsFunction "\<\(readFile\|writeFile\|appendFile\|readIO\|readLn\)\>"
-
-
-" Comments
-syn match hsLineComment "--.*"
-syn region hsBlockComment start="{-" end="-}" contains=hsBlockComment
-syn region hsPragma start="{-#" end="#-}"
-
-" Literate comments--any line not starting with '>' is a comment.
-if exists("b:hs_literate_comments")
- syn region hsLiterateComment start="^" end="^>"
-endif
-
-
-if !exists("hs_minlines")
- let hs_minlines = 50
-endif
-exec "syn sync lines=" . hs_minlines
-
-if version >= 508 || !exists("did_hs_syntax_inits")
- if version < 508
- let did_hs_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- hi link hsModule hsStructure
- hi link hsImport Include
- hi link hsImportMod hsImport
- hi link hsForeign hsImport
- hi link hsInfix PreProc
- hi link hsStructure Structure
- hi link hsStatement Statement
- hi link hsConditional Conditional
- hi link hsSpecialChar SpecialChar
- hi link hsTypedef Typedef
- hi link hsVarSym hsOperator
- hi link hsConSym hsOperator
- hi link hsOperator Operator
- hi link hsSpecialCharError Error
- hi link hsString String
- hi link hsCharacter Character
- hi link hsNumber Number
- hi link hsFloat Float
- hi link hsConditional Conditional
- hi link hsLiterateComment hsComment
- hi link hsBlockComment hsComment
- hi link hsLineComment hsComment
- hi link hsComment Comment
- hi link hsPragma SpecialComment
- hi link hsBoolean Boolean
- hi link hsType Type
- hi link hsForeignType Type
- hi link hsFunction Function
- hi link hsMaybe hsEnumConst
- hi link hsOrdering hsEnumConst
- hi link hsEnumConst Constant
- hi link hsConstant Constant
- hi link hsDebug Debug
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "haskell"
diff --git a/syntax/html.vim b/syntax/html.vim
deleted file mode 100644
index e97be5d..0000000
--- a/syntax/html.vim
+++ /dev/null
@@ -1,185 +0,0 @@
-" Vim syntax file
-" Language: HTML (version 5.1)
-" SVG (SVG 1.1 Second Edition)
-" MathML (MathML 3.0 Second Edition)
-" Last Change: 2017 Mar 07
-" License: Public domain
-" (but let me know if you like :) )
-"
-" Note: This file just add new tags from HTML 5
-" and don't replace default html.vim syntax file
-"
-" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
-" Changes: update to Draft 2016 Jan 13
-" add microdata Attributes
-" Maintainer: Rodrigo Machado <rcmachado@gmail.com>
-" URL: http://rm.blog.br/vim/syntax/html.vim
-" Modified: htdebeer <H.T.de.Beer@gmail.com>
-" Changes: add common SVG elements and attributes for inline SVG
-
-" Patch 7.4.1142
-if has("patch-7.4-1142")
- if has("win32")
- syn iskeyword @,48-57,_,128-167,224-235,-
- else
- syn iskeyword @,48-57,_,192-255,-
- endif
-endif
-
-" HTML 5 tags
-syn keyword htmlTagName contained article aside audio canvas command
-syn keyword htmlTagName contained datalist details dialog embed figcaption figure footer
-syn keyword htmlTagName contained header hgroup keygen main mark meter menu menuitem nav output
-syn keyword htmlTagName contained progress ruby rt rp rb rtc section source summary time track video data
-syn keyword htmlTagName contained template content shadow
-syn keyword htmlTagName contained wbr bdi
-syn keyword htmlTagName contained picture
-
-" SVG tags
-" http://www.w3.org/TR/SVG/
-" as found in http://www.w3.org/TR/SVG/eltindex.html
-syn keyword htmlTagName contained svg
-syn keyword htmlTagName contained altGlyph altGlyphDef altGlyphItem
-syn keyword htmlTagName contained animate animateColor animateMotion animateTransform
-syn keyword htmlTagName contained circle ellipse rect line polyline polygon image path
-syn keyword htmlTagName contained clipPath color-profile cursor
-syn keyword htmlTagName contained defs desc g symbol view use switch foreignObject
-syn keyword htmlTagName contained filter feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence
-syn keyword htmlTagName contained font font-face font-face-format font-face-name font-face-src font-face-uri
-syn keyword htmlTagName contained glyph glyphRef hkern
-syn keyword htmlTagName contained linearGradient marker mask pattern radialGradient set stop
-syn keyword htmlTagName contained missing-glyph mpath
-syn keyword htmlTagName contained text textPath tref tspan vkern
-syn keyword htmlTagName contained metadata title
-
-" MathML tags
-" https://www.w3.org/TR/MathML3/appendixi.html#index.elem
-syn keyword htmlTagName contained abs and annotation annotation-xml apply approx arccos arccosh arccot arccoth
-syn keyword htmlTagName contained arccsc arccsch arcsec arcsech arcsin arcsinh arctan arctanh arg bind
-syn keyword htmlTagName contained bvar card cartesianproduct cbytes ceiling cerror ci cn codomain complexes
-syn keyword htmlTagName contained compose condition conjugate cos cosh cot coth cs csc csch
-syn keyword htmlTagName contained csymbol curl declare degree determinant diff divergence divide domain domainofapplication
-syn keyword htmlTagName contained emptyset eq equivalent eulergamma exists exp exponentiale factorial factorof false
-syn keyword htmlTagName contained floor fn forall gcd geq grad gt ident image imaginary
-syn keyword htmlTagName contained imaginaryi implies in infinity int integers intersect interval inverse lambda
-syn keyword htmlTagName contained laplacian lcm leq limit list ln log logbase lowlimit lt
-syn keyword htmlTagName contained maction maligngroup malignmark math matrix matrixrow max mean median menclose
-syn keyword htmlTagName contained merror mfenced mfrac mglyph mi mi" min minus mlabeledtr mlongdiv
-syn keyword htmlTagName contained mmultiscripts mn mo mode moment momentabout mover mpadded mphantom mprescripts
-syn keyword htmlTagName contained mroot mrow ms mscarries mscarry msgroup msline mspace msqrt msrow
-syn keyword htmlTagName contained mstack mstyle msub msubsup msup mtable mtd mtext mtr munder
-syn keyword htmlTagName contained munderover naturalnumbers neq none not notanumber notin notprsubset notsubset or
-syn keyword htmlTagName contained otherwise outerproduct partialdiff pi piece piecewise plus power primes product
-syn keyword htmlTagName contained prsubset quotient rationals real reals reln rem root scalarproduct sdev
-syn keyword htmlTagName contained sec sech selector semantics sep set setdiff share sin sinh
-syn keyword htmlTagName contained span subset sum tan tanh tendsto times transpose true union
-syn keyword htmlTagName contained uplimit variance vector vectorproduct xor
-
-" Custom Element
-syn match htmlTagName contained "\<[a-z][-.0-9_a-z]*-[-.0-9_a-z]*\>"
-
-" HTML 5 arguments
-" Core Attributes
-syn keyword htmlArg contained accesskey class contenteditable contextmenu dir
-syn keyword htmlArg contained draggable hidden id is lang spellcheck style tabindex title translate
-" Event-handler Attributes
-syn keyword htmlArg contained onabort onblur oncanplay oncanplaythrough onchange
-syn keyword htmlArg contained onclick oncontextmenu ondblclick ondrag ondragend ondragenter ondragleave ondragover
-syn keyword htmlArg contained ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformchange
-syn keyword htmlArg contained onforminput oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata
-syn keyword htmlArg contained onloadedmetadata onloadstart onmousedown onmousemove onmouseout onmouseover onmouseup
-syn keyword htmlArg contained onmousewheel onpause onplay onplaying onprogress onratechange onreadystatechange
-syn keyword htmlArg contained onscroll onseeked onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate
-syn keyword htmlArg contained onvolumechange onwaiting
-" XML Attributes
-syn keyword htmlArg contained xml:lang xml:space xml:base xmlns
-" new features
-" <body>
-syn keyword htmlArg contained onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload
-syn keyword htmlArg contained onmessage onoffline ononline onpopstate onredo onresize onstorage onundo onunload
-" <video>, <audio>, <source>, <track>
-syn keyword htmlArg contained autoplay preload controls loop poster media kind charset srclang track playsinline
-" <form>, <input>, <button>
-syn keyword htmlArg contained form autocomplete autofocus list min max step
-syn keyword htmlArg contained formaction autofocus formenctype formmethod formtarget formnovalidate
-syn keyword htmlArg contained required placeholder pattern
-" <command>, <details>, <time>
-syn keyword htmlArg contained label icon open datetime-local pubdate
-" <script>
-syn keyword htmlArg contained async
-" <content>
-syn keyword htmlArg contained select
-" <iframe>
-syn keyword htmlArg contained seamless srcdoc sandbox allowfullscreen allowusermedia allowpaymentrequest
-" <picture>
-syn keyword htmlArg contained srcset sizes
-" <a>
-syn keyword htmlArg contained download media
-" <script>, <style>
-syn keyword htmlArg contained nonce
-" <area>, <a>, <img>, <iframe>, <link>
-syn keyword htmlArg contained referrerpolicy
-" https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute
-syn keyword htmlArg contained integrity crossorigin
-" <link>
-syn keyword htmlArg contained prefetch
-" syn keyword htmlArg contained preload
-
-" Custom Data Attributes
-" http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes
-syn match htmlArg "\<data[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
-
-" Vendor Extension Attributes
-" http://w3c.github.io/html/single-page.html#conformance-requirements-extensibility
-syn match htmlArg "\<x[-.0-9_a-z]*-[-.0-9_a-z]*\>" contained
-
-" Microdata
-" http://dev.w3.org/html5/md/
-syn keyword htmlArg contained itemid itemscope itemtype itemprop itemref
-
-" SVG
-" http://www.w3.org/TR/SVG/
-" Some common attributes from http://www.w3.org/TR/SVG/attindex.html
-syn keyword htmlArg contained accent-height accumulate additive alphabetic amplitude arabic-form ascent attributeName attributeType azimuth
-syn keyword htmlArg contained baseFrequency baseProfile bbox begin bias by
-syn keyword htmlArg contained calcMode cap-height class clipPathUnits contentScriptType contentStyleType cx cy
-syn keyword htmlArg contained d descent diffuseConstant divisor dur dx dy
-syn keyword htmlArg contained edgeMode elevation end exponent externalResourcesRequired
-syn keyword htmlArg contained fill filterRes filterUnits font-family font-size font-stretch font-style font-variant font-weight format format from fx fy
-syn keyword htmlArg contained g1 g2 glyph-name glyphRef gradientTransform gradientUnits
-syn keyword htmlArg contained hanging height horiz-adv-x horiz-origin-x horiz-origin-y
-syn keyword htmlArg contained id ideographic in in2 intercept
-syn keyword htmlArg contained k k1 k2 k3 k4 kernelMatrix kernelUnitLength keyPoints keySplines keyTimes
-syn keyword htmlArg contained lang lengthAdjust limitingConeAngle local
-syn keyword htmlArg contained markerHeight markerUnits markerWidth maskContentUnits maskUnits mathematical max media method min mode name
-syn keyword htmlArg contained numOctaves
-syn keyword htmlArg contained offset onabort onactivate onbegin onclick onend onerror onfocusin onfocusout onload onmousedown onmousemove onmouseout onmouseover onmouseup onrepeat onresize onscroll onunload onzoom operator order orient orientation origin overline-position overline-thickness
-syn keyword htmlArg contained panose-1 path pathLength patternContentUnits patternTransform patternUnits points pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits
-syn keyword htmlArg contained r radius refX refY rendering-intent repeatCount repeatDur requiredExtensions requiredFeatures restart result rotate rx ry
-syn keyword htmlArg contained scale seed slope spacing specularConstant specularExponent spreadMethod startOffset stdDeviation stemh stemv stitchTiles strikethrough-position strikethrough-thickness string surfaceScale systemLanguage
-syn keyword htmlArg contained tableValues target targetX targetY textLength title to transform type
-syn keyword htmlArg contained u1 u2 underline-position underline-thickness unicode unicode-range units-per-em
-syn keyword htmlArg contained v-alphabetic v-hanging v-ideographic v-mathematical values version vert-adv-y vert-origin-x vert-origin-y viewBox viewTarget
-syn keyword htmlArg contained width widths
-syn keyword htmlArg contained x x-height x1 x2 xChannelSelector xlink:actuate xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xml:lang xml:space
-syn keyword htmlArg contained y y1 y2 yChannelSelector
-syn keyword htmlArg contained z zoomAndPan
-syn keyword htmlArg contained alignment-baseline baseline-shift clip-path clip-rule clip color-interpolation-filters color-interpolation color-profile color-rendering color cursor direction display dominant-baseline enable-background fill-opacity fill-rule fill filter flood-color flood-opacity font-family font-size-adjust font-size font-stretch font-style font-variant font-weight glyph-orientation-horizontal glyph-orientation-vertical image-rendering kerning letter-spacing lighting-color marker-end marker-mid marker-start mask opacity overflow pointer-events shape-rendering stop-color stop-opacity stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width stroke text-anchor text-decoration text-rendering unicode-bidi visibility word-spacing writing-mode
-
-" MathML attributes
-" https://www.w3.org/TR/MathML3/chapter2.html#interf.toplevel.atts
-syn keyword htmlArg contained accent accentunder actiontype align alignmentscope altimg altimg-height altimg-valign altimg-width alttext
-syn keyword htmlArg contained annotation-xml background base baseline bevelled cd cdgroup charalign charspacing close
-syn keyword htmlArg contained closure color columnalign columnalignment columnlines columnspacing columnspan columnwidth crossout decimalpoint
-syn keyword htmlArg contained definitionURL denomalign depth display displaystyle edge encoding equalcolumns equalrows fence
-syn keyword htmlArg contained fontfamily fontsize fontstyle fontweight form frame framespacing groupalign height indentalign
-syn keyword htmlArg contained indentalignfirst indentalignlast indentshift indentshiftfirst indentshiftlast indenttarget index infixlinebreakstyle integer largeop
-syn keyword htmlArg contained leftoverhang length linebreak linebreakmultchar linebreakstyle lineleading linethickness location longdivstyle lquote
-syn keyword htmlArg contained lspace ltr macros math mathbackground mathcolor mathsize mathvariant maxsize maxwidth
-syn keyword htmlArg contained mediummathspace menclose minlabelspacing minsize mode movablelimits msgroup mslinethickness name nargs
-syn keyword htmlArg contained newline notation numalign number occurrence open order other overflow position
-syn keyword htmlArg contained rightoverhang role rowalign rowlines rowspacing rowspan rquote rspace schemaLocation scope
-syn keyword htmlArg contained scriptlevel scriptminsize scriptsize scriptsizemultiplier selection separator separators shift side stackalign
-syn keyword htmlArg contained stretchy subscriptshift superscriptshift symmetric thickmathspace thinmathspace type valign verythickmathspace verythinmathspace
-syn keyword htmlArg contained veryverythickmathspace veryverythinmathspace voffset width xref
-
diff --git a/syntax/javascript.vim b/syntax/javascript.vim
deleted file mode 100644
index 92bebc0..0000000
--- a/syntax/javascript.vim
+++ /dev/null
@@ -1,311 +0,0 @@
-" Vim syntax file
-" Language: JavaScript
-" Maintainer: Jose Elera Campana <https://github.com/jelera>
-" Last Modified: Wed 24 Feb 2016 03:35:03 AM CST
-" Version: 0.8.2
-" Credits: Zhao Yi, Claudio Fleiner, Scott Shattuck (This file is based
-" on their hard work), gumnos (From the #vim IRC Channel in
-" Freenode), all the contributors at this project's github page
-" (https://github.com/jelera/vim-javascript-syntax/graphs/contributors)
-
-if !exists("main_syntax")
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
- let main_syntax = 'javascript'
-endif
-
-" Drop fold if it set but vim doesn't support it.
-if version < 600 && exists("javaScript_fold")
- unlet javaScript_fold
-endif
-
-"" Remove dollar sign from identifier when embedded in a PHP file
-if &filetype == 'javascript'
- setlocal iskeyword+=$
-endif
-
-syntax sync fromstart
-
-"" syntax coloring for Node.js shebang line
-syntax match shebang "^#!.*"
-hi link shebang Comment
-
-" Statement Keywords {{{
-syntax keyword javaScriptSource import export from
-syntax keyword javaScriptIdentifier arguments this let var void yield async await const
-syntax keyword javaScriptOperator delete new instanceof typeof
-syntax keyword javaScriptBoolean true false
-syntax keyword javaScriptNull null undefined
-syntax keyword javaScriptMessage alert confirm prompt status
-syntax keyword javaScriptGlobal self top parent
-syntax keyword javaScriptDeprecated escape unescape all applets alinkColor bgColor fgColor linkColor vlinkColor xmlEncoding
-syntax keyword javaScriptConditional if else switch
-syntax keyword javaScriptRepeat do while for in of
-syntax keyword javaScriptBranch break continue
-syntax keyword javaScriptLabel case default
-syntax keyword javaScriptPrototype prototype
-syntax keyword javaScriptStatement return with
-syntax keyword javaScriptGlobalObjects Array Boolean Date Function Math Number Object RegExp String
-syntax keyword javaScriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
-syntax keyword javaScriptReserved abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws goto private transient debugger implements protected volatile double import public
-"}}}
-" Comments {{{
-syntax keyword javaScriptCommentTodo TODO FIXME XXX TBD OPTIMIZE HACK REVIEW contained
-syntax match javaScriptLineComment "\/\/.*" contains=@Spell,javaScriptCommentTodo
-syntax match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
-syntax region javaScriptComment start="/\*" end="\*/" contains=@Spell,javaScriptCommentTodo
-"}}}
-" JSDoc support {{{
-if !exists("javascript_ignore_javaScriptdoc")
- syntax case ignore
-
- " syntax coloring for JSDoc comments (HTML)
- "unlet b:current_syntax
-
- syntax region javaScriptDocComment matchgroup=javaScriptComment start="/\*\*\s*$" end="\*/" contains=javaScriptDocTags,javaScriptCommentTodo,@javaScriptHtml,jsInJsdocExample,@Spell fold
- syntax match javaScriptDocTags contained "@\(abstract\|access\|alias\|arg\|argument\|augments\|author\|borrows\|callback\|class\|classdesc\|const\|constant\|constructor\|constructs\|copyright\|default\|defaultvalue\|deprecated\|desc\|description\|emits\|enum\|event\|example\|exception\|exports\|extends\|external\|file\|fileoverview\|fires\|func\|function\|global\|host\|ignore\|implements\|inheritdoc\|inner\|instance\|interface\|kind\|lends\|license\|link\|linkcode\|linkplain\|listens\|member\|memberof\|method\|mixes\|mixin\|module\|name\|namespace\|override\|overview\|param\|private\|prop\|property\|cfg\|protected\|public\|readonly\|requires\|return\|returns\|see\|since\|static\|summary\|this\|throws\|todo\|tutorial\|tutorial\|type\|typedef\|var\|variation\|version\|virtual\)\>" nextgroup=javaScriptDocParam,javaScriptDocSeeTag skipwhite
- syntax match javaScriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+"
- syntax region javaScriptDocSeeTag contained matchgroup=javaScriptDocSeeTag start="{" end="}" contains=javaScriptDocTags
-
- syntax case match
-endif
- syntax case match
-"}}}
-" Strings, Numbers and Regex Highlight {{{
-syntax match javaScriptSpecial "\\\d\d\d\|\\."
-syntax region javaScriptString start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=javaScriptSpecial,@htmlPreproc
-syntax region javaScriptString start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=javaScriptSpecial,@htmlPreproc
-
-syntax match javaScriptSpecialCharacter "'\\.'"
-syntax match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
-syntax region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gim]\{0,2\}\s*$+ end=+/[gim]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline
-syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
-"}}}
-" DOM, Browser and Ajax Support {{{
-syntax keyword javaScriptBrowserObjects window navigator screen history location console
-
-syntax keyword javaScriptDOMObjects document event HTMLElement Anchor Area Base Body Button Form Frame Frameset Image Link Meta Option Select Style Table TableCell TableRow Textarea
-syntax keyword javaScriptDOMMethods createTextNode createElement insertBefore replaceChild removeChild appendChild hasChildNodes cloneNode normalize isSupported hasAttributes getAttribute setAttribute removeAttribute getAttributeNode setAttributeNode removeAttributeNode getElementsByTagName hasAttribute getElementById adoptNode close compareDocumentPosition createAttribute createCDATASection createComment createDocumentFragment createElementNS createEvent createExpression createNSResolver createProcessingInstruction createRange createTreeWalker elementFromPoint evaluate getBoxObjectFor getElementsByClassName getSelection getUserData hasFocus importNode
-syntax keyword javaScriptDOMProperties nodeName nodeValue nodeType parentNode childNodes firstChild lastChild previousSibling nextSibling attributes ownerDocument namespaceURI prefix localName tagName
-
-syntax keyword javaScriptAjaxObjects XMLHttpRequest
-syntax keyword javaScriptAjaxProperties readyState responseText responseXML statusText
-syntax keyword javaScriptAjaxMethods onreadystatechange abort getAllResponseHeaders getResponseHeader open send setRequestHeader
-
-syntax keyword javaScriptPropietaryObjects ActiveXObject
-syntax keyword javaScriptPropietaryMethods attachEvent detachEvent cancelBubble returnValue
-
-syntax keyword javaScriptHtmlElemProperties className clientHeight clientLeft clientTop clientWidth dir href id innerHTML lang length offsetHeight offsetLeft offsetParent offsetTop offsetWidth scrollHeight scrollLeft scrollTop scrollWidth style tabIndex target title
-
-syntax keyword javaScriptEventListenerKeywords blur click focus mouseover mouseout load item
-
-syntax keyword javaScriptEventListenerMethods scrollIntoView addEventListener dispatchEvent removeEventListener preventDefault stopPropagation
-" }}}
-" DOM/HTML5/CSS specified things {{{
- " Web API Interfaces (very long list of keywords) {{{
- syntax keyword javaScriptWebAPI AbstractWorker AnalyserNode AnimationEvent App Apps ArrayBuffer ArrayBufferView Attr AudioBuffer AudioBufferSourceNode AudioContext AudioDestinationNode AudioListener AudioNode AudioParam AudioProcessingEvent BatteryManager BiquadFilterNode Blob BlobBuilder BlobEvent CallEvent CameraCapabilities CameraControl CameraManager CanvasGradient CanvasImageSource CanvasPattern CanvasPixelArray CanvasRenderingContext2D CaretPosition CDATASection ChannelMergerNode ChannelSplitterNode CharacterData ChildNode ChromeWorker ClipboardEvent CloseEvent Comment CompositionEvent Connection Console ContactManager ConvolverNode Coordinates CSS CSSConditionRule CSSGroupingRule CSSKeyframeRule CSSKeyframesRule CSSMediaRule CSSNamespaceRule CSSPageRule CSSRule CSSRuleList CSSStyleDeclaration CSSStyleRule CSSStyleSheet CSSSupportsRule CustomEvent
- syntax keyword javaScriptWebAPI DataTransfer DataView DedicatedWorkerGlobalScope DelayNode DeviceAcceleration DeviceLightEvent DeviceMotionEvent DeviceOrientationEvent DeviceProximityEvent DeviceRotationRate DeviceStorage DeviceStorageChangeEvent DirectoryEntry DirectoryEntrySync DirectoryReader DirectoryReaderSync Document DocumentFragment DocumentTouch DocumentType DOMConfiguration DOMCursor DOMError DOMErrorHandler DOMException DOMHighResTimeStamp DOMImplementation DOMImplementationList DOMImplementationSource DOMLocator DOMObject DOMParser DOMRequest DOMString DOMStringList DOMStringMap DOMTimeStamp DOMTokenList DOMUserData DynamicsCompressorNode
- syntax keyword javaScriptWebAPI Element ElementTraversal Entity EntityReference Entry EntrySync ErrorEvent Event EventListener EventSource EventTarget Extensions File FileEntry FileEntrySync FileError FileException FileList FileReader FileSystem FileSystemSync Float32Array Float64Array FMRadio FocusEvent FormData GainNode Geolocation History
- syntax keyword javaScriptWebAPI HTMLAnchorElement HTMLAreaElement HTMLAudioElement HTMLBaseElement HTMLBaseFontElement HTMLBodyElement HTMLBRElement HTMLButtonElement HTMLCanvasElement HTMLCollection HTMLDataElement HTMLDataListElement HTMLDivElement HTMLDListElement HTMLDocument HTMLElement HTMLEmbedElement HTMLFieldSetElement HTMLFormControlsCollection HTMLFormElement HTMLHeadElement HTMLHeadingElement HTMLHRElement HTMLHtmlElement HTMLIFrameElement HTMLImageElement HTMLInputElement HTMLIsIndexElement HTMLKeygenElement HTMLLabelElement HTMLLegendElement HTMLLIElement HTMLLinkElement HTMLMapElement HTMLMediaElement HTMLMetaElement HTMLMeterElement HTMLModElement HTMLObjectElement HTMLOListElement HTMLOptGroupElement HTMLOptionElement HTMLOptionsCollection HTMLOutputElement HTMLParagraphElement HTMLParamElement HTMLPreElement HTMLProgressElement HTMLQuoteElement HTMLScriptElement HTMLSelectElement HTMLSourceElement HTMLSpanElement HTMLStyleElement HTMLTableCaptionElement HTMLTableCellElement HTMLTableColElement HTMLTableElement HTMLTableRowElement HTMLTableSectionElement HTMLTextAreaElement HTMLTimeElement HTMLTitleElement HTMLTrackElement HTMLUListElement HTMLUnknownElement HTMLVideoElement
- syntax keyword javaScriptWebAPI IDBCursor IDBCursorWithValue IDBDatabase IDBDatabaseException IDBEnvironment IDBFactory IDBIndex IDBKeyRange IDBObjectStore IDBOpenDBRequest IDBRequest IDBTransaction IDBVersionChangeEvent ImageData Int16Array Int32Array Int8Array KeyboardEvent LinkStyle LocalFileSystem LocalFileSystemSync Location MediaQueryList MediaQueryListListener MediaSource MediaStream MediaStreamTrack MessageEvent MouseEvent MouseScrollEvent MouseWheelEvent MozActivity MozActivityOptions MozActivityRequestHandler MozAlarmsManager MozContact MozContactChangeEvent MozIccManager MozMmsEvent MozMmsMessage MozMobileCellInfo MozMobileCFInfo MozMobileConnection MozMobileConnectionInfo MozMobileICCInfo MozMobileMessageManager MozMobileMessageThread MozMobileNetworkInfo MozNetworkStats MozNetworkStatsData MozNetworkStatsManager MozSettingsEvent MozSmsEvent MozSmsFilter MozSmsManager MozSmsMessage MozSmsSegmentInfo MozTimeManager MozWifiConnectionInfoEvent MutationObserver
- syntax keyword javaScriptWebAPI NamedNodeMap NameList Navigator NavigatorGeolocation NavigatorID NavigatorLanguage NavigatorOnLine NavigatorPlugins NetworkInformation Node NodeFilter NodeIterator NodeList Notation Notification NotifyAudioAvailableEvent OfflineAudioCompletionEvent OfflineAudioContext PannerNode ParentNode Performance PerformanceNavigation PerformanceTiming Plugin PluginArray Position PositionError PositionOptions PowerManager ProcessingInstruction ProgressEvent Promise PromiseResolver PushManager
- syntax keyword javaScriptWebAPI Range ScriptProcessorNode Selection SettingsLock SettingsManager SharedWorker StyleSheet StyleSheetList SVGAElement SVGAngle SVGAnimateColorElement SVGAnimatedAngle SVGAnimatedBoolean SVGAnimatedEnumeration SVGAnimatedInteger SVGAnimatedLengthList SVGAnimatedNumber SVGAnimatedNumberList SVGAnimatedPoints SVGAnimatedPreserveAspectRatio SVGAnimatedRect SVGAnimatedString SVGAnimatedTransformList SVGAnimateElement SVGAnimateMotionElement SVGAnimateTransformElement SVGAnimationElement SVGCircleElement SVGClipPathElement SVGCursorElement SVGDefsElement SVGDescElement SVGElement SVGEllipseElement SVGFilterElement SVGFontElement SVGFontFaceElement SVGFontFaceFormatElement SVGFontFaceNameElement SVGFontFaceSrcElement SVGFontFaceUriElement
- syntax keyword javaScriptWebAPI SVGForeignObjectElement SVGGElement SVGGlyphElement SVGGradientElement SVGHKernElement SVGImageElement SVGLength SVGLengthList SVGLinearGradientElement SVGLineElement SVGMaskElement SVGMatrix SVGMissingGlyphElement SVGMPathElement SVGNumber SVGNumberList SVGPathElement SVGPatternElement SVGPolygonElement SVGPolylineElement SVGPreserveAspectRatio SVGRadialGradientElement SVGRect SVGRectElement SVGScriptElement SVGSetElement SVGStopElement SVGStringList SVGStylable SVGStyleElement SVGSVGElement SVGSwitchElement SVGSymbolElement SVGTests SVGTextElement SVGTextPositioningElement SVGTitleElement SVGTransform SVGTransformable SVGTransformList SVGTRefElement SVGTSpanElement SVGUseElement SVGViewElement SVGVKernElement TCPSocket Telephony TelephonyCall Text TextDecoder TextEncoder TextMetrics TimeRanges Touch TouchEvent TouchList Transferable TransitionEvent TreeWalker TypeInfo UIEvent Uint16Array Uint32Array Uint8Array Uint8ClampedArray URL URLUtils URLUtilsReadOnly
- " }}}
- " DOM2 CONSTANT {{{
- syntax keyword javaScriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
- syntax keyword javaScriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
- "}}}
- " HTML events and internal variables"{{{
- syntax case ignore
- syntax keyword javaScriptHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize onload onsubmit
- syntax case match
- "}}}
-
- " Follow stuff should be highligh within a special context
- " While it can't be handled with context depended with Regex based highlight
- " So, turn it off by default
- if exists("javascript_enable_domhtmlcss")
- " DOM2 things {{{
- syntax match javaScriptDomElemAttrs contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\>/
- syntax match javaScriptDomElemFuncs contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\>/ nextgroup=javaScriptParen skipwhite
- "}}}
- " HTML things {{{
- syntax match javaScriptHtmlElemAttrs contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\>/
- syntax match javaScriptHtmlElemFuncs contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/ nextgroup=javaScriptParen skipwhite
- "}}}
- " CSS Styles in JavaScript {{{
- syntax keyword javaScriptCssStyles contained color font fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition
- syntax keyword javaScriptCssStyles contained textAlign textAlignLast textAutospace textDecoration textIndent textJustify textJustifyTrim textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition
- syntax keyword javaScriptCssStyles contained unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode
- syntax keyword javaScriptCssStyles contained bottom height left position right top width zIndex
- syntax keyword javaScriptCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout
- syntax keyword javaScriptCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop
- syntax keyword javaScriptCssStyles contained listStyle listStyleImage listStylePosition listStyleType
- syntax keyword javaScriptCssStyles contained background backgroundAttachment backgroundColor backgroundImage gackgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat
- syntax keyword javaScriptCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType
- syntax keyword javaScriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText
- syntax keyword javaScriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor
- "}}}
- " Highlight ways {{{
- syntax match javaScriptDotNotation "\." nextgroup=javaScriptPrototype,javaScriptDomElemAttrs,javaScriptDomElemFuncs,javaScriptHtmlElemAttrs,javaScriptHtmlElemFuncs
- syntax match javaScriptDotNotation "\.style\." nextgroup=javaScriptCssStyles
- "}}}
- endif
-" end DOM/HTML/CSS specified things }}}
-" Code blocks"{{{
-syntax cluster javaScriptAll contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptString,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptLabel,javaScriptSource,javaScriptWebAPI,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFuncKeyword,javaScriptConditional,javaScriptGlobal,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptGlobalObjects,javaScriptMessage,javaScriptIdentifier,javaScriptExceptions,javaScriptReserved,javaScriptDeprecated,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation,javaScriptBrowserObjects,javaScriptDOMObjects,javaScriptAjaxObjects,javaScriptPropietaryObjects,javaScriptDOMMethods,javaScriptHtmlElemProperties,javaScriptDOMProperties,javaScriptEventListenerKeywords,javaScriptEventListenerMethods,javaScriptAjaxProperties,javaScriptAjaxMethods,javaScriptFuncArg
-
-if main_syntax == "javascript"
- syntax sync clear
- syntax sync ccomment javaScriptComment minlines=200
- " syntax sync match javaScriptHighlight grouphere javaScriptBlock /{/
-endif
-"}}}
-" Function and arguments highlighting {{{
-syntax keyword javaScriptFuncKeyword function contained
-syntax region javaScriptFuncExp start=/\w\+\s\==\s\=function\>/ end="\([^)]*\)" contains=javaScriptFuncEq,javaScriptFuncKeyword,javaScriptFuncArg keepend
-syntax match javaScriptFuncArg "\(([^()]*)\)" contains=javaScriptParens,javaScriptFuncComma,javaScriptComment contained
-syntax match javaScriptFuncComma /,/ contained
-syntax match javaScriptFuncEq /=/ contained
-syntax region javaScriptFuncDef start="\<function\>" end="\([^)]*\)" contains=javaScriptFuncKeyword,javaScriptFuncArg keepend
-syntax match javaScriptObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\)\@=/ contains=javaScriptFunctionKey
-syntax match javaScriptFunctionKey /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>\(\s*:\s*function\s*\)\@=/ contained
-"}}}
-" Braces, Parens, symbols, colons {{{
-syntax match javaScriptBraces "[{}\[\]]"
-syntax match javaScriptParens "[()]"
-syntax match javaScriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\|-="
-syntax match javaScriptEndColons "[;,]"
-syntax match javaScriptLogicSymbols "\(&&\)\|\(||\)"
-"}}}
-" ES6 String Interpolation {{{
-syntax match javaScriptTemplateDelim "\${\|}" contained
-syntax region javaScriptTemplateVar start=+${+ end=+}+ contains=javaScriptTemplateDelim keepend
-syntax region javaScriptTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=javaScriptTemplateVar,javaScriptSpecial keepend
-"}}}
-" JavaScriptFold Function {{{
-
-function! JavaScriptFold()
- setl foldmethod=syntax
- setl foldlevelstart=1
- syntax region foldBraces start=/{/ end=/}/ transparent fold keepend extend
-endfunction
-
-" }}}
-" Highlight links {{{
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_javascript_syn_inits")
- if version < 508
- let did_javascript_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink javaScriptEndColons Operator
- HiLink javaScriptOpSymbols Operator
- HiLink javaScriptLogicSymbols Boolean
- HiLink javaScriptBraces Function
- HiLink javaScriptParens Operator
- HiLink javaScriptTemplateDelim Operator
-
- HiLink javaScriptComment Comment
- HiLink javaScriptLineComment Comment
- HiLink javaScriptDocComment Comment
- HiLink javaScriptCommentTodo Todo
-
- HiLink javaScriptDocTags Special
- HiLink javaScriptDocSeeTag Function
- HiLink javaScriptDocParam Function
-
- HiLink javaScriptString String
- HiLink javaScriptRegexpString String
- HiLink javaScriptTemplateString String
-
- HiLink javaScriptNumber Number
- HiLink javaScriptFloat Number
-
- HiLink javaScriptTemplateVar Identifier
- HiLink javaScriptGlobal Constant
- HiLink javaScriptCharacter Character
- HiLink javaScriptPrototype Type
- HiLink javaScriptConditional Conditional
- HiLink javaScriptBranch Conditional
- HiLink javaScriptIdentifier Identifier
- HiLink javaScriptRepeat Repeat
- HiLink javaScriptStatement Statement
- HiLink javaScriptMessage Keyword
- HiLink javaScriptReserved Keyword
- HiLink javaScriptOperator Operator
- HiLink javaScriptNull Type
- HiLink javaScriptBoolean Boolean
- HiLink javaScriptLabel Label
- HiLink javaScriptSpecial Special
- HiLink javaScriptSource Special
- HiLink javaScriptGlobalObjects Special
- HiLink javaScriptExceptions Special
-
- HiLink javaScriptDeprecated Exception
- HiLink javaScriptError Error
- HiLink javaScriptParensError Error
- HiLink javaScriptParensErrA Error
- HiLink javaScriptParensErrB Error
- HiLink javaScriptParensErrC Error
- HiLink javaScriptDomErrNo Error
-
- HiLink javaScriptDomNodeConsts Constant
- HiLink javaScriptDomElemAttrs Label
- HiLink javaScriptDomElemFuncs Type
-
- HiLink javaScriptWebAPI Type
-
- HiLink javaScriptHtmlElemAttrs Label
- HiLink javaScriptHtmlElemFuncs Type
-
- HiLink javaScriptCssStyles Type
-
- HiLink javaScriptBrowserObjects Constant
-
- HiLink javaScriptDOMObjects Constant
- HiLink javaScriptDOMMethods Type
- HiLink javaScriptDOMProperties Label
-
- HiLink javaScriptAjaxObjects Constant
- HiLink javaScriptAjaxMethods Type
- HiLink javaScriptAjaxProperties Label
-
- HiLink javaScriptFuncKeyword Function
- HiLink javaScriptFuncDef PreProc
- HiLink javaScriptFuncExp Title
- HiLink javaScriptFuncArg Special
- HiLink javaScriptFuncComma Operator
- HiLink javaScriptFuncEq Operator
-
- HiLink javaScriptHtmlEvents Constant
- HiLink javaScriptHtmlElemProperties Label
-
- HiLink javaScriptEventListenerKeywords Type
-
- HiLink javaScriptPropietaryObjects Constant
-
- delcommand HiLink
-endif
-" end Highlight links }}}
-
-" Define the htmlJavaScript for HTML syntax html.vim
-"syntax clear htmlJavaScript
-"syntax clear javaScriptExpression
-syntax cluster htmlJavaScript contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
-syntax cluster javaScriptExpression contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError,@htmlPreproc
-
-let b:current_syntax = "javascript"
-if main_syntax == 'javascript'
- unlet main_syntax
-endif
-syntax region jsInJsdocExample matchgroup=Snip start="^\s*\* @example" end="\(^\s*\* [^[:space:]]\)\@=" containedin=@javaScriptComment contains=@javaScriptAll
-hi link Snip SpecialComment