Compare commits
168 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f5d600723 | ||
|
|
ac499e3116 | ||
|
|
78b5957439 | ||
|
|
f4258308e2 | ||
|
|
4f2109d782 | ||
|
|
bc41196bdc | ||
|
|
de71b5658f | ||
|
|
525666f282 | ||
|
|
307aa16a69 | ||
|
|
b122e9798e | ||
|
|
69afb7bf0a | ||
|
|
5de820b916 | ||
|
|
efb23f26e8 | ||
|
|
0418811869 | ||
|
|
61602c5bfe | ||
|
|
543b7ef700 | ||
|
|
3737fc1c30 | ||
|
|
75d7a06920 | ||
|
|
36b3a011d3 | ||
|
|
54dafde170 | ||
|
|
4b78063368 | ||
|
|
14f55c6f67 | ||
|
|
99dc19d1cc | ||
|
|
ca982c8d45 | ||
|
|
96c7dfd806 | ||
|
|
b06e20e6ba | ||
|
|
35eacd7180 | ||
|
|
2d5e112284 | ||
|
|
021e147b70 | ||
|
|
f62d942e54 | ||
|
|
16299b57cb | ||
|
|
4b6ebe6dce | ||
|
|
428e987b61 | ||
|
|
fdde880b02 | ||
|
|
fc714b35c6 | ||
|
|
018acca3bd | ||
|
|
305b2fde13 | ||
|
|
8600e40a67 | ||
|
|
bcb40977c3 | ||
|
|
494ff7e850 | ||
|
|
355fd9b468 | ||
|
|
78cddbe271 | ||
|
|
a9922d62e6 | ||
|
|
a5b725c3f6 | ||
|
|
1a3b56953e | ||
|
|
a1544c00c8 | ||
|
|
01a7a720ad | ||
|
|
9bb77d6fe6 | ||
|
|
bad704fa04 | ||
|
|
7e28384a9a | ||
|
|
07b8864111 | ||
|
|
1bcabe19a2 | ||
|
|
a03e631120 | ||
|
|
c8366790e8 | ||
|
|
c37b6ecd60 | ||
|
|
b38caae26c | ||
|
|
dd8aca664d | ||
|
|
432b09c84d | ||
|
|
21642ed1b4 | ||
|
|
9e822c00b1 | ||
|
|
3e734ea2c7 | ||
|
|
e9ba516be2 | ||
|
|
1bc2428e1f | ||
|
|
0014a53ad1 | ||
|
|
423532e10d | ||
|
|
28c2191949 | ||
|
|
75eb1610e1 | ||
|
|
f9e56b2b03 | ||
|
|
4ac6676cee | ||
|
|
51a2983904 | ||
|
|
5714b80032 | ||
|
|
e0fea9c405 | ||
|
|
eb3ecae23a | ||
|
|
2cb8feb880 | ||
|
|
26c2f3fc4e | ||
|
|
963fee2d69 | ||
|
|
c4912e555b | ||
|
|
e23febdb85 | ||
|
|
61db8b5108 | ||
|
|
57a285b105 | ||
|
|
3451d66244 | ||
|
|
7cd4d9c17c | ||
|
|
3f1682e808 | ||
|
|
fdb6dc1105 | ||
|
|
47196581b8 | ||
|
|
aae4883e01 | ||
|
|
4b41706477 | ||
|
|
f47ca63dbc | ||
|
|
56d58d51bf | ||
|
|
152e7890c1 | ||
|
|
d6c11cb3e0 | ||
|
|
fad8de084a | ||
|
|
3c577f26cd | ||
|
|
1d814754c0 | ||
|
|
425154d888 | ||
|
|
02e26d9807 | ||
|
|
a03dbed9e9 | ||
|
|
307d10a2fb | ||
|
|
35b2386a8e | ||
|
|
c96ebe75e5 | ||
|
|
2a0f3d3fb2 | ||
|
|
0b9aecc3a5 | ||
|
|
673af4d304 | ||
|
|
2eec59e30b | ||
|
|
f878bf0da2 | ||
|
|
e6ae6225b4 | ||
|
|
774267bbb9 | ||
|
|
a7b64ce74e | ||
|
|
cac867ad18 | ||
|
|
1dc28783fa | ||
|
|
182dc4f2ab | ||
|
|
e64faa6645 | ||
|
|
d6e391862c | ||
|
|
b52f4c02e6 | ||
|
|
b09d983c78 | ||
|
|
12e4014092 | ||
|
|
66e83d7db0 | ||
|
|
d2470e9fbe | ||
|
|
d7a06b1d71 | ||
|
|
8dd7901a66 | ||
|
|
9bad29decf | ||
|
|
080504921d | ||
|
|
0fabe3fdbe | ||
|
|
09ea9fcf3f | ||
|
|
745fc029ba | ||
|
|
e3c7b86aab | ||
|
|
7fcff1f781 | ||
|
|
ca12d7c004 | ||
|
|
053bb60f44 | ||
|
|
bc0ea8f75e | ||
|
|
10f3a79e89 | ||
|
|
ba40447ab1 | ||
|
|
097c992c46 | ||
|
|
884f6e44e0 | ||
|
|
fbc0d2ea1e | ||
|
|
6fa41fb374 | ||
|
|
7533fddd09 | ||
|
|
9e74e30b5f | ||
|
|
ad3b366c82 | ||
|
|
d620aa9be4 | ||
|
|
cfef5ff23e | ||
|
|
cabf80ff2f | ||
|
|
105bc355a6 | ||
|
|
55b8ad3dab | ||
|
|
c24c1acd82 | ||
|
|
07729b25bf | ||
|
|
54e8f00581 | ||
|
|
2cd7362e30 | ||
|
|
3dab2806fe | ||
|
|
71700b8903 | ||
|
|
a4720019cf | ||
|
|
b983f75d22 | ||
|
|
d5f729cada | ||
|
|
e761459eb6 | ||
|
|
8661b17843 | ||
|
|
4d188da22b | ||
|
|
5e538ecd5e | ||
|
|
03db85b398 | ||
|
|
b6c589a529 | ||
|
|
46a7561f3a | ||
|
|
dfa38d4e45 | ||
|
|
29607acff6 | ||
|
|
bd80f35bc5 | ||
|
|
8f1723de47 | ||
|
|
3d0c52db9c | ||
|
|
4e5dfb5700 | ||
|
|
99add41656 | ||
|
|
6d21645f46 |
1
Filelist
1
Filelist
@@ -57,6 +57,7 @@ SRC_ALL = \
|
||||
src/popupmnu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp_nfa.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Apr 16, 2013
|
||||
" Version: 148
|
||||
" Date: May 18, 2013
|
||||
" Version: 149
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
@@ -22,7 +22,7 @@
|
||||
if &cp || exists("g:loaded_netrw")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrw = "v148"
|
||||
let g:loaded_netrw = "v149"
|
||||
if v:version < 703 || (v:version == 703 && !has("patch465"))
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrw needs vim 7.3.465 or later"
|
||||
@@ -49,12 +49,12 @@ set cpo&vim
|
||||
" 0=note = s:NOTE
|
||||
" 1=warning = s:WARNING
|
||||
" 2=error = s:ERROR
|
||||
" Apr 02, 2013 : max errnum currently is 92
|
||||
" May 01, 2013 : max errnum currently is 93
|
||||
fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
|
||||
|
||||
if a:level < g:netrw_errorlvl
|
||||
" call Dret("netrw#ErrorMsg : suppressing level=".a:level." since g;netrw_errorlvl=".g:netrw_errorlvl)
|
||||
" call Dret("netrw#ErrorMsg : suppressing level=".a:level." since g:netrw_errorlvl=".g:netrw_errorlvl)
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -128,7 +128,7 @@ endfun
|
||||
" NetrwInit: initializes variables if they haven't been defined {{{2
|
||||
" Loosely, varname = value.
|
||||
fun s:NetrwInit(varname,value)
|
||||
" call Decho("varname<".a:varname."> value=".a:value)
|
||||
" call Decho("varname<".a:varname."> value=".a:value)
|
||||
if !exists(a:varname)
|
||||
if type(a:value) == 0
|
||||
exe "let ".a:varname."=".a:value
|
||||
@@ -202,7 +202,20 @@ if !exists("g:netrw_http_cmd")
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_rcp_cmd" , "rcp")
|
||||
call s:NetrwInit("g:netrw_rsync_cmd", "rsync")
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
if !exists("g:netrw_scp_cmd")
|
||||
if executable("scp")
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
elseif executable("pscp")
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable('c:\private.ppk')
|
||||
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -i c:\private.ppk')
|
||||
else
|
||||
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -q')
|
||||
endif
|
||||
else
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
endif
|
||||
endif
|
||||
|
||||
call s:NetrwInit("g:netrw_sftp_cmd" , "sftp")
|
||||
call s:NetrwInit("g:netrw_ssh_cmd" , "ssh")
|
||||
|
||||
@@ -278,19 +291,23 @@ if !exists("g:netrw_ignorenetrc")
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_keepdir",1)
|
||||
if !exists("g:netrw_list_cmd")
|
||||
|
||||
if g:netrw_scp_cmd =~ '^pscp' && executable("pscp")
|
||||
" provide a 'pscp' listing command
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable("c:\\private.ppk")
|
||||
" provide a pscp-based listing command
|
||||
let g:netrw_scp_cmd ="pscp -i C:\\private.ppk"
|
||||
endif
|
||||
let g:netrw_list_cmd= g:netrw_scp_cmd." -ls USEPORT HOSTNAME:"
|
||||
|
||||
elseif executable(g:netrw_ssh_cmd)
|
||||
" provide a default listing command
|
||||
" provide a scp-based default listing command
|
||||
let g:netrw_list_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME ls -FLa"
|
||||
|
||||
else
|
||||
" call Decho(g:netrw_ssh_cmd." is not executable")
|
||||
let g:netrw_list_cmd= ""
|
||||
endif
|
||||
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_list_hide","")
|
||||
" Default values - lh-lz ---------- {{{3
|
||||
@@ -474,7 +491,7 @@ endif
|
||||
" NetrwBrowse.
|
||||
" vt: normally its "w:" or "s:" (a variable type)
|
||||
fun! s:NetrwOptionSave(vt)
|
||||
" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$"))
|
||||
" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$")." mod=".&mod." ma=".&ma)
|
||||
" call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist"))
|
||||
|
||||
if !exists("{a:vt}netrw_optionsave")
|
||||
@@ -730,10 +747,16 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." modifiable=".&modifiable." a:0=".a:0." win#".winnr()." buf#".bufnr("%"))
|
||||
if !exists("b:netrw_curdir")
|
||||
let b:netrw_curdir= getcwd()
|
||||
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let b:netrw_curdir= substitute(b:netrw_curdir,'\','/','g')
|
||||
endif
|
||||
" call Decho("(Explore) set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
|
||||
endif
|
||||
let curdir = simplify(b:netrw_curdir)
|
||||
let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
|
||||
if !exists("g:netrw_cygwin") && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let curdir= substitute(curdir,'\','/','g')
|
||||
endif
|
||||
" call Decho("(Explore) curdir<".curdir."> curfiledir<".curfiledir.">")
|
||||
|
||||
" save registers
|
||||
@@ -793,7 +816,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
keepj norm! 0
|
||||
|
||||
if a:0 > 0
|
||||
" call Decho("(Explore) case [a:0=".a:0."] > 0")
|
||||
" call Decho("(Explore) case [a:0=".a:0."] > 0: a:1<".a:1.">")
|
||||
if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: starts with ~ and unix or cygwin")
|
||||
let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),''))
|
||||
@@ -809,7 +832,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: matches ending $")
|
||||
let dirname= simplify(expand(a:1))
|
||||
" call Decho("(Explore) ..using user-specified dirname<".dirname."> with $env-var")
|
||||
elseif a:1 !~ '^\*\{1,2}/'
|
||||
elseif a:1 !~ '^\*\{1,2}/' && a:1 !~ '^\a\{3,}://'
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: other, not pattern or filepattern")
|
||||
let dirname= simplify(a:1)
|
||||
" call Decho("(Explore) ..using user-specified dirname<".dirname.">")
|
||||
@@ -835,7 +858,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
if dirname =~ '^\*//'
|
||||
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
|
||||
" call Decho("(Explore) case Explore *//pattern")
|
||||
" call Decho("(Explore) case starpat=1: Explore *//pattern")
|
||||
let pattern= substitute(dirname,'^\*//\(.*\)$','\1','')
|
||||
let starpat= 1
|
||||
" call Decho("(Explore) ..Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
|
||||
@@ -843,14 +866,14 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
elseif dirname =~ '^\*\*//'
|
||||
" starpat=2: Explore **//pattern (recursive descent search for files containing pattern)
|
||||
" call Decho("(Explore) case Explore **//pattern")
|
||||
" call Decho("(Explore) case starpat=2: Explore **//pattern")
|
||||
let pattern= substitute(dirname,'^\*\*//','','')
|
||||
let starpat= 2
|
||||
" call Decho("(Explore) ..Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
|
||||
|
||||
elseif dirname =~ '/\*\*/'
|
||||
" handle .../**/.../filepat
|
||||
" call Decho("(Explore) case Explore .../**/.../filepat")
|
||||
" call Decho("(Explore) case starpat=4: Explore .../**/.../filepat")
|
||||
let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
|
||||
if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
|
||||
let b:netrw_curdir = prefixdir
|
||||
@@ -863,32 +886,40 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("(Explore) ..case Explore ../**/../filepat (starpat=".starpat.")")
|
||||
|
||||
elseif dirname =~ '^\*/'
|
||||
" starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
|
||||
" case starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
|
||||
let starpat= 3
|
||||
" call Decho("(Explore) case Explore */filepat (starpat=".starpat.")")
|
||||
" call Decho("(Explore) case starpat=3: Explore */filepat (starpat=".starpat.")")
|
||||
|
||||
elseif dirname=~ '^\*\*/'
|
||||
" starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat)
|
||||
let starpat= 4
|
||||
" call Decho("(Explore) case Explore **/filepat (starpat=".starpat.")")
|
||||
" call Decho("(Explore) case starpat=4: Explore **/filepat (starpat=".starpat.")")
|
||||
|
||||
else
|
||||
let starpat= 0
|
||||
" call Decho("(Explore) default case: starpat=".starpat)
|
||||
" call Decho("(Explore) case starpat=0: default")
|
||||
endif
|
||||
|
||||
if starpat == 0 && a:indx >= 0
|
||||
" [Explore Hexplore Vexplore Sexplore] [dirname]
|
||||
" call Decho("(Explore) case starpat==0 && a:indx=".a:indx.": dirname<".dirname."> Explore Hexplore Vexplore Sexplore")
|
||||
" call Decho("(Explore) case starpat==0 && a:indx=".a:indx.": dirname<".dirname.">, handles Explore Hexplore Vexplore Sexplore")
|
||||
if dirname == ""
|
||||
let dirname= curfiledir
|
||||
" call Decho("(Explore) ..empty dirname, using current file's directory<".dirname.">")
|
||||
endif
|
||||
if dirname =~ '^scp:' || dirname =~ '^ftp:'
|
||||
" call Decho("(Explore) ..calling NetrwBrowse(0,dirname<".dirname.">)")
|
||||
call s:NetrwBrowse(0,dirname)
|
||||
if dirname =~ '^scp://' || dirname =~ '^ftp://'
|
||||
call netrw#Nread(2,dirname)
|
||||
"call s:NetrwBrowse(0,dirname)
|
||||
else
|
||||
if dirname == ""|let dirname= getcwd()|endif
|
||||
if dirname == ""
|
||||
let dirname= getcwd()
|
||||
elseif (has("win32") || has("win95") || has("win64") || has("win16")) && !g:netrw_cygwin
|
||||
if dirname !~ '^[a-zA-Z]:'
|
||||
let dirname= b:netrw_curdir."/".dirname
|
||||
endif
|
||||
elseif dirname !~ '^/'
|
||||
let dirname= b:netrw_curdir."/".dirname
|
||||
endif
|
||||
" call Decho("(Explore) ..calling LocalBrowseCheck(dirname<".dirname.">)")
|
||||
call netrw#LocalBrowseCheck(dirname)
|
||||
" call Decho("(Explore) win#".winnr()." buf#".bufnr("%")." modified=".&modified." modifiable=".&modifiable." readonly=".&readonly)
|
||||
@@ -1508,7 +1539,7 @@ endfun
|
||||
" =2 replace with remote file
|
||||
" =3 obtain file, but leave in temporary format
|
||||
fun! netrw#NetRead(mode,...)
|
||||
" call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw)
|
||||
" call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw.((a:0 > 0)? " a:1<".a:1.">" : ""))
|
||||
|
||||
" NetRead: save options {{{3
|
||||
call s:NetrwOptionSave("w:")
|
||||
@@ -2404,7 +2435,6 @@ fun! s:NetrwGetFile(readcmd, tfile, method)
|
||||
" call Decho("detect filetype of local version of remote file")
|
||||
let iskkeep= &l:isk
|
||||
setl isk-=/
|
||||
" filetype detect " COMBAK - trying filetype detect in NetrwOptionRestore Jan 24, 2013
|
||||
let &l:isk= iskkeep
|
||||
" call Dredir("renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">","ls!")
|
||||
let line1 = 1
|
||||
@@ -2611,8 +2641,7 @@ fun! s:NetrwMethod(choice)
|
||||
" call Decho("has -s: : s:netrw_ftp_cmd<".s:netrw_ftp_cmd.">")
|
||||
" call Decho(" g:netrw_ftp_cmd<".g:netrw_ftp_cmd.">")
|
||||
if g:netrw_ftp_cmd =~ '-[sS]:\S*MACHINE\>'
|
||||
let machine = substitute(g:netrw_machine,'\([^.]\+\)\.\S*','\1','')
|
||||
let s:netrw_ftp_cmd= substitute(g:netrw_ftp_cmd,'\<MACHINE\>',machine.".ftp",'')
|
||||
let s:netrw_ftp_cmd= substitute(g:netrw_ftp_cmd,'\<MACHINE\>',g:netrw_machine,'')
|
||||
" call Decho("s:netrw_ftp_cmd<".s:netrw_ftp_cmd.">")
|
||||
endif
|
||||
let b:netrw_method= 2
|
||||
@@ -3477,7 +3506,6 @@ fun! s:NetrwBrowse(islocal,dirname)
|
||||
if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
|
||||
" call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%")."> win#".winnr())
|
||||
" call Decho("(NetrwBrowse) tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")." modified=".&modified." modifiable=".&modifiable." readonly=".&readonly)
|
||||
" call Dredir("ls!")
|
||||
" s:NetrwBrowse: initialize history {{{3
|
||||
if !exists("s:netrw_initbookhist")
|
||||
keepj call s:NetrwBookHistRead()
|
||||
@@ -3759,6 +3787,7 @@ endfun
|
||||
" 1=re-used buffer
|
||||
fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" call Dfunc("s:NetrwGetBuffer(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".g:netrw_liststyle)
|
||||
" call Decho("(NetrwGetBuffer) modiable=".&mod." modifiable=".&ma." readonly=".&ro)
|
||||
let dirname= a:dirname
|
||||
|
||||
" re-use buffer if possible {{{3
|
||||
@@ -3767,8 +3796,9 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" find NetrwTreeList buffer if there is one
|
||||
" call Decho("(NetrwGetBuffer) case liststyle=treelist: find NetrwTreeList buffer if there is one")
|
||||
if exists("w:netrw_treebufnr") && w:netrw_treebufnr > 0
|
||||
" call Decho("(NetrwGetBuffer) re-use w:netrw_treebufnr=".w:netrw_treebufnr)
|
||||
sil keepj %d
|
||||
" call Decho("(NetrwGetBuffer) re-using w:netrw_treebufnr=".w:netrw_treebufnr)
|
||||
setl mod
|
||||
sil! keepj %d
|
||||
let eikeep= &ei
|
||||
set ei=all
|
||||
exe "sil! keepalt b ".w:netrw_treebufnr
|
||||
@@ -3782,7 +3812,6 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
else
|
||||
" find buffer number of buffer named precisely the same as dirname {{{3
|
||||
" call Decho("(NetrwGetBuffer) case listtyle not treelist: find buffer numnber of buffer named precisely the same as dirname--")
|
||||
" call Dredir("ls!")
|
||||
|
||||
" get dirname and associated buffer number
|
||||
let bufnum = bufnr(escape(dirname,'\'))
|
||||
@@ -4079,7 +4108,6 @@ fun! s:NetrwListSettings(islocal)
|
||||
if g:netrw_use_noswf
|
||||
setl noswf
|
||||
endif
|
||||
" call Dredir("ls!")
|
||||
" call Decho("(NetrwListSettings) exe setl ts=".(g:netrw_maxfilenamelen+1))
|
||||
exe "setl ts=".(g:netrw_maxfilenamelen+1)
|
||||
setl isk+=.,~,-
|
||||
@@ -4211,14 +4239,14 @@ fun! s:NetrwBookmarkMenu()
|
||||
if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != [] && g:netrw_dirhistmax > 0
|
||||
let cnt= 1
|
||||
for bmd in g:netrw_bookmarklist
|
||||
" call Decho('sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmd.' :e '.bmd)
|
||||
let bmd= escape(bmd,g:netrw_menu_escape)
|
||||
let ebmd= escape(bmd,g:netrw_menu_escape)
|
||||
" call Decho('sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.ebmd.' :e '.bmd)
|
||||
|
||||
" show bookmarks for goto menu
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmd.' :e '.bmd."\<cr>"
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.ebmd.' :e '.bmd."\<cr>"
|
||||
|
||||
" show bookmarks for deletion menu
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.bmd.' '.cnt."mB"
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.ebmd.' '.cnt."mB"
|
||||
let cnt= cnt + 1
|
||||
endfor
|
||||
|
||||
@@ -4264,7 +4292,6 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let @@= ykeep
|
||||
" call Decho("(NetrwBrowseChgDir) b:netrw_curdir doesn't exist!")
|
||||
" call Decho("(NetrwBrowseChgDir) getcwd<".getcwd().">")
|
||||
" call Dredir("ls!")
|
||||
" call Dret("s:NetrwBrowseChgDir")
|
||||
return
|
||||
endif
|
||||
@@ -5467,8 +5494,13 @@ endfun
|
||||
" directories. Uses the local-buffer marked file list.
|
||||
" Returns 1=success (used by NetrwMarkFileMove())
|
||||
" 0=failure
|
||||
fun! s:NetrwMarkFileCopy(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileCopy(islocal=".a:islocal.") target<".(exists("s:netrwmftgt")? s:netrwmftgt : '---').">")
|
||||
fun! s:NetrwMarkFileCopy(islocal,...)
|
||||
" call Dfunc("s:NetrwMarkFileCopy(islocal=".a:islocal.") target<".(exists("s:netrwmftgt")? s:netrwmftgt : '---')."> a:0=".a:0)
|
||||
|
||||
if !exists("b:netrw_curdir")
|
||||
let b:netrw_curdir= getcwd()
|
||||
" call Decho("set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
|
||||
endif
|
||||
let curdir = b:netrw_curdir
|
||||
let curbufnr = bufnr("%")
|
||||
|
||||
@@ -5495,8 +5527,45 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileMove : g:netrw_localcopycmd<".g:netrw_localcopycmd."> n/a!")
|
||||
return
|
||||
endif
|
||||
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)"))
|
||||
let tgt = shellescape(s:netrwmftgt)
|
||||
|
||||
" copy marked files while within the same directory (ie. allow renaming)
|
||||
if simplify(s:netrwmftgt) == simplify(b:netrw_curdir)
|
||||
if len(s:netrwmarkfilelist_{bufnr('%')}) == 1
|
||||
" only one marked file
|
||||
let args = shellescape(b:netrw_curdir."/".s:netrwmarkfilelist_{bufnr('%')}[0])
|
||||
let oldname = s:netrwmarkfilelist_{bufnr('%')}[0]
|
||||
elseif a:0 == 1
|
||||
" this happens when the next case was used to recursively call s:NetrwMarkFileCopy()
|
||||
let args = shellescape(b:netrw_curdir."/".a:1)
|
||||
let oldname = a:1
|
||||
else
|
||||
" copy multiple marked files inside the same directory
|
||||
let s:recursive= 1
|
||||
for oldname in s:netrwmarkfilelist_{bufnr("%")}
|
||||
let ret= s:NetrwMarkFileCopy(a:islocal,oldname)
|
||||
if ret == 0
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
unlet s:recursive
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
" call Dret("s:NetrwMarkFileCopy ".ret)
|
||||
return ret
|
||||
endif
|
||||
|
||||
call inputsave()
|
||||
let newname= input("Copy ".oldname." to : ",oldname,"file")
|
||||
call inputrestore()
|
||||
if newname == ""
|
||||
" call Dret("s:NetrwMarkFileCopy 0")
|
||||
return 0
|
||||
endif
|
||||
let args= shellescape(oldname)
|
||||
let tgt = shellescape(s:netrwmftgt.'/'.newname)
|
||||
else
|
||||
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)"))
|
||||
let tgt = shellescape(s:netrwmftgt)
|
||||
endif
|
||||
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let args= substitute(args,'/','\\','g')
|
||||
let tgt = substitute(tgt, '/','\\','g')
|
||||
@@ -5525,10 +5594,12 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
keepj call s:NetrwUpload(s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
|
||||
|
||||
elseif !a:islocal && s:netrwmftgt_islocal
|
||||
" Copy marked files, remote directory to local directory
|
||||
" call Decho("copy from remote to local")
|
||||
keepj call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
|
||||
|
||||
elseif !a:islocal && !s:netrwmftgt_islocal
|
||||
" Copy marked files, remote directory to remote directory
|
||||
" call Decho("copy from remote to remote")
|
||||
let curdir = getcwd()
|
||||
let tmpdir = s:GetTempfile("")
|
||||
@@ -5570,10 +5641,11 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
" -------
|
||||
" cleanup
|
||||
" -------
|
||||
" call Decho("cleanup")
|
||||
|
||||
" remove markings from local buffer
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
" call Decho("cleanup")
|
||||
if !exists("s:recursive")
|
||||
" remove markings from local buffer
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
endif
|
||||
|
||||
" refresh buffers
|
||||
if !s:netrwmftgt_islocal
|
||||
@@ -5861,7 +5933,6 @@ fun! s:NetrwMarkFileVimCmd(islocal)
|
||||
exe cmd
|
||||
exe "sil! keepalt wq!"
|
||||
else
|
||||
" COMBAK -- not supported yet
|
||||
" call Decho("remote<".fname.">: exe ".cmd." : NOT SUPPORTED YET")
|
||||
echo "sorry, \"mX\" not supported yet for remote files"
|
||||
endif
|
||||
@@ -7489,11 +7560,20 @@ fun! s:NetrwWideListing()
|
||||
sil! let @*= keepregstar
|
||||
exe "sil! keepj ".w:netrw_bannercnt.',$s/\s\+$//e'
|
||||
keepj call histdel("/",-1)
|
||||
exe "nmap <buffer> <silent> w /^\\\\|\\s\\s\\zs\\S/\<cr>"
|
||||
exe "nmap <buffer> <silent> b ?^\\\\|\\s\\s\\zs\\S?\<cr>"
|
||||
" call Decho("NetrwWideListing) setl noma nomod ro")
|
||||
setl noma nomod ro
|
||||
" call Decho("(NetrwWideListing) ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)")
|
||||
" call Dret("NetrwWideListing")
|
||||
return
|
||||
else
|
||||
if hasmapto("w","n")
|
||||
sil! nunmap <buffer> w
|
||||
endif
|
||||
if hasmapto("b","n")
|
||||
sil! nunmap <buffer> b
|
||||
endif
|
||||
endif
|
||||
|
||||
endfun
|
||||
@@ -7537,7 +7617,11 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho("(PerformListing) set up banner")
|
||||
keepj call setline(1,'" ============================================================================')
|
||||
keepj call setline(2,'" Netrw Directory Listing (netrw '.g:loaded_netrw.')')
|
||||
keepj call setline(3,'" '.b:netrw_curdir)
|
||||
if exists("g:netrw_bannerbackslash") && g:netrw_bannerbackslash
|
||||
keepj call setline(3,'" '.substitute(b:netrw_curdir,'/','\\','g'))
|
||||
else
|
||||
keepj call setline(3,'" '.b:netrw_curdir)
|
||||
endif
|
||||
let w:netrw_bannercnt= 3
|
||||
keepj exe "sil! keepj ".w:netrw_bannercnt
|
||||
else
|
||||
@@ -7606,7 +7690,7 @@ fun! s:PerformListing(islocal)
|
||||
if g:netrw_banner
|
||||
let w:netrw_bannercnt= w:netrw_bannercnt + 1
|
||||
exe "sil! keepj ".w:netrw_bannercnt
|
||||
" call Decho("(PerformListing) bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
|
||||
" call Decho("(PerformListing) w:netrw_bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
|
||||
endif
|
||||
|
||||
" get list of files
|
||||
@@ -7616,12 +7700,13 @@ fun! s:PerformListing(islocal)
|
||||
else " remote
|
||||
keepj call s:NetrwRemoteListing()
|
||||
endif
|
||||
" call Decho("(PerformListing) g:netrw_banner=".g:netrw_banner." w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
|
||||
|
||||
" manipulate the directory listing (hide, sort) {{{3
|
||||
if !exists("w:netrw_bannercnt")
|
||||
let w:netrw_bannercnt= 0
|
||||
endif
|
||||
" call Decho("(PerformListing) g:netrw_banner=".g:netrw_banner." w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
|
||||
|
||||
if !g:netrw_banner || line("$") >= w:netrw_bannercnt
|
||||
" call Decho("(PerformListing) manipulate directory listing (hide)")
|
||||
" call Decho("(PerformListing) g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
|
||||
@@ -7763,10 +7848,18 @@ fun! s:NetrwRemoteListing()
|
||||
" call Dfunc("s:NetrwRemoteListing() b:netrw_curdir<".b:netrw_curdir.">)")
|
||||
|
||||
call s:RemotePathAnalysis(b:netrw_curdir)
|
||||
" call Decho("b:netrw_method#".(exists("b:netrw_method")? b:netrw_method : 'n/a'))
|
||||
" call Decho("g:netrw_list_cmd<".(exists("g:netrw_list_cmd")? g:netrw_list_cmd : 'n/a').">")
|
||||
" call Decho("ssh is ".(executable("ssh")? "" : "not ")."executable")
|
||||
" call Decho("ftp is ".(executable("ftp")? "" : "not ")."executable")
|
||||
" call Decho("sftp is ".(executable("sftp")? "" : "not ")."executable")
|
||||
|
||||
" sanity check:
|
||||
if exists("b:netrw_method") && b:netrw_method =~ '[235]'
|
||||
" call Decho("b:netrw_method=".b:netrw_method)
|
||||
" b:netrw_method = 2: ftp+.netrc
|
||||
" b:netrw_method = 3: ftp+machine,id,p/w,filename (ie. no .netrc)
|
||||
" b:netrw_method = 5: wget (http)
|
||||
" call Decho("b:netrw_method=".b:netrw_method." (for ".s:method.")")
|
||||
if !executable("ftp")
|
||||
if !exists("g:netrw_quiet")
|
||||
call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ftp",18)
|
||||
@@ -7776,10 +7869,11 @@ fun! s:NetrwRemoteListing()
|
||||
return
|
||||
endif
|
||||
|
||||
elseif !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ''
|
||||
elseif s:method == "scp" && (!exists("g:netrw_list_cmd") || g:netrw_list_cmd == '')
|
||||
" call Decho("g:netrw_list_cmd<".(exists("g:netrw_list_cmd")? g:netrw_list_cmd : 'n/a').">")
|
||||
if !exists("g:netrw_quiet")
|
||||
if g:netrw_list_cmd == ""
|
||||
keepj call netrw#ErrorMsg(s:ERROR,g:netrw_ssh_cmd." is not executable on your system",47)
|
||||
if !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ""
|
||||
keepj call netrw#ErrorMsg(s:ERROR,"neither ssh nor ftp"." is executable on your system",47)
|
||||
else
|
||||
keepj call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ".g:netrw_list_cmd,19)
|
||||
endif
|
||||
@@ -7791,15 +7885,15 @@ fun! s:NetrwRemoteListing()
|
||||
endif " (remote handling sanity check)
|
||||
|
||||
if exists("b:netrw_method")
|
||||
" call Decho("setting w:netrw_method<".b:netrw_method.">")
|
||||
" call Decho("setting w:netrw_method to b:netrw_method<".b:netrw_method.">")
|
||||
let w:netrw_method= b:netrw_method
|
||||
endif
|
||||
|
||||
if s:method == "ftp"
|
||||
" use ftp to get remote file listing {{{3
|
||||
" call Decho("use ftp to get remote file listing")
|
||||
let s:method = "ftp"
|
||||
let listcmd = g:netrw_ftp_list_cmd
|
||||
let s:method = "ftp"
|
||||
let listcmd = g:netrw_ftp_list_cmd
|
||||
if g:netrw_sort_by =~ '^t'
|
||||
let listcmd= g:netrw_ftp_timelist_cmd
|
||||
elseif g:netrw_sort_by =~ '^s'
|
||||
@@ -7822,15 +7916,14 @@ fun! s:NetrwRemoteListing()
|
||||
sil! keepj %s/\r$//e
|
||||
keepj call histdel("/",-1)
|
||||
|
||||
" if there's no ../ listed, then put ./ and ../ in
|
||||
" if there's no ../ listed, then put ../ in
|
||||
let line1= line(".")
|
||||
exe "sil! keepj ".w:netrw_bannercnt
|
||||
let line2= search('\.\.\/\%(\s\|$\)','cnW')
|
||||
" call Decho("search(".'\.\.\/\%(\s\|$\)'."','cnW')=".line2." w:netrw_bannercnt=".w:netrw_bannercnt)
|
||||
if line2 == 0
|
||||
" call Decho("netrw is putting ./ and ../ into listing")
|
||||
" call Decho("netrw is putting ../ into listing")
|
||||
sil! keepj put='../'
|
||||
sil! keepj put='./'
|
||||
endif
|
||||
exe "sil! keepj ".line1
|
||||
sil! keepj norm! 0
|
||||
@@ -7899,13 +7992,12 @@ fun! s:NetrwRemoteListing()
|
||||
while getline('.') =~ g:netrw_ftp_browse_reject
|
||||
sil! keepj d
|
||||
endwhile
|
||||
" if there's no ../ listed, then put ./ and ../ in
|
||||
" if there's no ../ listed, then put ../ in
|
||||
let line1= line(".")
|
||||
sil! keepj 1
|
||||
sil! keepj call search('^\.\.\/\%(\s\|$\)','W')
|
||||
let line2= line(".")
|
||||
if line2 == 0
|
||||
exe 'sil! keepj '.w:netrw_bannercnt."put='./'"
|
||||
if b:netrw_curdir != '/'
|
||||
exe 'sil! keepj '.w:netrw_bannercnt."put='../'"
|
||||
endif
|
||||
@@ -8103,8 +8195,17 @@ endfun
|
||||
" and reverse sorts will be requested of the server but not otherwise
|
||||
" enforced here.
|
||||
fun! s:NetrwRemoteFtpCmd(path,listcmd)
|
||||
" call Dfunc("NetrwRemoteFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
|
||||
" call Decho("line($)=".line("$")." bannercnt=".w:netrw_bannercnt)
|
||||
" call Dfunc("NetrwRemoteFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) w:netrw_method=".(exists("w:netrw_method")? w:netrw_method : (exists("b:netrw_method")? b:netrw_method : "???")))
|
||||
" call Decho("line($)=".line("$")." w:netrw_bannercnt=".w:netrw_bannercnt)
|
||||
if !exists("w:netrw_method")
|
||||
if exists("b:netrw_method")
|
||||
let w:netrw_method= b:netrw_method
|
||||
else
|
||||
call netrw#ErrorMsg(2,"(s:NetrwRemoteFtpCmd) internal netrw error",93)
|
||||
" call Dret("NetrwRemoteFtpCmd")
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
" because WinXX ftp uses unix style input
|
||||
let ffkeep= &ff
|
||||
@@ -8359,7 +8460,7 @@ fun! netrw#LocalBrowseCheck(dirname)
|
||||
" call Dredir("LocalBrowseCheck","ls!")|redraw!|sleep 3
|
||||
let ykeep= @@
|
||||
if isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowseCheck) ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$")." ft<".&ft."> g:netrw_fastbrowse=".g:netrw_fastbrowse)
|
||||
" call Decho("(LocalBrowseCheck) is-directory ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$")." ft<".&ft."> g:netrw_fastbrowse=".g:netrw_fastbrowse)
|
||||
let svposn= netrw#NetrwSavePosn()
|
||||
if &ft != "netrw" || (exists("b:netrw_curdir") && b:netrw_curdir != a:dirname) || g:netrw_fastbrowse <= 1
|
||||
sil! keepj keepalt call s:NetrwBrowse(1,a:dirname)
|
||||
@@ -8407,9 +8508,11 @@ fun! s:LocalListing()
|
||||
let filelist = filelist + glob(s:ComposePath(dirname,".*"),0,1)
|
||||
" call Decho("(LocalListing) filelist=".filelist)
|
||||
|
||||
if index(filelist,'..') == -1 && b:netrw_curdir != '/'
|
||||
if g:netrw_cygwin == 0 && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" call Decho("(LocalListing) filelist=".string(filelist))
|
||||
elseif index(filelist,'..') == -1 && b:netrw_curdir !~ '/'
|
||||
" include ../ in the glob() entry if its missing
|
||||
" call Decho("(LocalListing) forcibly tacking on \"..\"")
|
||||
" call Decho("(LocalListing) forcibly including on \"..\"")
|
||||
let filelist= filelist+[s:ComposePath(b:netrw_curdir,"../")]
|
||||
" call Decho("(LocalListing) filelist=".string(filelist))
|
||||
endif
|
||||
@@ -8903,6 +9006,26 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" Support Functions: {{{1
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
|
||||
fun! netrw#WinPath(path)
|
||||
" call Dfunc("netrw#WinPath(path<".a:path.">)")
|
||||
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" remove cygdrive prefix, if present
|
||||
let path = substitute(a:path,'/cygdrive/\(.\)','\1:','')
|
||||
" remove trailing slash (Win95)
|
||||
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||
" remove escaped spaces
|
||||
let path = substitute(path, '\ ', ' ', 'g')
|
||||
" convert slashes to backslashes
|
||||
let path = substitute(path, '/', '\', 'g')
|
||||
else
|
||||
let path= a:path
|
||||
endif
|
||||
" call Dret("netrw#WinPath <".path.">")
|
||||
return path
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#NetrwRestorePosn: restores the cursor and file position as saved by NetrwSavePosn() {{{2
|
||||
fun! netrw#NetrwRestorePosn(...)
|
||||
@@ -8968,6 +9091,21 @@ fun! netrw#NetrwSavePosn()
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#NetrwAccess: intended to provide access to variable values for netrw's test suite {{{2
|
||||
" 0: marked file list of current buffer
|
||||
" 1: marked file target
|
||||
fun! netrw#NetrwAccess(ilist)
|
||||
if a:ilist == 0
|
||||
if exists("s:netrwmarkfilelist_".bufnr('%'))
|
||||
return s:netrwmarkfilelist_{bufnr('%')}
|
||||
else
|
||||
return "no-list-buf#".bufnr('%')
|
||||
endif
|
||||
elseif a:ilist == 1
|
||||
return s:netrwmftgt
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" netrw#RFC2396: converts %xx into characters {{{2
|
||||
fun! netrw#RFC2396(fname)
|
||||
@@ -9223,7 +9361,7 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" s:RestoreCursorline: restores cursorline/cursorcolumn to original user settings {{{2
|
||||
fun! s:RestoreCursorline()
|
||||
" call Dfunc("s:RestoreCursorline() currently, cul=".&l:cursorline." cuc=".&l:cursorcolumn." win#".winnr()." buf#".bufnr("%"))
|
||||
" call Dfunc("s:RestoreCursorline() currently, cul=".&l:cursorline." cuc=".&l:cursorcolumn." win#".winnr()." buf#".bufnr("%")." mod=".&mod)
|
||||
if exists("s:netrw_usercul")
|
||||
let &l:cursorline = s:netrw_usercul
|
||||
endif
|
||||
@@ -9292,11 +9430,7 @@ fun! s:NetrwEnew(...)
|
||||
keepj call s:NetrwOptionRestore("w:")
|
||||
" call Decho("generate a buffer with keepjumps keepalt enew!")
|
||||
let netrw_keepdiff= &l:diff
|
||||
" COMBAK: Benzinger: using tree mode, vim -o Foo/ file shows Foo/ Foo/ instead. Place return here, problem goes away (beeps result, but who knows)
|
||||
" call Dredir("Benzinger 1:","ls!")
|
||||
keepj keepalt enew!
|
||||
" call Dredir("Benzinger 2:","ls!")
|
||||
" COMBAK: Benzinger: using tree mode, vim -o Foo/ file shows Foo/ Foo/ instead. Place return here, problem remains.
|
||||
let &l:diff= netrw_keepdiff
|
||||
" call Decho("bufnr($)=".bufnr("$"))
|
||||
keepj call s:NetrwOptionSave("w:")
|
||||
@@ -9715,27 +9849,7 @@ fun! s:UseBufWinVars()
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
|
||||
fun! netrw#WinPath(path)
|
||||
" call Dfunc("netrw#WinPath(path<".a:path.">)")
|
||||
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" remove cygdrive prefix, if present
|
||||
let path = substitute(a:path,'/cygdrive/\(.\)','\1:','')
|
||||
" remove trailing slash (Win95)
|
||||
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||
" remove escaped spaces
|
||||
let path = substitute(path, '\ ', ' ', 'g')
|
||||
" convert slashes to backslashes
|
||||
let path = substitute(path, '/', '\', 'g')
|
||||
else
|
||||
let path= a:path
|
||||
endif
|
||||
" call Dret("netrw#WinPath <".path.">")
|
||||
return path
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Settings Restoration: {{{2
|
||||
" Settings Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Mar 14, 2012
|
||||
" Version: 11a
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -20,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11a"
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
@@ -34,10 +34,10 @@ set cpo&vim
|
||||
" netrwFileHandlers#Invoke: {{{1
|
||||
fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
|
||||
let fname= a:fname
|
||||
let exten= a:exten
|
||||
" list of supported special characters. Consider rcs,v --- that can be
|
||||
" supported with a NFH_rcsCOMMAv() handler
|
||||
if a:fname =~ '[@:,$!=\-+%?;~]'
|
||||
if exten =~ '[@:,$!=\-+%?;~]'
|
||||
let specials= {
|
||||
\ '@' : 'AT',
|
||||
\ ':' : 'COLON',
|
||||
@@ -51,18 +51,18 @@ fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
\ '?' : 'QUESTION',
|
||||
\ ';' : 'SEMICOLON',
|
||||
\ '~' : 'TILDE'}
|
||||
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
" call Decho('fname<'.fname.'> done with dictionary')
|
||||
endif
|
||||
|
||||
if a:exten != "" && exists("*NFH_".a:exten)
|
||||
if a:exten != "" && exists("*NFH_".exten)
|
||||
" support user NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= NFH_".a:exten.'("'.fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".a:exten)
|
||||
exe "let ret= NFH_".exten.'("'.a:fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".exten)
|
||||
" use builtin-NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
|
||||
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
|
||||
endif
|
||||
|
||||
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Sep 03, 2008
|
||||
" Date: May 03, 2013
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 13
|
||||
" Version: 14a ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v13"
|
||||
let g:loaded_netrwSettings = "v14a"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
@@ -99,27 +100,50 @@ fun! netrwSettings#NetrwSettings()
|
||||
put ='+ Netrw Browser Control'
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = 'let g:netrw_browsex_viewer = (not defined)'
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put ='let g:netrw_decompress...'
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape...'
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put ='let g:netrw_glob_escape...'
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
@@ -127,23 +151,30 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim OMNI completion script for SQL
|
||||
" Language: SQL
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 14.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 15.0
|
||||
" Last Change: 2013 May 13
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||
" Usage: For detailed help
|
||||
" ":help sql.txt"
|
||||
@@ -11,6 +11,18 @@
|
||||
|
||||
" History
|
||||
"
|
||||
" TODO
|
||||
" - Jonas Enberg - if no table is found when using column completion
|
||||
" look backwards to a FROM clause and find the first table
|
||||
" and complete it.
|
||||
"
|
||||
" Version 15.0 (May 2013)
|
||||
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
|
||||
" to use regular expressions to pick up extended syntax group names.
|
||||
" This requires an updated SyntaxComplete plugin version 13.0.
|
||||
" If the required versions have not been installed, previous
|
||||
" behaviour will not be impacted.
|
||||
"
|
||||
" Version 14.0 (Dec 2012)
|
||||
" - BF: Added check for cpo
|
||||
"
|
||||
@@ -91,7 +103,7 @@ endif
|
||||
if exists('g:loaded_sql_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_sql_completion = 130
|
||||
let g:loaded_sql_completion = 150
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -110,12 +122,14 @@ let s:syn_value = []
|
||||
" Used in conjunction with the syntaxcomplete plugin
|
||||
let s:save_inc = ""
|
||||
let s:save_exc = ""
|
||||
if exists('g:omni_syntax_group_include_sql')
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
if !exists('g:omni_syntax_group_include_sql')
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
endif
|
||||
if exists('g:omni_syntax_group_exclude_sql')
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
if !exists('g:omni_syntax_group_exclude_sql')
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
endif
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
|
||||
" Used with the column list
|
||||
let s:save_prev_table = ""
|
||||
@@ -127,12 +141,12 @@ endif
|
||||
" Default syntax items to precache
|
||||
if !exists('g:omni_sql_precache_syntax_groups')
|
||||
let g:omni_sql_precache_syntax_groups = [
|
||||
\ 'syntax',
|
||||
\ 'sqlKeyword',
|
||||
\ 'sqlFunction',
|
||||
\ 'sqlOption',
|
||||
\ 'sqlType',
|
||||
\ 'sqlStatement'
|
||||
\ 'syntax\w*',
|
||||
\ 'sqlKeyword\w*',
|
||||
\ 'sqlFunction\w*',
|
||||
\ 'sqlOption\w*',
|
||||
\ 'sqlType\w*',
|
||||
\ 'sqlStatement\w*'
|
||||
\ ]
|
||||
endif
|
||||
" Set ignorecase to the ftplugin standard
|
||||
@@ -621,19 +635,23 @@ function! s:SQLCGetSyntaxList(syn_group)
|
||||
" Return previously cached value
|
||||
let compl_list = s:syn_value[list_idx]
|
||||
else
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
|
||||
" Request the syntax list items from the
|
||||
" syntax completion plugin
|
||||
if syn_group == 'syntax'
|
||||
" Handle this special case. This allows the user
|
||||
" to indicate they want all the syntax items available,
|
||||
" so do not specify a specific include list.
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
else
|
||||
" The user has specified a specific syntax group
|
||||
let g:omni_syntax_group_include_sql = syn_group
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList(syn_group)
|
||||
endif
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
let g:omni_syntax_group_include_sql = s:save_inc
|
||||
let g:omni_syntax_group_exclude_sql = s:save_exc
|
||||
" Cache these values for later use
|
||||
|
||||
@@ -1,18 +1,34 @@
|
||||
" Vim completion script
|
||||
" Language: All languages, uses existing syntax highlighting rules
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 11.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 13.0
|
||||
" Last Change: 2013 May 14
|
||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||
|
||||
" History
|
||||
"
|
||||
" Version 13.0
|
||||
" - Extended the option omni_syntax_group_include_{filetype}
|
||||
" to accept a comma separated list of regex's rather than
|
||||
" string. For example, for the javascript filetype you could
|
||||
" use:
|
||||
" let g:omni_syntax_group_include_javascript = 'javascript\w\+,jquery\w\+'
|
||||
" - Some syntax files (perl.vim) use the match // syntax as a mechanism
|
||||
" to identify keywords. This update attempts to parse the
|
||||
" match syntax and pull out syntax items which are at least
|
||||
" 3 words or more.
|
||||
"
|
||||
" Version 12.0
|
||||
" - It is possible to have '-' as part of iskeyword, when
|
||||
" checking for character ranges, tighten up the regex.
|
||||
" E688: More targets than List items.
|
||||
"
|
||||
" Version 11.0
|
||||
" Corrected which characters required escaping during
|
||||
" - Corrected which characters required escaping during
|
||||
" substitution calls.
|
||||
"
|
||||
" Version 10.0
|
||||
" Cycle through all the character ranges specified in the
|
||||
" - Cycle through all the character ranges specified in the
|
||||
" iskeyword option and build a list of valid word separators.
|
||||
" Prior to this change, only actual characters were used,
|
||||
" where for example ASCII "45" == "-". If "45" were used
|
||||
@@ -20,30 +36,30 @@
|
||||
" This introduces a new option, since the character ranges
|
||||
" specified could be multibyte:
|
||||
" let g:omni_syntax_use_single_byte = 1
|
||||
" This by default will only allow single byte ASCII
|
||||
" - This by default will only allow single byte ASCII
|
||||
" characters to be added and an additional check to ensure
|
||||
" the charater is printable (see documentation for isprint).
|
||||
"
|
||||
" Version 9.0
|
||||
" Add the check for cpo.
|
||||
" - Add the check for cpo.
|
||||
"
|
||||
" Version 8.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - Some additional syntax items were also allowed
|
||||
" on nextgroup= lines which were ignored by default.
|
||||
" Now these lines are processed independently.
|
||||
"
|
||||
" Version 7.0
|
||||
" Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Looking up the syntax groups defined from a syntax file
|
||||
" looked for only 1 format of {filetype}GroupName, but some
|
||||
" syntax writers use this format as well:
|
||||
" {b:current_syntax}GroupName
|
||||
" OmniSyntaxList() will now check for both if the first
|
||||
" - OmniSyntaxList() will now check for both if the first
|
||||
" method does not find a match.
|
||||
"
|
||||
" Version 6.0
|
||||
" Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Allows other plugins to use this for their own
|
||||
" purposes.
|
||||
" - It will return a List of all syntax items for the
|
||||
@@ -52,7 +68,7 @@
|
||||
" sqlcomplete plugin to populate a Choose box.
|
||||
"
|
||||
" Version 5.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - When processing a list of syntax groups, the final group
|
||||
" was missed in function SyntaxCSyntaxGroupItems.
|
||||
"
|
||||
@@ -70,7 +86,7 @@ endif
|
||||
if exists('g:loaded_syntax_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntax_completion = 110
|
||||
let g:loaded_syntax_completion = 130
|
||||
|
||||
" Turn on support for line continuations when creating the script
|
||||
let s:cpo_save = &cpo
|
||||
@@ -113,7 +129,8 @@ endif
|
||||
|
||||
" This script will build a completion list based on the syntax
|
||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
" let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
let s:syn_remove_words = 'matchgroup=,contains,'.
|
||||
\ 'links to,start=,end='
|
||||
" \ 'links to,start=,end=,nextgroup='
|
||||
|
||||
@@ -275,9 +292,19 @@ function! OmniSyntaxList(...)
|
||||
" sqlType
|
||||
" sqlOperators
|
||||
" sqlKeyword ...
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
if !empty(list_parms) && empty(substitute(join(list_parms), '[a-zA-Z ]', '', 'g'))
|
||||
" If list_parms only includes word characters, use it to limit
|
||||
" the syntax elements.
|
||||
" If using regex syntax list will fail to find those items, so
|
||||
" simply grab the who syntax list.
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
else
|
||||
redir @l
|
||||
silent! exec 'syntax list'
|
||||
redir END
|
||||
endif
|
||||
|
||||
let syntax_full = "\n".@l
|
||||
let @l = saveL
|
||||
@@ -311,82 +338,167 @@ function! OmniSyntaxList(...)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
if empty(list_parms)
|
||||
let list_parms = [&filetype.'\w\+']
|
||||
endif
|
||||
|
||||
let syn_list = ''
|
||||
let ftindex = 0
|
||||
let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
let index = 0
|
||||
for group_regex in list_parms
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(syntax_full, group_regex, ftindex)
|
||||
|
||||
while ftindex > -1
|
||||
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( syntax_full, '\w\+', ftindex )
|
||||
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\zs'.group_regex.'\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" For the matched group name, strip off any of the regex special
|
||||
" characters and see if we get a match with the current syntax
|
||||
if index == -1 && exists('b:current_syntax') && substitute(group_regex, '[^a-zA-Z ]\+.*', '', 'g') !~ '^'.b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let ftindex = ftindex + len(ft_part_name)
|
||||
let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
endwhile
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( syntax_full, group_regex, ftindex )
|
||||
" endwhile
|
||||
endfor
|
||||
|
||||
" " Sometimes filetypes can be composite names, like c.doxygen
|
||||
" " Loop through each individual part looking for the syntax
|
||||
" " items specific to each individual filetype.
|
||||
" let syn_list = ''
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
|
||||
" " Syntax rules can contain items for more than just the current
|
||||
" " filetype. They can contain additional items added by the user
|
||||
" " via autocmds or their vimrc.
|
||||
" " Some syntax files can be combined (html, php, jsp).
|
||||
" " We want only items that begin with the filetype we are interested in.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
" if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" " There appears to be two standards when writing syntax files.
|
||||
" " Either items begin as:
|
||||
" " syn keyword {filetype}Keyword values ...
|
||||
" " let b:current_syntax = "sql"
|
||||
" " let b:current_syntax = "sqlanywhere"
|
||||
" " Or
|
||||
" " syn keyword {syntax_filename}Keyword values ...
|
||||
" " let b:current_syntax = "mysql"
|
||||
" " So, we will make the format of finding the syntax group names
|
||||
" " a bit more flexible and look for both if the first fails to
|
||||
" " find a match.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endif
|
||||
|
||||
" while index > -1
|
||||
" let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
" let get_syn_list = 1
|
||||
" for exclude_group_name in list_exclude_groups
|
||||
" if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endfor
|
||||
|
||||
" " This code is no longer needed in version 6.0 since we have
|
||||
" " augmented the syntax list command to only retrieve the syntax
|
||||
" " groups we are interested in.
|
||||
" "
|
||||
" " if get_syn_list == 1
|
||||
" " if syntax_group_include_{filetype} != ''
|
||||
" " if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" " let get_syn_list = 0
|
||||
" " endif
|
||||
" " endif
|
||||
" " endif
|
||||
|
||||
" if get_syn_list == 1
|
||||
" " Pass in the full syntax listing, plus the group name we
|
||||
" " are interested in.
|
||||
" let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
" let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" endif
|
||||
|
||||
" let index = index + strlen(group_name)
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
" endwhile
|
||||
|
||||
" Convert the string to a List and sort it.
|
||||
let compl_list = sort(split(syn_list))
|
||||
@@ -454,10 +566,65 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
\ , "\n", 'g'
|
||||
\ )
|
||||
|
||||
" Attempt to deal with lines using the match syntax
|
||||
" javaScriptDocTags xxx match /@\(param\|argument\|requires\|file\)\>/
|
||||
" Though it can use any types of regex, so this plugin will attempt
|
||||
" to restrict it
|
||||
" 1. Only use \( or \%( constructs remove all else
|
||||
" 2 Remove and []s
|
||||
" 3. Account for match //constructs
|
||||
" \%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?
|
||||
" 4. Hope for the best
|
||||
"
|
||||
"
|
||||
let syn_list_old = syn_list
|
||||
while syn_list =~ '\<match\>\s\+\/'
|
||||
if syn_list =~ 'perlElseIfError'
|
||||
let syn_list = syn_list
|
||||
endif
|
||||
" Check if the match has words at least 3 characters long
|
||||
if syn_list =~ '\<match \/\zs.\{-}\<\w\{3,}\>.\{-}\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
" Remove everything after / and before the first \(
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs.\{-}\ze\\%\?(.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove everything after \) and up to the ending /
|
||||
let syn_list = substitute( syn_list, '\<match \/.\{-}\\)\zs.\{-}\ze\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
|
||||
" Remove any character classes
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\[[^]]*\].\{-}\ze\/ ', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\[[^]]*\]\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?', '', 'g' )
|
||||
" Remove any words < 3 characters
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\<\w\{1,2}\>\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove all non-word characters
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
||||
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
||||
" Do this by using the outer substitue() call to gather all
|
||||
" text between the match /.../ tags.
|
||||
" The inner substitute() call operates on the text selected
|
||||
" and replaces all non-word characters.
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs\(.\{-}\)\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
\ , '\=substitute(submatch(1), "\\W\\+", " ", "g")'
|
||||
\ , 'g' )
|
||||
" Remove the match / / syntax
|
||||
let syn_list = substitute( syn_list, '\<match \/\(.\{-}\)\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '\1', 'g' )
|
||||
else
|
||||
" No words long enough, remove the match
|
||||
" Remove the match syntax
|
||||
" let syn_list = substitute( syn_list, '\<match \/[^\/]*\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\<match \/\%(.\{-}\)\?\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
endif
|
||||
if syn_list =~ '\<match\>\s\+\/'
|
||||
" Problem removing the match / / tags
|
||||
let syn_list = ''
|
||||
endif
|
||||
endwhile
|
||||
|
||||
|
||||
" Now strip off the newline + blank space + contained.
|
||||
" Also include lines with nextgroup=@someName skip_key_words syntax_element
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
let syn_list = substitute(
|
||||
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
\ syn_list, '\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
\ , "", 'g'
|
||||
\ )
|
||||
|
||||
@@ -497,7 +664,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
" If so, add it to the list.
|
||||
let accepted_chars = ''
|
||||
for item in split(&iskeyword, ',')
|
||||
if item =~ '-'
|
||||
if item =~ '\d-\d'
|
||||
" This is a character range (ie 47-58),
|
||||
" cycle through each character within the range
|
||||
let [b:start, b:end] = split(item, '-')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for the tohtml plugin.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2012 Jun 30
|
||||
" Last Change: 2013 May 31
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -401,13 +401,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, '</head>')
|
||||
let body_line_num = len(html)
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call add(html, "<body onload='FixCharWidth();'>")
|
||||
call add(html, "<body onload='FixCharWidth(); JumpToLine();'>")
|
||||
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
|
||||
call add(html, "<div id='oneCharWidth'>0</div>")
|
||||
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
|
||||
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
|
||||
else
|
||||
call add(html, '<body>')
|
||||
call add(html, '<body onload="JumpToLine();">')
|
||||
endif
|
||||
call add(html, "<table border='1' width='100%' id='vimCodeElement'>")
|
||||
|
||||
@@ -503,6 +503,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, s:body_end_line)
|
||||
call add(html, '</html>')
|
||||
|
||||
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
||||
" Make sure the user doesn't do syntax folding when loading a generated file,
|
||||
" using a modeline.
|
||||
call add(html, '<!-- vim: set foldmethod=manual : -->')
|
||||
|
||||
let i = 1
|
||||
let name = "Diff" . (s:settings.use_xhtml ? ".xhtml" : ".html")
|
||||
" Find an unused file name if current file name is already in use
|
||||
@@ -539,14 +544,12 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" add required javascript in reverse order so we can just call append again
|
||||
" and again without adjusting {{{
|
||||
|
||||
" insert script closing tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || !empty(s:settings.prevent_copy)
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
endif
|
||||
" insert script closing tag
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
|
||||
" insert script which corrects the size of small input elements in
|
||||
" prevent_copy mode. See 2html.vim for details on why this is needed and how
|
||||
@@ -572,6 +575,55 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ '}'
|
||||
\ ])
|
||||
endif
|
||||
"
|
||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||
" jumping to any lines contained therein
|
||||
call append(style_start, [
|
||||
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
||||
\ " * we corrected the raw number to a line ID.",
|
||||
\ " */",
|
||||
\ " if (lineElem) {",
|
||||
\ " lineElem.scrollIntoView(true);",
|
||||
\ " }",
|
||||
\ " return true;",
|
||||
\ "}",
|
||||
\ "if ('onhashchange' in window) {",
|
||||
\ " window.onhashchange = JumpToLine;",
|
||||
\ "}"
|
||||
\ ])
|
||||
if s:settings.dynamic_folds
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
||||
\ " var node = lineElem;",
|
||||
\ " while (node && node.id != 'vimCodeElement')",
|
||||
\ " {",
|
||||
\ " if (node.className == 'closed-fold')",
|
||||
\ " {",
|
||||
\ " /* toggle open the fold ID (remove window ID) */",
|
||||
\ " toggleFold(node.id.substr(4));",
|
||||
\ " }",
|
||||
\ " node = node.parentNode;",
|
||||
\ " }",
|
||||
\ ])
|
||||
endif
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
||||
\ "function JumpToLine()",
|
||||
\ "{",
|
||||
\ " var lineNum;",
|
||||
\ " lineNum = window.location.hash;",
|
||||
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
||||
\ "",
|
||||
\ " if (lineNum.indexOf('L') == -1) {",
|
||||
\ " lineNum = 'L'+lineNum;",
|
||||
\ " }",
|
||||
\ " if (lineNum.indexOf('W') == -1) {",
|
||||
\ " lineNum = 'W1'+lineNum;",
|
||||
\ " }",
|
||||
\ " lineElem = document.getElementById(lineNum);"
|
||||
\ ])
|
||||
|
||||
" Insert javascript to toggle matching folds open and closed in all windows,
|
||||
" if dynamic folding is active.
|
||||
@@ -596,12 +648,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert script tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
endif "}}}
|
||||
" insert script tag; javascript is always needed for the line number
|
||||
" normalization for URL hashes
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
|
||||
" Insert styles from all the generated html documents and additional styles
|
||||
" for the table-based layout of the side-by-side diff. The diff should take
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2006 Dec 10
|
||||
" Last Change: 2013 May 23
|
||||
|
||||
hi clear
|
||||
set background=dark
|
||||
@@ -43,6 +43,8 @@ hi MatchParen term=reverse ctermfg=blue guibg=Blue
|
||||
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
|
||||
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
|
||||
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
|
||||
hi link IncSearch Visual
|
||||
hi link String Constant
|
||||
hi link Character Constant
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2003 May 02
|
||||
" Last Change: 2013 May 24
|
||||
|
||||
set background=dark
|
||||
hi clear
|
||||
@@ -11,7 +11,7 @@ if exists("syntax_on")
|
||||
endif
|
||||
let g:colors_name = "ron"
|
||||
hi Normal guifg=cyan guibg=black
|
||||
hi NonText guifg=brown
|
||||
hi NonText guifg=yellow guibg=#303030
|
||||
hi comment guifg=green
|
||||
hi constant guifg=cyan gui=bold
|
||||
hi identifier guifg=cyan gui=NONE
|
||||
@@ -24,10 +24,11 @@ hi WarningMsg guifg=Black guibg=Green
|
||||
hi Error guibg=Red
|
||||
hi Todo guifg=Black guibg=orange
|
||||
hi Cursor guibg=#60a060 guifg=#00ff00
|
||||
hi Search guibg=lightslateblue
|
||||
hi Search guibg=darkgray guifg=black gui=bold
|
||||
hi IncSearch gui=NONE guibg=steelblue
|
||||
hi LineNr guifg=darkgrey
|
||||
hi title guifg=darkgrey
|
||||
hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
|
||||
hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
|
||||
hi StatusLine gui=bold guifg=cyan guibg=blue
|
||||
hi label guifg=gold2
|
||||
@@ -41,3 +42,4 @@ hi DiffDelete guibg=coral
|
||||
hi Folded guibg=gray30
|
||||
hi FoldColumn guibg=gray30 guifg=white
|
||||
hi cIf0 guifg=gray
|
||||
hi diffOnly guifg=red gui=bold
|
||||
|
||||
23
runtime/compiler/haml.vim
Normal file
23
runtime/compiler/haml.vim
Normal file
@@ -0,0 +1,23 @@
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "haml"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=haml\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\Haml\ %trror\ on\ line\ %l:\ %m,
|
||||
\Syntax\ %trror\ on\ line\ %l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
21
runtime/compiler/msbuild.vim
Normal file
21
runtime/compiler/msbuild.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Microsoft Visual Studio C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "msbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=msbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
25
runtime/compiler/sass.vim
Normal file
25
runtime/compiler/sass.vim
Normal file
@@ -0,0 +1,25 @@
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "sass"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=sass\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%m\ (Sass::Syntax%trror),
|
||||
\%ESyntax\ %trror:%m,
|
||||
\%C%\\s%\\+on\ line\ %l\ of\ %f,
|
||||
\%Z%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
22
runtime/compiler/xbuild.vim
Normal file
22
runtime/compiler/xbuild.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Mono C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
|
||||
let current_compiler = "xbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=xbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 May 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -691,8 +691,11 @@ InsertCharPre When a character is typed in Insert mode,
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
|v:insertmode| variable indicates the mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
Be careful not to do anything else that the
|
||||
user does not expect.
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 May 06
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 May 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1171,7 +1171,7 @@ b:changedtick The total number of changes to the current buffer. It is
|
||||
A variable name that is preceded with "w:" is local to the current window. It
|
||||
is deleted when the window is closed.
|
||||
|
||||
*tabpage-variable* *t:var*
|
||||
*tabpage-variable* *t:var* *t:*
|
||||
A variable name that is preceded with "t:" is local to the current tab page,
|
||||
It is deleted when the tab page is closed. {not available when compiled
|
||||
without the |+windows| feature}
|
||||
@@ -1297,7 +1297,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
||||
*v:char* *char-variable*
|
||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||
character when using <expr> in an abbreviation |:map-<expr>|.
|
||||
It is also used by the |InsertCharPre| event.
|
||||
It is also used by the |InsertCharPre| and |InsertEnter| events.
|
||||
|
||||
*v:charconvert_from* *charconvert_from-variable*
|
||||
v:charconvert_from
|
||||
@@ -4639,7 +4639,7 @@ pumvisible() *pumvisible()*
|
||||
This can be used to avoid some things that would remove the
|
||||
popup menu.
|
||||
|
||||
*E860* *E861*
|
||||
*E860*
|
||||
py3eval({expr}) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 février 2002 February 16"
|
||||
.TH EVIM 1 "16 février 2002"
|
||||
.SH NAME
|
||||
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 février 2002 February 16"
|
||||
.TH EVIM 1 "16 février 2002"
|
||||
.SH NAME
|
||||
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
|
||||
*filetype.txt* For Vim version 7.3. Last change: 2013 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -603,7 +603,7 @@ Since the text for this plugin is rather long it has been put in a separate
|
||||
file: |ft_sql.txt|.
|
||||
|
||||
|
||||
TEX *ft-tex-plugin*
|
||||
TEX *ft-tex-plugin* *g:tex_flavor*
|
||||
|
||||
If the first line of a *.tex file has the form >
|
||||
%&<format>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 May 15
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -349,6 +349,7 @@ may not work properly on all platforms: >
|
||||
The static maps (which are based on the syntax highlight groups) follow this
|
||||
format: >
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
|
||||
|
||||
This command breaks down as: >
|
||||
imap - Create an insert map
|
||||
@@ -369,6 +370,9 @@ This command breaks down as: >
|
||||
command while editing a SQL file.
|
||||
'sqlKeyword' - Display the items for the sqlKeyword highlight
|
||||
group
|
||||
'sqlKeyword\w*' - A second option available with Vim 7.4 which
|
||||
uses a regular expression to determine which
|
||||
syntax groups to use
|
||||
)<CR> - Execute the :let command
|
||||
<C-X><C-O> - Trigger the standard omni completion key stroke.
|
||||
Passing in 'sqlKeyword' instructs the SQL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 May 06
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -11,9 +11,11 @@ The Python Interface to Vim *python* *Python*
|
||||
3. Buffer objects |python-buffer|
|
||||
4. Range objects |python-range|
|
||||
5. Window objects |python-window|
|
||||
6. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
7. Dynamic loading |python-dynamic|
|
||||
8. Python 3 |python3|
|
||||
6. Tab page objects |python-tabpage|
|
||||
7. vim.bindeval objects |python-bindeval-objects|
|
||||
8. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
9. Dynamic loading |python-dynamic|
|
||||
10. Python 3 |python3|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -57,6 +59,22 @@ Example: >
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
*:pydo*
|
||||
:[range]pydo {body} Execute Python function "def _vim_pydo(line, linenr):
|
||||
{body}" for each line in the [range], with the
|
||||
function arguments being set to the text of each line
|
||||
in turn, without a trailing <EOL>, and the current
|
||||
line number. The function should return a string or
|
||||
None. If a string is returned, it becomes the text of
|
||||
the line in the current turn. The default for [range]
|
||||
is the whole file: "1,$".
|
||||
{not in Vi}
|
||||
|
||||
Examples:
|
||||
>
|
||||
:pydo return "%s\t%d" % (line[::-1], len(line))
|
||||
:pydo if line: return "%4d: %s" % (linenr, line)
|
||||
<
|
||||
*:pyfile* *:pyf*
|
||||
:[range]pyf[ile] {file}
|
||||
Execute the Python script in {file}. The whole
|
||||
@@ -154,42 +172,20 @@ vim.eval(str) *python-eval*
|
||||
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but
|
||||
1. if expression evaluates to |List| or |Dictionary| it is returned as
|
||||
vimlist or vimdictionary python type that are connected to original
|
||||
list or dictionary. Thus modifications to these objects imply
|
||||
modifications of the original.
|
||||
|
||||
Additionally, vimlist and vimdictionary type have read-write
|
||||
`.locked` attribute that returns
|
||||
Value Meaning ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
integer constants. If variable is not fixed, you can do
|
||||
`var.locked=True` to lock it and `var.locked=False` to unlock.
|
||||
There is no recursive locking like |:lockvar|! does. There is also
|
||||
no way to lock a specific key or check whether it is locked (in any
|
||||
case these locks are ignored by anything except |:let|: |extend()|
|
||||
does not care, neither does python interface).
|
||||
|
||||
Vimdictionary type also supports `.scope` attribute which is one of
|
||||
Value Meaning ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE Function-local or global scope dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary
|
||||
|
||||
2. if expression evaluates to a function reference, then it returns
|
||||
callable vimfunction object. Use self keyword argument to assign
|
||||
|self| object for dictionary functions.
|
||||
|
||||
Note: this function has the same behavior as |lua-eval| (except that
|
||||
lua does not support running vim functions), |python-eval| is
|
||||
kept for backwards compatibility in order not to make scripts
|
||||
relying on outputs of vim.eval() being a copy of original or
|
||||
vim.eval("1") returning a string.
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|
||||
vim.strwidth(str) *python-strwidth*
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
is counted as one cell.
|
||||
|
||||
vim.chdir(*args, **kwargs) *python-chdir*
|
||||
vim.fchdir(*args, **kwargs) *python-fchdir*
|
||||
Run os.chdir or os.fchdir, then all appropriate vim stuff.
|
||||
Note: you should not use these functions directly, use os.chdir and
|
||||
os.fchdir instead. Behavior of vim.fchdir is undefined in case
|
||||
os.fchdir does not exist.
|
||||
|
||||
Error object of the "vim" module
|
||||
|
||||
@@ -209,12 +205,12 @@ Constants of the "vim" module
|
||||
to which the variables referred.
|
||||
|
||||
vim.buffers *python-buffers*
|
||||
A sequence object providing access to the list of vim buffers. The
|
||||
A mapping object providing access to the list of vim buffers. The
|
||||
object supports the following operations: >
|
||||
:py b = vim.buffers[i] # Indexing (read-only)
|
||||
:py b in vim.buffers # Membership test
|
||||
:py n = len(vim.buffers) # Number of elements
|
||||
:py for b in vim.buffers: # Sequential access
|
||||
:py for b in vim.buffers: # Iterating over buffer list
|
||||
<
|
||||
vim.windows *python-windows*
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
@@ -223,13 +219,28 @@ vim.windows *python-windows*
|
||||
:py w in vim.windows # Membership test
|
||||
:py n = len(vim.windows) # Number of elements
|
||||
:py for w in vim.windows: # Sequential access
|
||||
< Note: vim.windows object always accesses current tab page.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
they will not lose their properties in this case.
|
||||
|
||||
vim.tabpages *python-tabpages*
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
object supports the following operations: >
|
||||
:py t = vim.tabpages[i] # Indexing (read-only)
|
||||
:py t in vim.tabpages # Membership test
|
||||
:py n = len(vim.tabpages) # Number of elements
|
||||
:py for t in vim.tabpages: # Sequential access
|
||||
<
|
||||
vim.current *python-current*
|
||||
An object providing access (via specific attributes) to various
|
||||
"current" objects available in vim:
|
||||
vim.current.line The current line (RW) String
|
||||
vim.current.buffer The current buffer (RO) Buffer
|
||||
vim.current.window The current window (RO) Window
|
||||
vim.current.buffer The current buffer (RW) Buffer
|
||||
vim.current.window The current window (RW) Window
|
||||
vim.current.tabpage The current tab page (RW) TabPage
|
||||
vim.current.range The current line range (RO) Range
|
||||
|
||||
The last case deserves a little explanation. When the :python or
|
||||
@@ -237,6 +248,22 @@ vim.current *python-current*
|
||||
"current range". A range is a bit like a buffer, but with all access
|
||||
restricted to a subset of lines. See |python-range| for more details.
|
||||
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
autocommands use >
|
||||
py << EOF
|
||||
saved_eventignore = vim.options['eventignore']
|
||||
vim.options['eventignore'] = 'all'
|
||||
try:
|
||||
vim.current.buffer = vim.buffers[2] # Switch to buffer 2
|
||||
finally:
|
||||
vim.options['eventignore'] = saved_eventignore
|
||||
EOF
|
||||
<
|
||||
vim.vars *python-vars*
|
||||
vim.vvars *python-vvars*
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
@@ -255,6 +282,9 @@ vim.options *python-options*
|
||||
buffer-local options and |python-window| objects to access to
|
||||
window-local options.
|
||||
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
module.
|
||||
|
||||
Output from Python *python-output*
|
||||
Vim displays all Python code output in the Vim message area. Normal
|
||||
output appears as information messages, and error output appears as
|
||||
@@ -305,6 +335,13 @@ The buffer object attributes are:
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
will return None.
|
||||
b.name String, RW. Contains buffer name (full path).
|
||||
Note: when assigning to b.name |BufFilePre| and
|
||||
|BufFilePost| autocommands are launched.
|
||||
b.number Buffer number. Can be used as |python-buffers| key.
|
||||
Read-only.
|
||||
b.valid True or False. Buffer object becames invalid when
|
||||
corresponding buffer is wiped out.
|
||||
|
||||
The buffer object methods are:
|
||||
b.append(str) Append a line to the buffer
|
||||
@@ -324,6 +361,8 @@ Note that when adding a line it must not contain a line break character '\n'.
|
||||
A trailing '\n' is allowed and ignored, so that you can do: >
|
||||
:py b.append(f.readlines())
|
||||
|
||||
Buffer object type is available using "Buffer" attribute of vim module.
|
||||
|
||||
Examples (assume b is the current buffer) >
|
||||
:py print b.name # write the buffer file name
|
||||
:py b[0] = "hello!!!" # replace the top line
|
||||
@@ -365,6 +404,8 @@ The range object methods are:
|
||||
for Python's built-in list objects.
|
||||
r.append(list, nr) Idem, after line "nr"
|
||||
|
||||
Range object type is available using "Range" attribute of vim module.
|
||||
|
||||
Example (assume r is the current range):
|
||||
# Send all lines in a range to the default printer
|
||||
vim.command("%d,%dhardcopy!" % (r.start+1,r.end+1))
|
||||
@@ -375,6 +416,8 @@ Example (assume r is the current range):
|
||||
Window objects represent vim windows. You can obtain them in a number of ways:
|
||||
- via vim.current.window (|python-current|)
|
||||
- from indexing vim.windows (|python-windows|)
|
||||
- from indexing "windows" attribute of a tab page (|python-tabpage|)
|
||||
- from the "window" attribute of a tab page (|python-tabpage|)
|
||||
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
methods, and no sequence or other interface.
|
||||
@@ -396,17 +439,156 @@ Window attributes are:
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
return None.
|
||||
number (read-only) Window number. The first window has number 1.
|
||||
This is zero in case it cannot be determined
|
||||
(e.g. when the window object belongs to other
|
||||
tab page).
|
||||
row, col (read-only) On-screen window position in display cells.
|
||||
First position is zero.
|
||||
tabpage (read-only) Window tab page.
|
||||
valid (read-write) True or False. Window object becames invalid
|
||||
when corresponding window is closed.
|
||||
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
The width attribute is writable only if the screen is split vertically.
|
||||
|
||||
Window object type is available using "Window" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
6. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
6. Tab page objects *python-tabpage*
|
||||
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
ways:
|
||||
- via vim.current.tabpage (|python-current|)
|
||||
- from indexing vim.tabpages (|python-tabpages|)
|
||||
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
no sequence or other interfaces.
|
||||
|
||||
Tab page attributes are:
|
||||
number The tab page number like the one returned by
|
||||
|tabpagenr()|.
|
||||
windows Like |python-windows|, but for current tab page.
|
||||
vars The tab page |t:| variables.
|
||||
window Current tabpage window.
|
||||
valid True or False. Tab page object becames invalid when
|
||||
corresponding tab page is closed.
|
||||
|
||||
TabPage object type is available using "TabPage" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
7. vim.bindeval objects *python-bindeval-objects*
|
||||
|
||||
vim.Dictionary object *python-Dictionary*
|
||||
Dictionary-like object providing access to vim |Dictionary| type.
|
||||
Attributes:
|
||||
Attribute Description ~
|
||||
locked One of *python-.locked*
|
||||
Value Description ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
Read-write. You can unlock locked variable by assigning
|
||||
`True` or `False` to this attribute. No recursive locking
|
||||
is supported.
|
||||
scope One of
|
||||
Value Description ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE |g:| or |l:| dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary,
|
||||
see |internal-variables|
|
||||
Methods (note: methods do not support keyword arguments):
|
||||
Method Description ~
|
||||
keys() Returns a list with dictionary keys.
|
||||
values() Returns a list with dictionary values.
|
||||
items() Returns a list of 2-tuples with dictionary contents.
|
||||
update(iterable), update(dictionary), update(**kwargs)
|
||||
Adds keys to dictionary.
|
||||
get(key[, default=None])
|
||||
Obtain key from dictionary, returning the default if it is
|
||||
not present.
|
||||
pop(key[, default])
|
||||
Remove specified key from dictionary and return
|
||||
corresponding value. If key is not found and default is
|
||||
given returns the default, otherwise raises KeyError.
|
||||
popitem()
|
||||
Remove random key from dictionary and return (key, value)
|
||||
pair.
|
||||
has_key(key)
|
||||
Check whether dictionary contains specified key, similar
|
||||
to `key in dict`.
|
||||
|
||||
__new__(), __new__(iterable), __new__(dictionary), __new__(update)
|
||||
You can use `vim.Dictionary()` to create new vim
|
||||
dictionaries. `d=vim.Dictionary(arg)` is the same as
|
||||
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
|
||||
constructs empty dictionary.
|
||||
|
||||
Examples: >
|
||||
d = vim.Dictionary(food="bar") # Constructor
|
||||
d['a'] = 'b' # Item assignment
|
||||
print d['a'] # getting item
|
||||
d.update({'c': 'd'}) # .update(dictionary)
|
||||
d.update(e='f') # .update(**kwargs)
|
||||
d.update((('g', 'h'), ('i', 'j'))) # .update(iterable)
|
||||
for key in d.keys(): # .keys()
|
||||
for val in d.values(): # .values()
|
||||
for key, val in d.items(): # .items()
|
||||
print isinstance(d, vim.Dictionary) # True
|
||||
for key in d: # Iteration over keys
|
||||
class Dict(vim.Dictionary): # Subclassing
|
||||
<
|
||||
Note: when iterating over keys you should not modify dictionary.
|
||||
|
||||
vim.List object *python-List*
|
||||
Sequence-like object providing access to vim |List| type.
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
following methods:
|
||||
Method Description ~
|
||||
extend(item) Add items to the list.
|
||||
|
||||
__new__(), __new__(iterable)
|
||||
You can use `vim.List()` to create new vim lists.
|
||||
`l=vim.List(iterable)` is the same as
|
||||
`l=vim.bindeval('[]');l.extend(iterable)`. Without
|
||||
arguments constructs empty list.
|
||||
Examples: >
|
||||
l = vim.List("abc") # Constructor, result: ['a', 'b', 'c']
|
||||
l.extend(['abc', 'def']) # .extend() method
|
||||
print l[1:] # slicing
|
||||
l[:0] = ['ghi', 'jkl'] # slice assignment
|
||||
print l[0] # getting item
|
||||
l[0] = 'mno' # assignment
|
||||
for i in l: # iteration
|
||||
print isinstance(l, vim.List) # True
|
||||
class List(vim.List): # Subclassing
|
||||
|
||||
vim.Function object *python-Function*
|
||||
Function-like object, acting like vim |Funcref| object. Supports `.name`
|
||||
attribute and is callable. Accepts special keyword argument `self`, see
|
||||
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
|
||||
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
|
||||
|
||||
Examples: >
|
||||
f = vim.Function('tr') # Constructor
|
||||
print f('abc', 'a', 'b') # Calls tr('abc', 'a', 'b')
|
||||
vim.command('''
|
||||
function DictFun() dict
|
||||
return self
|
||||
endfunction
|
||||
''')
|
||||
f = vim.bindeval('function("DictFun")')
|
||||
print f(self={}) # Like call('DictFun', [], {})
|
||||
print isinstance(f, vim.Function) # True
|
||||
|
||||
==============================================================================
|
||||
8. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to VimL.
|
||||
|
||||
==============================================================================
|
||||
7. Dynamic loading *python-dynamic*
|
||||
9. Dynamic loading *python-dynamic*
|
||||
|
||||
On MS-Windows the Python library can be loaded dynamically. The |:version|
|
||||
output then includes |+python/dyn|.
|
||||
@@ -423,14 +605,16 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
|
||||
sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
8. Python 3 *python3*
|
||||
10. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do* *E863*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
|
||||
Vim can be built in four ways (:version output):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.3. Last change: 2012 Aug 30
|
||||
*indent.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -740,12 +740,12 @@ those useless characters first with a command like: >
|
||||
:%s /\r$//g
|
||||
|
||||
Or, you can simply |:let| the variable PHP_removeCRwhenUnix to 1 and the
|
||||
script will silently remove them when Vim loads a PHP file (at each|BufRead|).
|
||||
script will silently remove them when Vim loads a PHP file (at each |BufRead|).
|
||||
|
||||
OPTIONS: ~
|
||||
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
variables:
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
@@ -753,10 +753,21 @@ own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
|
||||
Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see|fo-table|for more information.
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
To add an extra indent to every PHP lines with N being the number of
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
With N being the number of 'shiftwidth' to add.
|
||||
|
||||
Only single-line comments will be affected such as: >
|
||||
# Comment
|
||||
// Comment
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
|
||||
@@ -772,7 +783,7 @@ For example, with N = 1, this will give:
|
||||
|
||||
$command_hist = TRUE;
|
||||
?>
|
||||
(Notice the extra indent between the PHP container markers and the code)
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
@@ -804,8 +815,10 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
(Since in PHP braces are not required inside 'case/default' blocks, by default they are indented at the same level than the 'switch()' to avoid
|
||||
unnecessary indentation)
|
||||
In PHP braces are not required inside 'case/default' blocks therefore 'case:'
|
||||
and 'default:' are indented at the same level than the 'switch()' to avoid
|
||||
meaningless indentation. You can use the above option to return to the
|
||||
traditional way.
|
||||
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 May 06
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1403,8 +1403,10 @@ tag command action ~
|
||||
|:pwd| :pw[d] print current directory
|
||||
|:py3| :py3 execute Python 3 command
|
||||
|:python3| :python3 same as :py3
|
||||
|:py3do| :py3d[o] execute Python 3 command for each line
|
||||
|:py3file| :py3f[ile] execute Python 3 script file
|
||||
|:python| :py[thon] execute Python command
|
||||
|:pydo| :pyd[o] execute Python command for each line
|
||||
|:pyfile| :pyf[ile] execute Python script file
|
||||
|:quit| :q[uit] quit current window (when one window quit Vim)
|
||||
|:quitall| :quita[ll] quit Vim
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Oct 06
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -48,9 +48,9 @@ COMPILING
|
||||
If you already have a compiled Vim program, check if the |+multi_byte| feature
|
||||
is included. The |:version| command can be used for this.
|
||||
|
||||
If +multi_byte is not included, you should compile Vim with "big" features.
|
||||
You can further tune what features are included. See the INSTALL files in the
|
||||
source directory.
|
||||
If +multi_byte is not included, you should compile Vim with "normal", "big" or
|
||||
"huge" features. You can further tune what features are included. See the
|
||||
INSTALL files in the source directory.
|
||||
|
||||
|
||||
LOCALE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Apr 27
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 May 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -5516,6 +5516,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
matches will be highlighted. This is used to avoid that Vim hangs
|
||||
when using a very complicated pattern.
|
||||
|
||||
*'regexpengine'* *'re'*
|
||||
'regexpengine' 're' number (default 0)
|
||||
global
|
||||
{not in Vi}
|
||||
This selects the default regexp engine. |two-engines|
|
||||
The possible values are:
|
||||
0 automatic selection
|
||||
1 old engine
|
||||
2 NFA engine
|
||||
Note that when using the NFA engine and the pattern contains something
|
||||
that is not supported the pattern will not match. This is only useful
|
||||
for debugging the regexp engine.
|
||||
|
||||
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
|
||||
'relativenumber' 'rnu' boolean (default off)
|
||||
local to window
|
||||
@@ -7508,7 +7521,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
given, no further entry is used.
|
||||
See |undo-persistence|.
|
||||
|
||||
*'undofile'* *'udf'*
|
||||
*'undofile'* *'noundofile'* *'udf'* *'noudf'*
|
||||
'undofile' 'udf' boolean (default off)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 Apr 20
|
||||
*pattern.txt* For Vim version 7.3. Last change: 2013 May 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -350,6 +350,27 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
or \z( pattern \) |/\z(|
|
||||
|
||||
|
||||
*/\%#=* *two-engines*
|
||||
Vim includes two regexp engines:
|
||||
1. An old, backtracking engine that supports everything.
|
||||
2. A new, NFA engine that works much faster on some patterns, but does not
|
||||
support everything.
|
||||
|
||||
Vim will automatically select the right engine for you. However, if you run
|
||||
into a problem or want to specifically select one engine or the other, you can
|
||||
prepend one of the following to the pattern:
|
||||
|
||||
\%#=0 Force automatic selection. Only has an effect when
|
||||
'regexpengine' has been set to a non-zero value.
|
||||
\%#=1 Force using the old engine.
|
||||
\%#=2 Force using the NFA engine.
|
||||
|
||||
You can also use the 'regexpengine' option to change the default.
|
||||
|
||||
*E864* *E868* *E874* *E875* *E876* *E877* *E878*
|
||||
If selecting the NFA engine and it runs into something that is not implemented
|
||||
the pattern will not match. This is only useful when debugging Vim.
|
||||
|
||||
==============================================================================
|
||||
3. Magic */magic*
|
||||
|
||||
@@ -396,9 +417,10 @@ pattern.
|
||||
|
||||
==============================================================================
|
||||
4. Overview of pattern items *pattern-overview*
|
||||
*E865* *E866* *E867* *E869*
|
||||
|
||||
Overview of multi items. */multi* *E61* *E62*
|
||||
More explanation and examples below, follow the links. *E64*
|
||||
More explanation and examples below, follow the links. *E64* *E871*
|
||||
|
||||
multi ~
|
||||
'magic' 'nomagic' matches of the preceding atom ~
|
||||
@@ -508,12 +530,14 @@ Character classes {not in Vi}: */character-classes*
|
||||
|
||||
|/\c| \c \c ignore case, do not use the 'ignorecase' option
|
||||
|/\C| \C \C match case, do not use the 'ignorecase' option
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|
||||
|/\m| \m \m 'magic' on for the following chars in the pattern
|
||||
|/\M| \M \M 'magic' off for the following chars in the pattern
|
||||
|/\v| \v \v the following chars in the pattern are "very magic"
|
||||
|/\V| \V \V the following chars in the pattern are "very nomagic"
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|/\%#=| \%#=1 \%#=1 select regexp engine |/zero-width|
|
||||
|
||||
|/\%d| \%d \%d match specified decimal character (eg \%d123)
|
||||
|/\%x| \%x \%x match specified hex character (eg \%x2a)
|
||||
@@ -581,7 +605,7 @@ overview.
|
||||
\? Just like \=. Cannot be used when searching backwards with the "?"
|
||||
command. {not in Vi}
|
||||
|
||||
*/\{* *E58* *E60* *E554*
|
||||
*/\{* *E58* *E60* *E554* *E870*
|
||||
\{n,m} Matches n to m of the preceding atom, as many as possible
|
||||
\{n} Matches n of the preceding atom
|
||||
\{n,} Matches at least n of the preceding atom, as many as possible
|
||||
@@ -674,6 +698,7 @@ overview.
|
||||
For speed it's often much better to avoid this multi. Try using "\zs"
|
||||
instead |/\zs|. To match the same as the above example:
|
||||
an\_s\+\zsfile
|
||||
At least set a limit for the look-behind, see below.
|
||||
|
||||
"\@<=" and "\@<!" check for matches just before what follows.
|
||||
Theoretically these matches could start anywhere before this position.
|
||||
@@ -686,6 +711,18 @@ overview.
|
||||
Example matches ~
|
||||
\1\@<=,\([a-z]\+\) ",abc" in "abc,abc"
|
||||
|
||||
\@123<=
|
||||
Like "\@<=" but only look back 123 bytes. This avoids trying lots
|
||||
of matches that are known to fail and make executing the pattern very
|
||||
slow. Example, check if there is a "<" just before "span":
|
||||
/<\@1<=span
|
||||
This will try matching "<" only one byte before "span", which is the
|
||||
only place that works anyway.
|
||||
After crossing a line boundary, the limit is relative to the end of
|
||||
the line. Thus the characters at the start of the line with the match
|
||||
are not counted (this is just to keep it simple).
|
||||
The number zero is the same as no limit.
|
||||
|
||||
*/\@<!*
|
||||
\@<! Matches with zero width if the preceding atom does NOT match just
|
||||
before what follows. Thus this matches if there is no position in the
|
||||
@@ -695,11 +732,16 @@ overview.
|
||||
The match with the preceding atom is made to end just before the match
|
||||
with what follows, thus an atom that ends in ".*" will work.
|
||||
Warning: This can be slow (because many positions need to be checked
|
||||
for a match).
|
||||
for a match). Use a limit if you can, see below.
|
||||
Example matches ~
|
||||
\(foo\)\@<!bar any "bar" that's not in "foobar"
|
||||
\(\/\/.*\)\@<!in "in" which is not after "//"
|
||||
|
||||
\@123<!
|
||||
Like "\@<!" but only look back 123 bytes. This avoids trying lots of
|
||||
matches that are known to fail and make executing the pattern very
|
||||
slow.
|
||||
|
||||
*/\@>*
|
||||
\@> Matches the preceding atom like matching a whole pattern. {not in Vi}
|
||||
Like "(?>pattern)" in Perl.
|
||||
@@ -962,7 +1004,8 @@ match ASCII characters, as indicated by the range.
|
||||
~ matches the last given substitute string */~* */\~*
|
||||
|
||||
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line. *E51* *E54* *E55*
|
||||
E.g., "\(^a\)" matches 'a' at the start of a line.
|
||||
*E51* *E54* *E55* *E872* *E873*
|
||||
|
||||
\1 Matches the same string that was matched by */\1* *E65*
|
||||
the first sub-expression in \( and \). {not in Vi}
|
||||
@@ -1168,6 +1211,8 @@ When "\Z" appears anywhere in the pattern, composing characters are ignored.
|
||||
Thus only the base characters need to match, the composing characters may be
|
||||
different and the number of composing characters may differ. Only relevant
|
||||
when 'encoding' is "utf-8".
|
||||
Exception: If the pattern starts with one or more composing characters, these
|
||||
must match.
|
||||
|
||||
When a composing character appears at the start of the pattern of after an
|
||||
item that doesn't include the composing character, a match is found at any
|
||||
@@ -1177,8 +1222,20 @@ When using a dot and a composing character, this works the same as the
|
||||
composing character by itself, except that it doesn't matter what comes before
|
||||
this.
|
||||
|
||||
The order of composing characters matters, even though changing the order
|
||||
doesn't change what a character looks like. This may change in the future.
|
||||
The order of composing characters does not matter. Also, the text may have
|
||||
more composing characters than the pattern, it still matches. But all
|
||||
composing characters in the pattern must be found in the text.
|
||||
|
||||
Suppose B is a base character and x and y are composing characters:
|
||||
pattern text match ~
|
||||
Bxy Bxy yes (perfect match)
|
||||
Bxy Byx yes (order ignored)
|
||||
Bxy By no (x missing)
|
||||
Bxy Bx no (y missing)
|
||||
Bx Bx yes (perfect mach)
|
||||
Bx By no (x missing)
|
||||
Bx Bxy yes (extra y ignored)
|
||||
Bx Byx yes (extra y ignored)
|
||||
|
||||
==============================================================================
|
||||
9. Compare with Perl patterns *perl-patterns*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2013 Apr 19
|
||||
*pi_netrw.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -146,13 +146,13 @@ and has lines resembling >
|
||||
<
|
||||
Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
||||
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
|
||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||
<
|
||||
Netrw will substitute the host's machine name for MACHINE from the url it is
|
||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
||||
attempting to open, and so one may specify >
|
||||
userid
|
||||
password
|
||||
for each site in a separate file in c:\Users\Myself\.
|
||||
for each site in a separate file: c:\Users\MyUserName\MachineName.
|
||||
|
||||
Now about browsing -- when you just want to look around before editing a
|
||||
file. For browsing on your current host, just "edit" a directory: >
|
||||
@@ -321,6 +321,8 @@ CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
|
||||
:call NetUserPass("uid") -- prompts for password
|
||||
:call NetUserPass("uid","password") -- sets global uid and password
|
||||
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
NETRW VARIABLES AND SETTINGS *netrw-variables* {{{2
|
||||
(Also see:
|
||||
|netrw-browser-var| : netrw browser option variables
|
||||
@@ -927,6 +929,7 @@ itself:
|
||||
endfunction
|
||||
endif
|
||||
>
|
||||
(Related topics: |ftp| |netrw-userpass| |netrw-start|)
|
||||
|
||||
==============================================================================
|
||||
9. Browsing *netrw-browsing* *netrw-browse* *netrw-help* {{{1
|
||||
@@ -2125,6 +2128,10 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
NOTE: suppressing the banner is a new feature
|
||||
which may cause problems.
|
||||
|
||||
*g:netrw_bannerbackslash* if this variable exists and is not zero, the
|
||||
banner will be displayed with backslashes
|
||||
rather than forward slashes.
|
||||
|
||||
*g:netrw_browse_split* when browsing, <cr> will open the file by:
|
||||
=0: re-using the same window
|
||||
=1: horizontally splitting the window first
|
||||
@@ -2306,14 +2313,14 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
Copies marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mc|)
|
||||
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||
="move" Windows
|
||||
Moves marked files (|netrw-mf|) to target
|
||||
directory (|netrw-mt|, |netrw-mm|)
|
||||
|
||||
*g:netrw_localmkdir* command for making a local directory
|
||||
default: "mkdir"
|
||||
|
||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
||||
default: "rmdir"
|
||||
|
||||
@@ -2416,11 +2423,6 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
< into one's <.vimrc> to use one's own
|
||||
preferences.
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
|
||||
messages, banners, and whatnot that one doesn't
|
||||
want masquerading as "directories" and "files".
|
||||
@@ -2428,6 +2430,11 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
messages. By default its value is:
|
||||
'^total\s\+\d\+$'
|
||||
|
||||
*g:netrw_ssh_cmd* One may specify an executable command
|
||||
to use instead of ssh for remote actions
|
||||
such as listing, file removal, etc.
|
||||
default: ssh
|
||||
|
||||
|
||||
*g:netrw_tmpfile_escape* =' &;'
|
||||
escape() is applied to all temporary files
|
||||
@@ -2990,6 +2997,19 @@ which is loaded automatically at startup (assuming :set nocp).
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v149: Apr 18, 2013 * in wide listing format, now have maps for
|
||||
w and b to move to next/previous file
|
||||
Apr 26, 2013 * one may now copy files in the same
|
||||
directory; netrw will issue requests for
|
||||
what names the files should be copied under
|
||||
Apr 29, 2013 * Trying Benzinger's problem again. Seems
|
||||
that commenting out the BufEnter and
|
||||
installing VimEnter (only) works. Weird
|
||||
problem! (tree listing, vim -O Dir1 Dir2)
|
||||
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
|
||||
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
|
||||
requested by Paul Domaskis.
|
||||
May 18, 2013 * More fixes for windows (not cygwin)
|
||||
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct
|
||||
choice of listing style, hiding style, and
|
||||
sorting style
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2008 Jun 16
|
||||
*pi_paren.txt* For Vim version 7.3. Last change: 2013 May 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -46,7 +46,10 @@ are:
|
||||
closed folds.
|
||||
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
|
||||
in a long line with syntax highlighting.
|
||||
|
||||
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
|
||||
g:matchparen_timeout and g:matchparen_insert_timeout variables and their
|
||||
buffer-local equivalents b:matchparen_timeout and
|
||||
b:matchparen_insert_timeout.
|
||||
|
||||
If you would like the |%| command to work better, the matchit plugin can be
|
||||
used, see |matchit-install|. This plugin also helps to skip matches in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2013 May 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -824,6 +824,7 @@ Short explanation of each option: *option-list*
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
'readonly' 'ro' disallow writing the buffer
|
||||
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
|
||||
'regexpengine' 're' default regexp engine to use
|
||||
'relativenumber' 'rnu' show relative line number in front of each line
|
||||
'remap' allow mappings to work recursively
|
||||
'report' threshold for reporting nr. of lines changed
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.3. Last change: 2012 Mar 16
|
||||
*starting.txt* For Vim version 7.3. Last change: 2013 May 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -438,6 +438,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
option should be used when Vim is started by a program that
|
||||
will wait for the edit session to finish (e.g., mail or
|
||||
readnews). See |amiga-window|.
|
||||
|
||||
MS-Windows: This option is not supported. However, when
|
||||
running Vim with an installed vim.bat or gvim.bat file it
|
||||
works.
|
||||
{not in Vi}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2013 May 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -381,7 +381,11 @@ This is not a syntax file itself, but a script that converts the current
|
||||
window into HTML. Vim opens a new window in which it builds the HTML file.
|
||||
|
||||
After you save the resulting file, you can view it with any browser. The
|
||||
colors should be exactly the same as you see them in Vim.
|
||||
colors should be exactly the same as you see them in Vim. You can jump to
|
||||
specific lines by adding (for example) #L123 or #123 to the end of the URL in
|
||||
your browser's address bar (#123 only with javascript support). And with
|
||||
|g:html_dynamic_folds| enabled, you can show or hide the text that is folded
|
||||
in Vim.
|
||||
|
||||
You are not supposed to set the 'filetype' or 'syntax' option to "2html"!
|
||||
Source the script to convert the current file: >
|
||||
@@ -424,7 +428,11 @@ and last line to be converted. Example, using the last set Visual area: >
|
||||
|g:html_diff_one_file| is set, :TOhtml will convert
|
||||
all windows which are part of the diff in the current
|
||||
tab and place them side-by-side in a <table> element
|
||||
in the generated HTML.
|
||||
in the generated HTML. When this happens you can jump
|
||||
to lines in specific windows with (for example) #W1L42
|
||||
for line 42 in the first diffed window, or #W3L87 for
|
||||
line 87 in the third. Omitting the window ID will
|
||||
default to the first window if javascript is enabled.
|
||||
|
||||
Examples: >
|
||||
|
||||
@@ -1239,17 +1247,17 @@ to your startup file.
|
||||
|
||||
ERLANG *erlang.vim* *ft-erlang-syntax*
|
||||
|
||||
The erlang highlighting supports Erlang (ERicsson LANGuage).
|
||||
Erlang is case sensitive and default extension is ".erl".
|
||||
Erlang is a functional programming language developed by Ericsson. Files with
|
||||
the following extensions are recognized as Erlang files: erl, hrl, yaws.
|
||||
|
||||
If you want to disable keywords highlighting, put in your .vimrc: >
|
||||
:let erlang_keywords = 1
|
||||
If you want to disable built-in-functions highlighting, put in your
|
||||
.vimrc file: >
|
||||
:let erlang_functions = 1
|
||||
If you want to disable special characters highlighting, put in
|
||||
your .vimrc: >
|
||||
:let erlang_characters = 1
|
||||
The BIFs (built-in functions) are highlighted by default. To disable this,
|
||||
put the following line in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_bifs = 0
|
||||
|
||||
To enable highlighting some special atoms, put this in your vimrc: >
|
||||
|
||||
:let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
@@ -2286,7 +2294,7 @@ For highlighting parent error ] or ): >
|
||||
|
||||
let php_parent_error_close = 1
|
||||
|
||||
For skipping an php end tag, if there exists an open ( or [ without a closing
|
||||
For skipping a php end tag, if there exists an open ( or [ without a closing
|
||||
one: >
|
||||
|
||||
let php_parent_error_open = 1
|
||||
|
||||
@@ -657,6 +657,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nottybuiltin' options.txt /*'nottybuiltin'*
|
||||
'nottyfast' options.txt /*'nottyfast'*
|
||||
'notx' options.txt /*'notx'*
|
||||
'noudf' options.txt /*'noudf'*
|
||||
'noundofile' options.txt /*'noundofile'*
|
||||
'novb' options.txt /*'novb'*
|
||||
'novice' vi_diff.txt /*'novice'*
|
||||
'novisualbell' options.txt /*'novisualbell'*
|
||||
@@ -736,9 +738,11 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'quote motion.txt /*'quote*
|
||||
'quoteescape' options.txt /*'quoteescape'*
|
||||
'rdt' options.txt /*'rdt'*
|
||||
're' options.txt /*'re'*
|
||||
'readonly' options.txt /*'readonly'*
|
||||
'redraw' vi_diff.txt /*'redraw'*
|
||||
'redrawtime' options.txt /*'redrawtime'*
|
||||
'regexpengine' options.txt /*'regexpengine'*
|
||||
'relativenumber' options.txt /*'relativenumber'*
|
||||
'remap' options.txt /*'remap'*
|
||||
'report' options.txt /*'report'*
|
||||
@@ -1389,6 +1393,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
/\ pattern.txt /*\/\\*
|
||||
/\$ pattern.txt /*\/\\$*
|
||||
/\%# pattern.txt /*\/\\%#*
|
||||
/\%#= pattern.txt /*\/\\%#=*
|
||||
/\%$ pattern.txt /*\/\\%$*
|
||||
/\%'m pattern.txt /*\/\\%'m*
|
||||
/\%( pattern.txt /*\/\\%(*
|
||||
@@ -2590,7 +2595,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:pwd editing.txt /*:pwd*
|
||||
:py if_pyth.txt /*:py*
|
||||
:py3 if_pyth.txt /*:py3*
|
||||
:py3do if_pyth.txt /*:py3do*
|
||||
:py3file if_pyth.txt /*:py3file*
|
||||
:pydo if_pyth.txt /*:pydo*
|
||||
:pyf if_pyth.txt /*:pyf*
|
||||
:pyfile if_pyth.txt /*:pyfile*
|
||||
:python if_pyth.txt /*:python*
|
||||
@@ -4256,9 +4263,24 @@ E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E860 eval.txt /*E860*
|
||||
E861 eval.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 if_pyth.txt /*E863*
|
||||
E864 pattern.txt /*E864*
|
||||
E865 pattern.txt /*E865*
|
||||
E866 pattern.txt /*E866*
|
||||
E867 pattern.txt /*E867*
|
||||
E868 pattern.txt /*E868*
|
||||
E869 pattern.txt /*E869*
|
||||
E87 windows.txt /*E87*
|
||||
E870 pattern.txt /*E870*
|
||||
E871 pattern.txt /*E871*
|
||||
E872 pattern.txt /*E872*
|
||||
E873 pattern.txt /*E873*
|
||||
E874 pattern.txt /*E874*
|
||||
E875 pattern.txt /*E875*
|
||||
E876 pattern.txt /*E876*
|
||||
E877 pattern.txt /*E877*
|
||||
E878 pattern.txt /*E878*
|
||||
E88 windows.txt /*E88*
|
||||
E89 message.txt /*E89*
|
||||
E90 message.txt /*E90*
|
||||
@@ -5882,6 +5904,7 @@ g:html_whole_filler syntax.txt /*g:html_whole_filler*
|
||||
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
|
||||
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
|
||||
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
|
||||
g:netrw_bannerbackslash pi_netrw.txt /*g:netrw_bannerbackslash*
|
||||
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
|
||||
g:netrw_browsex_viewer pi_netrw.txt /*g:netrw_browsex_viewer*
|
||||
g:netrw_bufsettings pi_netrw.txt /*g:netrw_bufsettings*
|
||||
@@ -5971,6 +5994,7 @@ g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
g:tex_fast syntax.txt /*g:tex_fast*
|
||||
g:tex_flavor filetype.txt /*g:tex_flavor*
|
||||
g:tex_isk syntax.txt /*g:tex_isk*
|
||||
g:var eval.txt /*g:var*
|
||||
g:vimball_home pi_vimball.txt /*g:vimball_home*
|
||||
@@ -7321,7 +7345,12 @@ put-Visual-mode change.txt /*put-Visual-mode*
|
||||
py3eval() eval.txt /*py3eval()*
|
||||
pyeval() eval.txt /*pyeval()*
|
||||
python if_pyth.txt /*python*
|
||||
python-.locked if_pyth.txt /*python-.locked*
|
||||
python-Dictionary if_pyth.txt /*python-Dictionary*
|
||||
python-Function if_pyth.txt /*python-Function*
|
||||
python-List if_pyth.txt /*python-List*
|
||||
python-bindeval if_pyth.txt /*python-bindeval*
|
||||
python-bindeval-objects if_pyth.txt /*python-bindeval-objects*
|
||||
python-buffer if_pyth.txt /*python-buffer*
|
||||
python-buffers if_pyth.txt /*python-buffers*
|
||||
python-command if_pyth.txt /*python-command*
|
||||
@@ -7336,6 +7365,8 @@ python-options if_pyth.txt /*python-options*
|
||||
python-output if_pyth.txt /*python-output*
|
||||
python-pyeval if_pyth.txt /*python-pyeval*
|
||||
python-range if_pyth.txt /*python-range*
|
||||
python-tabpage if_pyth.txt /*python-tabpage*
|
||||
python-tabpages if_pyth.txt /*python-tabpages*
|
||||
python-vars if_pyth.txt /*python-vars*
|
||||
python-vim if_pyth.txt /*python-vim*
|
||||
python-vvars if_pyth.txt /*python-vvars*
|
||||
@@ -7851,6 +7882,7 @@ system-functions usr_41.txt /*system-functions*
|
||||
system-vimrc starting.txt /*system-vimrc*
|
||||
s~ change.txt /*s~*
|
||||
t motion.txt /*t*
|
||||
t: eval.txt /*t:*
|
||||
t:var eval.txt /*t:var*
|
||||
t_#2 term.txt /*t_#2*
|
||||
t_#4 term.txt /*t_#4*
|
||||
@@ -8166,6 +8198,7 @@ try-nested eval.txt /*try-nested*
|
||||
try-nesting eval.txt /*try-nesting*
|
||||
tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
|
||||
@@ -328,7 +328,7 @@ Note: Use the <> form if possible
|
||||
t_k8 <F8> function key 8 *<F8>* *t_k8* *'t_k8'*
|
||||
t_k9 <F9> function key 9 *<F9>* *t_k9* *'t_k9'*
|
||||
t_k; <F10> function key 10 *<F10>* *t_k;* *'t_k;'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F1 <F11> function key 11 *<F11>* *t_F1* *'t_F1'*
|
||||
t_F2 <F12> function key 12 *<F12>* *t_F2* *'t_F2'*
|
||||
t_F3 <F13> function key 13 *<F13>* *t_F3* *'t_F3'*
|
||||
t_F4 <F14> function key 14 *<F14>* *t_F4* *'t_F4'*
|
||||
@@ -358,9 +358,9 @@ Note: Use the <> form if possible
|
||||
t_kI <Insert> insert key *t_kI* *'t_kI'*
|
||||
t_kD <Del> delete key *t_kD* *'t_kD'*
|
||||
t_kb <BS> backspace key *t_kb* *'t_kb'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
|
||||
t_kh <Home> home key *t_kh* *'t_kh'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
t_#2 <S-Home> shifted home key *<S-Home>* *t_#2* *'t_#2'*
|
||||
<xHome> alternate home key *<xHome>*
|
||||
t_@7 <End> end key *t_@7* *'t_@7'*
|
||||
t_*7 <S-End> shifted end key *<S-End>* *t_star7* *'t_star7'*
|
||||
@@ -373,8 +373,8 @@ Note: Use the <> form if possible
|
||||
t_K5 <kPageDown> keypad page-down key *t_K5* *'t_K5'*
|
||||
t_K6 <kPlus> keypad plus key *<kPlus>* *t_K6* *'t_K6'*
|
||||
t_K7 <kMinus> keypad minus key *<kMinus>* *t_K7* *'t_K7'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_K8 <kDivide> keypad divide *<kDivide>* *t_K8* *'t_K8'*
|
||||
t_K9 <kMultiply> keypad multiply *<kMultiply>* *t_K9* *'t_K9'*
|
||||
t_KA <kEnter> keypad enter key *<kEnter>* *t_KA* *'t_KA'*
|
||||
t_KB <kPoint> keypad decimal point *<kPoint>* *t_KB* *'t_KB'*
|
||||
t_KC <k0> keypad 0 *<k0>* *t_KC* *'t_KC'*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 May 06
|
||||
*todo.txt* For Vim version 7.3. Last change: 2013 Jun 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -34,6 +34,192 @@ not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
--- Python interface
|
||||
|
||||
Patch from ZyX, May 30: Fix some possible memory problems
|
||||
|
||||
Check: docs for .valid patch by ZyX, May 30
|
||||
Correction by Roland Eggner, May 31.
|
||||
|
||||
Tests are disabled because they fail.
|
||||
|
||||
Configure doesn't find Python 3 on Ubuntu 13.04. (Ken Takata, Apr 13)
|
||||
|
||||
Python SystemExit exception is not handled properly. Patch to catch the
|
||||
exception and give an error. (Yasuhiro Matsumoto)
|
||||
Does not work, tests fail.
|
||||
|
||||
Patch to complete after :py3. (Taro Muraoka, 2013 May 31)
|
||||
|
||||
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
|
||||
Patch to make os.chdir() handle side effects. (Xavier de Gaye, 2013 May 17)
|
||||
Update May 19, also for os.fchdir().
|
||||
Adds a $VIMRUNTIME/python directory.
|
||||
ZyX: OK to add python and python3 directory.
|
||||
|
||||
Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
|
||||
that breaks the build. (Brian Victor, 2008 Sep 1)
|
||||
|
||||
Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Win32: The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
|
||||
|
||||
Python: Be able to define a Python function that can be called directly from
|
||||
Vim script. Requires converting the arguments and return value, like with
|
||||
vim.bindeval().
|
||||
|
||||
--- runtime files
|
||||
|
||||
Syntax file for protocol buffers. (Feng Xiao, 2013 May 9)
|
||||
Has an ugly copyright notice.
|
||||
Add statement that it does not conflict with Vim license.
|
||||
|
||||
Patch for JavaScript syntax. (Kevin Locke, 2013 May 9)
|
||||
Claudio didn't respond yet.
|
||||
|
||||
--- Fast regexp engine
|
||||
|
||||
Error in HTML highlighting. (Hiroshi Shirosaki)
|
||||
|
||||
Tests for \{-} : Requires trying to start at every position?
|
||||
If so, rename nfa_has_backref to nfa_dup_states and re-use it for this.
|
||||
|
||||
Allow "^*" as a literal "*".
|
||||
|
||||
Need more testing for \1 back references.
|
||||
|
||||
Profiling:
|
||||
./vim -s ~/vim/test/loop.vim
|
||||
./vim -s ~/vim/test/xml.vim (Fix: Uses the old engine, see
|
||||
bt_regexp_debug.log)
|
||||
Need \@<=
|
||||
NFA engine could not handle "[<]\@<=[^ /!?<>"']\+"
|
||||
NFA engine could not handle "<!--\_.\{-}-->"
|
||||
|
||||
setting cpo_lit and cpo_bsl can be slow. Make them global.
|
||||
|
||||
Get example files for many languages. Compare syntax highlighting with old and
|
||||
new regexp, find regexp constructs where NFA does not work correctly.
|
||||
source ~/vim/regexp/runold.vim to update the "old" files.
|
||||
source ~/vim/regexp/runnew.vim to update the "new" files
|
||||
source ~/vim/regexp/diff.vim to find differences
|
||||
|
||||
More test files from the src/pkg/regexp/testdata directory in the Go repo.
|
||||
|
||||
It's very slow compared to the old engine...
|
||||
Performance tests:
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- glts has five tests. (May 25)
|
||||
- ~/vim/test/veryslow.js display last line (file from Daniel Fetchinson)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
- Slow combination of folding and PHP syntax highlighting. Script to
|
||||
reproduce it. Caused by "syntax sync fromstart" in combination with patch
|
||||
7.2.274. (Christian Brabandt, 2010 May 27) Generally, folding with
|
||||
'foldmethod' set to "syntax" is slow. Do profiling to find out why.
|
||||
- It does not use any of the optimizations, such as required start pattern.
|
||||
- When lists are empty in nfa_regmatch() and match is true, it keeps looping
|
||||
without doing anything.
|
||||
|
||||
Does not work (yet) with NFA:
|
||||
- \z() \z1 .. "\z9": Previously matched text in syn HL.
|
||||
- ~: previous substitute pattern. Requires recursive compilation?
|
||||
- \%u, \%x, \%o, \%d followed by a composing character
|
||||
- \%V Visual
|
||||
- \%[abc]
|
||||
- \%' mark
|
||||
- \@< match before zero-width
|
||||
- \@> match whole pattern
|
||||
|
||||
--- bug fixes
|
||||
|
||||
Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
|
||||
1)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
|
||||
Patch for if_perl. (Ike Devolder, May 27)
|
||||
|
||||
Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
|
||||
|
||||
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
|
||||
2012 Mar 21, update Mar 31)
|
||||
With fix for memory leak: Ken Takata, 2012 Aug 24
|
||||
Another update Sep 24.
|
||||
Also patch from Joerg Bornemann, 2013 Apr 30.
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
Patch by Christian Brabandt, 2012 Nov 16.
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
|
||||
Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
|
||||
Mar 31)
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
|
||||
Patch to fix finding toolbar bitmaps. Issue 129.
|
||||
|
||||
Combining characters are not used when executing a register with :@w.
|
||||
(William Fugh, 2013 Apr 5, more info from Ben Fritz)
|
||||
Patch by Christian Brabandt, 2013 Apr 6. Second one.
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
Issue 134: pasting in visual selection in empty buffer.
|
||||
Patch by Christian Brabandt, 2013 May 22.
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
When someone does a silly thing such as setting rows and columns to 65535,
|
||||
handle the out-of-memory and set them to sane values? (jimmywang, 2013 May 17)
|
||||
|
||||
InsertEnter doesn't prevent the cursor from moving when it goes to another
|
||||
line.
|
||||
|
||||
":diffoff" does not restore options from before starting diff mode.
|
||||
Patch by Christian Brabandt, 2013 May 26.
|
||||
|
||||
--- slightly incompatible changes
|
||||
|
||||
Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
|
||||
13)
|
||||
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
Patch by Michael Henry, 2013 Jan 30, update Feb 15.
|
||||
|
||||
Patch to store absolute path for cscope. (Christian Brabandt, 2013 May 31)
|
||||
|
||||
---- Fixes to be included before 7.4 above, less important stuff below ----
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
highlight group. Add a "\zs" after it?
|
||||
|
||||
@@ -48,8 +234,6 @@ GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||
|
||||
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
|
||||
|
||||
Nederlandse vertaling tutor. (Rob Bishoff, 2013 Apr 24)
|
||||
|
||||
The CompleteDone autocommand needs some info passed to it:
|
||||
- The word that was selected (empty if abandoned complete)
|
||||
- Type of completion: tag, omnifunc, user func.
|
||||
@@ -65,8 +249,9 @@ Win32: When a directory name contains an exclamation mark, completion doesn't
|
||||
complete the contents of the directory. No escaping for the "!"? (Jan
|
||||
Stocker, 2012 Jan 5)
|
||||
|
||||
Patch to load ~/.vim/vimrc when ~/.vimrc isn't found. (Lech Lorens, 2013 Apr
|
||||
13)
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like lambda functions?
|
||||
|
||||
Problem caused by patch 7.3.638: window->open does not update window
|
||||
correctly. Issue 91.
|
||||
@@ -76,90 +261,43 @@ Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
|
||||
Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)
|
||||
|
||||
Patch to make vim.bindeval() in Python work. (Yukihiro Nakadaira, 2013 Mar 25)
|
||||
|
||||
Patch to avoid wrong error message for 1.0[0]. (Yasuhiro Matsumoto, 2013 May
|
||||
1)
|
||||
|
||||
Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May
|
||||
5)
|
||||
|
||||
Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
|
||||
2012 Mar 21, update Mar 31)
|
||||
With fix for memory leak: Ken Takata, 2012 Aug 24
|
||||
Another update Sep 24.
|
||||
Also patch from Joerg Bornemann, 2013 Apr 30.
|
||||
|
||||
Do allow real tags above the !_TAG entries. Undo older patch. Issue 90.
|
||||
|
||||
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
|
||||
May 17: with winlist() and tabpagelist().
|
||||
May 19: with local variables.
|
||||
May 28: with options
|
||||
|
||||
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
|
||||
28) With tests: Oct 9.
|
||||
|
||||
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
|
||||
functions. (Christian Brabandt, 2013 May 8, update May 21)
|
||||
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
|
||||
Second one. Update May 22.
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
Patch for IME handling, adds 'imactivatefunc' and 'imstatusfunc' option.
|
||||
(Yukihiro Nakadaira, 2012 Aug 16)
|
||||
Patch to improve IME handling. (Yasuhiro Matsumoto, 2012 Jul 18)
|
||||
|
||||
Undo problem: line not removed as expected when using setline() from Insert
|
||||
mode. (Israel Chauca, 2010 May 13, more in second msg)
|
||||
Break undo when CTRL-R = changes the text? Or save more lines?
|
||||
Patch by Christian Brabandt, 2012 Nov 16.
|
||||
|
||||
Issue 54: document behavior of -complete, also expands arg.
|
||||
|
||||
Python patch 7: move more to if_py_boty. (ZyX 2013 Apr 26)
|
||||
Python patch 8: add vim.window.number. (ZyX 2013 Apr 26)
|
||||
Python patch 9: remove useless calls.. (ZyX 2013 Apr 26)
|
||||
Python patch 10: window position. (ZyX 2013 Apr 26)
|
||||
Python patch 11: reorder code in if_py_both (ZyX 2013 Apr 28)
|
||||
Python patch 12: fix SEGVs (ZyX 2013 Apr 28)
|
||||
Python patch 13: negative indices were failing (ZyX 2013 Apr 28)
|
||||
Python patch 14: tests for previous fixes (ZyX 2013 Apr 28)
|
||||
Python patch 15: make buflist a bufmap (ZyX 2013 Apr 28) incompatible?
|
||||
Python patch 16: fix name of FunctionType (ZyX 2013 Apr 28)
|
||||
Python patch 17: add iterators (ZyX 2013 Apr 28)
|
||||
Python patch 18: Python 2.2 support (ZyX 2013 Apr 28)
|
||||
Python patch 19: drop support for old Pythons (ZyX 2013 Apr 28)
|
||||
Python patch 20: tests for vim.buffers (ZyX 2013 Apr 28, second one)
|
||||
Python patch 20a: tests for vim.bufferlist (ZyX 2013 May 1)
|
||||
Python patch 21: add vim.tabpages and vim.current.tabpage (ZyX 2013 May 1)
|
||||
Python patch 22: make KeyErrors use PyErr_SetObject (ZyX 2013 May 1)
|
||||
Python patch 23: transform and clean python exceptions (ZyX 2013 May 1)
|
||||
Python patch 24: add ability to assign to more vim.current attributes (ZyX
|
||||
2013 May 1)
|
||||
Python patch 25: make vim.error Exception subclass (ZyX 2013 May 1)
|
||||
Python patch 26: check whether PyObject_IsTrue failed (ZyX 2013 May 1)
|
||||
Python patch 27: add tests for various python interfaces (ZyX 2013 May 1)
|
||||
|
||||
Matches might be highlighted correctly. Inefficient patch by Christian
|
||||
Brabandt, 2013 Feb 26.
|
||||
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
the two into a regex for searching. (Ned Konz)
|
||||
Patch by Christian Brabandt, 2013 Apr 20, unfinished.
|
||||
|
||||
Patch to use bold/italic fonts when 'guifontewide' is set. (Ken Takata, 2013
|
||||
Mar 31)
|
||||
|
||||
Patch to fix finding toolbar bitmaps. Issue 129.
|
||||
|
||||
Patch to handle Python SystemExit. (Yasuhiro Matsumoto, 2013 Apr 15)
|
||||
Bug: findfile("any", "http://;") returns http://any. (Andrew Pimlott, 2013 May
|
||||
7) Not sure if that can be fixed, but when using "file://" it should be
|
||||
possible to check if the file exists.
|
||||
|
||||
v:register is not directly reset to " after a delete command that specifies a
|
||||
register. It is reset after the next command. (Steve Vermeulen, 2013 Mar 16)
|
||||
|
||||
'ff' is wrong for one-line file without EOL. (Issue 77)
|
||||
|
||||
Patch for if_lua. (Luis Carvalho, 2012 Aug 26, update Aug 29, another Aug 30,
|
||||
then Sep 1, reminder Oct 14)
|
||||
|
||||
Patch to check if 'foldexpr' sets did_emsg. (Christian Brabandt, 2013 Mar 20)
|
||||
|
||||
No completion for :xmap and :smap. (Yukihiro Nakadaira, 2013 May 5)
|
||||
|
||||
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
|
||||
Needs a different check for CLEARTYPE_QUALITY.
|
||||
|
||||
@@ -172,21 +310,8 @@ a reboot.
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
It's probably a good idea to make a negative value for 'sts' use the value of
|
||||
'sw'. Patch by So8res, Oct 3 2012
|
||||
|
||||
Test 79 fails on Windows only. (Michael Soyka, 2013 Apr 11).
|
||||
What makes the test script mapping continue after an error?
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
|
||||
Combining characters are not used when executing a register with :@w.
|
||||
(William Fugh, 2013 Apr 5, more info from Ben Fritz)
|
||||
Patch by Christian Brabandt, 2013 Apr 6. Second one.
|
||||
|
||||
Bug in completion menu. (Olivier Teuliere, 2013 Feb 15)
|
||||
Patch by Christian Brabandt, Feb 16.
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||
|
||||
@@ -201,7 +326,11 @@ Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
|
||||
|
||||
Patch to use directX to draw text on Windows. Adds the 'renderoptions'
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3)
|
||||
option. (Taro Muraoka, 2013 Jan 25, update 2013 Apr 3, May 14)
|
||||
|
||||
Patch to add 'completeselect' option. Specifies how to select a candidate in
|
||||
insert completion. (Shougo, 2013 May 29)
|
||||
Update to add to existing 'completeopt'. 2013 May 30
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
@@ -227,10 +356,6 @@ Szamotulski, 2012 Nov 8)
|
||||
Crash in autocmd that unloads buffers in a BufUnload event. (Andrew Pimlott,
|
||||
2012 Aug 11) Disallow :new when BufUnload is being handled?
|
||||
|
||||
MS-Windows ACL support doesn't work well. Patch from Ken Takata, 2012 Aug 29.
|
||||
Update Aug 31.
|
||||
Another patch for MingW, 2012 Dec 29.
|
||||
|
||||
MS-Windows resizing problems:
|
||||
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
|
||||
20. Uses getWindowRect() instead of GetWindowPlacement()
|
||||
@@ -240,7 +365,7 @@ MS-Windows resizing problems:
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Patch to append regesp to tag commands to make it possible to select one out
|
||||
Patch to append regexp to tag commands to make it possible to select one out
|
||||
of many matches. (Cody Cutler, 2013 Mar 28)
|
||||
|
||||
Help for 'b:undo_indent'. (Thilo Six, 2012 May 28)
|
||||
@@ -281,18 +406,9 @@ Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||
|
||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||
|
||||
Patch to print the result of a :python command. (Maxim Philippov
|
||||
<philippovmi@gmail.com>, 2012 Aug 16) Update Aug 17.
|
||||
|
||||
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
|
||||
Apr 18)
|
||||
|
||||
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
|
||||
Patch Sep 18.
|
||||
|
||||
Patch for IME problems. Remove hacking code for old IM. (Yukihiro Nakadaira,
|
||||
2012 Jul 20)
|
||||
|
||||
Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
|
||||
And one for gui_x11.txt.
|
||||
|
||||
@@ -301,6 +417,7 @@ And one for gui_x11.txt.
|
||||
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
|
||||
More recent version: https://retracile.net/wiki/VimBreakIndent
|
||||
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
|
||||
Update by Taylor Hedberg, 2013 May 30.
|
||||
|
||||
":cd" doesn't work when current directory path contains "**".
|
||||
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
|
||||
@@ -325,16 +442,11 @@ Nov 20)
|
||||
Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
|
||||
Update Jun 2.
|
||||
|
||||
Patch to add ":py3do". (Lilydjwg, 2012 Apr 7)
|
||||
|
||||
`] moves to character after insert, instead of the last inserted character.
|
||||
(Yukihiro Nakadaira, 2011 Dec 9)
|
||||
|
||||
Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)
|
||||
|
||||
Updated syntax file for ssh_config, maintainer doesn't respond.
|
||||
(Leonard Ehrenfried, 2011 Sep 26)
|
||||
|
||||
BufWinLeave triggers too late when quitting last window in a tab page. (Lech
|
||||
Lorens, 2012 Feb 21)
|
||||
|
||||
@@ -364,15 +476,9 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
|
||||
2012 Apr 2.
|
||||
|
||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
||||
|
||||
Win32: Does building a 64 bit version with VC9 give warnings for int
|
||||
conversions? (Mike Williams)
|
||||
|
||||
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
|
||||
New feature, requires testing. Made some remarks.
|
||||
|
||||
@@ -452,12 +558,6 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
|
||||
Make 'formatprg' global-local. (Sung Pae)
|
||||
|
||||
When a buffer-local mapping is used, but a global mapping starts with the same
|
||||
characters, Vim currently waits for the next typed character to find out if
|
||||
the global mapping matches. It is probably better to let the local mapping
|
||||
win and not wait. (discussion with Andy Wokula, 2013 Jan 30)
|
||||
Patch by Michael Henry, 2013 Jan 30, update Feb 15.
|
||||
|
||||
When doing "redir => s:foo" in a script and then "redir END" somewhere else
|
||||
(e.g. in a function) it can't find s:foo.
|
||||
|
||||
@@ -584,9 +684,6 @@ the command line. (Ingo Karkat, 2011 Jan 25)
|
||||
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
|
||||
crash? (Raiwil, 2010 Nov 17)
|
||||
|
||||
Python: Adding line to buffer other than the current one doesn't work
|
||||
correctly. (Rozbujnik, 2010 Dec 19)
|
||||
|
||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||
Assume the system converts between the actual encoding of the filesystem to
|
||||
@@ -751,12 +848,6 @@ Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
|
||||
Using ']' as the end of a range in a pattern requires double escaping:
|
||||
/[@-\\]] (Andy Wokula, 2011 Jun 28)
|
||||
|
||||
Slow combination of folding and PHP syntax highlighting. Script to reproduce
|
||||
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
|
||||
(Christian Brabandt, 2010 May 27)
|
||||
Generally, folding with 'foldmethod' set to "syntax" is slow. Do profiling to
|
||||
find out why.
|
||||
|
||||
Syntax priority problem. (Charles Campbell, 2011 Sep 15)
|
||||
|
||||
When completion inserts the first match, it may trigger the line to be folded.
|
||||
@@ -946,9 +1037,6 @@ shellescape() depends on 'shellshash' for quoting. That doesn't work when
|
||||
Use a different option or let it depend on whether 'shell' looks like a
|
||||
unix-like shell?
|
||||
|
||||
Allow patches to add something to version.c, like with an official patch, so
|
||||
that :version output shows which patches have been applied.
|
||||
|
||||
Bug: in Ex mode (after "Q") backslash before line break, when yanked into a
|
||||
register and executed, results in <Nul>: instead of line break.
|
||||
(Konrad Schwarz, 2010 Apr 16)
|
||||
@@ -1096,6 +1184,14 @@ Oct 19) Check for "col" being "MAXCOL" separately?
|
||||
Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)
|
||||
Works OK when 'cmdheight' is 2.
|
||||
|
||||
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
||||
for CTRL-] and jump to the appropriate matching tag (if there are
|
||||
several).
|
||||
Alternative: be able to define a function that takes the tag name and uses
|
||||
taglist() to find the right location. With indication of using CTRL-] so
|
||||
that the context can be taken into account. (Robert Webb)
|
||||
Patch by Christian Brabandt, 2013 May 31.
|
||||
|
||||
Test54 should not use shell commands. Make it portable.
|
||||
|
||||
The utf class table is missing some entries:
|
||||
@@ -1163,18 +1259,6 @@ Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||
|
||||
Add ":nofold". Range will apply without expanding to closed fold.
|
||||
|
||||
Including NFA regexp code:
|
||||
Use "\%#= to set the engine: 0 = automatic, 1 = backtracking, 2 = new.
|
||||
Useful in tests.
|
||||
Performance tests:
|
||||
- ~/vim/test/veryslow.js (file from Daniel Fetchinson)
|
||||
- ~/vim/test/slowsearch
|
||||
- ~/vim/test/rgb.vim
|
||||
- ~/vim/text/FeiqCfg.xml (file from Netjune)
|
||||
- ~/vim/text/edl.svg (also XML)
|
||||
- search for a.*e*exn in the vim executable. Go to last line to use
|
||||
'hlsearch'.
|
||||
|
||||
Using Aap to build Vim: add remarks about how to set personal preferences.
|
||||
Example on http://www.calmar.ws/tmp/aap.html
|
||||
|
||||
@@ -1407,9 +1491,6 @@ if_ruby.c.
|
||||
|
||||
":helpgrep" should use the directory from 'helpfile'.
|
||||
|
||||
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
|
||||
Needs more work.
|
||||
|
||||
The need_fileinfo flag is messy. Instead make the message right away and put
|
||||
it in keep_msg?
|
||||
|
||||
@@ -1451,9 +1532,6 @@ When doing ":quit" the Netbeans "killed" event isn't sent. (Xavier de Gaye,
|
||||
2008 Nov 10) call netbeans_file_closed() at the end of buf_freeall(), or in
|
||||
all places where buf_freeall() is called?
|
||||
|
||||
":python os.chdir('/tmp')" makes short buffer names invalid. (Xavier de Gaye)
|
||||
Check directory and call shorten_fnames()?
|
||||
|
||||
aucmd_prepbuf() should also use a window in another tab page.
|
||||
|
||||
When unloading a buffer in a BufHidden autocommand the hidden flag is reset?
|
||||
@@ -1489,9 +1567,6 @@ somehow? Or use a new function.
|
||||
|
||||
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)
|
||||
|
||||
Mac: OS/X 10.4 with Python 2.5 installed: configure finds an extra argument
|
||||
that breaks the build. (Brian Victor, 2008 Sep 1)
|
||||
|
||||
Add an option to specify the character to use when a double-width character is
|
||||
moved to the next line. Default '>', set to a space to blank it out. Check
|
||||
that char is single width when it's set (compare with 'listchars').
|
||||
@@ -1733,10 +1808,8 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
|
||||
2010 Jun 30)
|
||||
|
||||
|
||||
At next release 7.4:
|
||||
At next release:
|
||||
- Build a huge version by default.
|
||||
- Rename src/Makefile and create a new one like toplevel Makefile that
|
||||
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
|
||||
- Improve plugin handling: Automatic updates, handle dependencies?
|
||||
E.g. Vundle: https://github.com/gmarik/vundle
|
||||
|
||||
@@ -1778,7 +1851,6 @@ More patches:
|
||||
more friendly for the Vim distribution.
|
||||
New version received 2008 Jan 6.
|
||||
No maintenance in two years...
|
||||
- Patch to access screen under Python. (Marko Mahni, 2010 Jul 18)
|
||||
- Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)
|
||||
|
||||
Awaiting updated patches:
|
||||
@@ -2357,7 +2429,6 @@ Macintosh:
|
||||
8 When doing Insert mode completion a mapping cannot recursively call
|
||||
edit(), because the completion information is global. Put everything in
|
||||
an allocated structure?
|
||||
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
|
||||
@@ -3606,12 +3677,6 @@ Tags:
|
||||
make the filename or the whole option use |wildcards| globing, better
|
||||
would be to merge the 2 kinds of globing. originally (Erik Falor, 2008
|
||||
April 18), updated (Ian Kelling, 2008 July 4)
|
||||
8 Use a mechanism similar to omni completion to figure out the kind of tab
|
||||
for CTRL-] and jump to the appropriate matching tag (if there are
|
||||
several).
|
||||
Alternative: be able to define a function that takes the tag name and uses
|
||||
taglist() to find the right location. With indication of using CTRL-] so
|
||||
that the context can be taken into account. (Robert Webb)
|
||||
7 Can CTRL-] (jump to tag) include a following "." and "->" to restrict the
|
||||
number of possible matches? Check tags file for an item that has members.
|
||||
(Flemming Madsen)
|
||||
@@ -3654,9 +3719,6 @@ Tags:
|
||||
Win32 GUI:
|
||||
8 Make debug mode work while starting up (vim -D). Open console window for
|
||||
the message and input?
|
||||
7 The Python interface only works with one version of Python, selected at
|
||||
compile time. Can this be made to work with version 2.1 and 2.2
|
||||
dynamically?
|
||||
7 GvimExt: when there are several existing Vims, move the list to a submenu.
|
||||
(Mike McCollister)
|
||||
8 When using "Edit with Vim" for one file it changes directory, when several
|
||||
@@ -4871,8 +4933,6 @@ Debug mode:
|
||||
|
||||
|
||||
Various improvements:
|
||||
9 Python: be able to define a Python function that can be called directly
|
||||
from Vim script. Requires converting the arguments and return value.
|
||||
7 Add plugins for formatting? Should be able to make a choice depending on
|
||||
the language of a file (English/Korean/Japanese/etc.).
|
||||
Setting the 'langformat' option to "chinese" would load the
|
||||
@@ -4897,7 +4957,6 @@ Various improvements:
|
||||
7 Allow a window not to have a statusline. Makes it possible to use a
|
||||
window as a buffer-tab selection.
|
||||
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
|
||||
6 Python interface: add vim.message() function. (Michal Vitecek, 2002 Nov 5)
|
||||
7 Support using ":vert" with User commands. Add expandable items <vert>.
|
||||
Do the same for ":browse" and ":confirm"?
|
||||
For ":silent" and ":debug" apply to the whole user command.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2012 Dec 06
|
||||
*various.txt* For Vim version 7.3. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -368,7 +368,7 @@ N *+mouse_sysmouse* Unix only: *BSD console mouse handling |sysmouse|
|
||||
B *+mouse_sgr* Unix only: sgr mouse handling |sgr-mouse|
|
||||
B *+mouse_urxvt* Unix only: urxvt mouse handling |urxvt-mouse|
|
||||
N *+mouse_xterm* Unix only: xterm mouse handling |xterm-mouse|
|
||||
B *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
N *+multi_byte* 16 and 32 bit characters |multibyte|
|
||||
*+multi_byte_ime* Win32 input method for multibyte chars |multibyte-ime|
|
||||
N *+multi_lang* non-English language support |multi-lang|
|
||||
m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.\" Traduction Lundi 7 août 2000 par Richard Hitier
|
||||
.\" Traduction lundi 7 août 2000 par Richard Hitier
|
||||
.\" (richard.hitier@dial.oleane.com)
|
||||
.\" Mise à jour de la traduction par David Blanchet
|
||||
.\" (david.blanchet@free.fr) 2006-06-10
|
||||
.\" Mise à jour de la traduction par Dominique Pellé
|
||||
.\" (dominique.pelle@gmail.com) 2008-11-29
|
||||
.\" (dominique.pelle@gmail.com) 2013-05-10
|
||||
.\"
|
||||
.TH VIM 1 "22 Février 2002"
|
||||
.TH VIM 1 "22 février 2002"
|
||||
.SH NOM
|
||||
vim \- Vi IMproved, éditeur de texte pour programmeurs
|
||||
.SH SYNOPSIS
|
||||
@@ -156,7 +156,7 @@ Ex
|
||||
{commande} est interprétée comme une commande Ex.
|
||||
Si la {commande} contient des espaces, elle doit être entourée
|
||||
de doubles-apostrophes (cela dépend du shell utilisé).
|
||||
Exemple: Vim "+set si" main.c
|
||||
Exemple : Vim "+set si" main.c
|
||||
.br
|
||||
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
|
||||
.TP
|
||||
@@ -204,7 +204,7 @@ Fonctionne comme vimdiff(1).
|
||||
\-d {périph}
|
||||
Ouvre {périph} pour l'utiliser comme terminal.
|
||||
Uniquement sur Amiga.
|
||||
Exemple:
|
||||
Exemple :
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
@@ -269,7 +269,7 @@ quitte.
|
||||
Si
|
||||
.B Vim
|
||||
a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
|
||||
fichiers de droite à gauche et les claviers hébreu, cette option lance
|
||||
fichiers de droite à gauche et les claviers hébreux, cette option lance
|
||||
.B Vim
|
||||
en mode Hébreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
|
||||
Sinon, un message d'erreur est émis et
|
||||
@@ -435,7 +435,7 @@ Mode restreint. Fonctionne comme si l'ex
|
||||
\-\-
|
||||
Délimite la fin des options.
|
||||
Les arguments qui suivent seront considérés comme des noms de fichiers.
|
||||
Cela permet d'éditer des fichier débutant par un '\-'.
|
||||
Cela permet d'éditer des fichiers débutant par un '\-'.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
IHM graphique GTK uniquement : retourne la Window ID sur stdout.
|
||||
@@ -586,4 +586,4 @@ Cette page de manuel a
|
||||
.br
|
||||
Cette page de manuel a été mise à jour par David Blanchet.
|
||||
<david.blanchet@free.fr> 2006-04-10.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
.\" Traduction Lundi 7 août 2000 par Richard Hitier
|
||||
.\" Traduction lundi 7 août 2000 par Richard Hitier
|
||||
.\" (richard.hitier@dial.oleane.com)
|
||||
.\" Mise à jour de la traduction par David Blanchet
|
||||
.\" (david.blanchet@free.fr) 2006-06-10
|
||||
.\" Mise à jour de la traduction par Dominique Pellé
|
||||
.\" (dominique.pelle@gmail.com) 2008-11-29
|
||||
.\" (dominique.pelle@gmail.com) 2013-05-10
|
||||
.\"
|
||||
.TH VIM 1 "22 Février 2002"
|
||||
.TH VIM 1 "22 février 2002"
|
||||
.SH NOM
|
||||
vim \- Vi IMproved, éditeur de texte pour programmeurs
|
||||
.SH SYNOPSIS
|
||||
@@ -156,7 +156,7 @@ Exécute {commande} après la lecture du premier fichier.
|
||||
{commande} est interprétée comme une commande Ex.
|
||||
Si la {commande} contient des espaces, elle doit être entourée
|
||||
de doubles-apostrophes (cela dépend du shell utilisé).
|
||||
Exemple: Vim "+set si" main.c
|
||||
Exemple : Vim "+set si" main.c
|
||||
.br
|
||||
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
|
||||
.TP
|
||||
@@ -204,7 +204,7 @@ Fonctionne comme vimdiff(1).
|
||||
\-d {périph}
|
||||
Ouvre {périph} pour l'utiliser comme terminal.
|
||||
Uniquement sur Amiga.
|
||||
Exemple:
|
||||
Exemple :
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
@@ -269,7 +269,7 @@ quitte.
|
||||
Si
|
||||
.B Vim
|
||||
a été compilé avec le support de la fonctionnalité RIGHTLEFT pour l'édition de
|
||||
fichiers de droite à gauche et les claviers hébreu, cette option lance
|
||||
fichiers de droite à gauche et les claviers hébreux, cette option lance
|
||||
.B Vim
|
||||
en mode Hébreu, c.-à-d. avec les options 'hkmap' et 'rightleft' activées.
|
||||
Sinon, un message d'erreur est émis et
|
||||
@@ -435,7 +435,7 @@ Mode restreint. Fonctionne comme si l'exécutable commençait par la lettre 'r'.
|
||||
\-\-
|
||||
Délimite la fin des options.
|
||||
Les arguments qui suivent seront considérés comme des noms de fichiers.
|
||||
Cela permet d'éditer des fichier débutant par un '\-'.
|
||||
Cela permet d'éditer des fichiers débutant par un '\-'.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
IHM graphique GTK uniquement : retourne la Window ID sur stdout.
|
||||
@@ -586,4 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier.
|
||||
.br
|
||||
Cette page de manuel a été mise à jour par David Blanchet.
|
||||
<david.blanchet@free.fr> 2006-04-10.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour par Dominique Pellé <dominique.pelle@gmail.com> 2013-05-10
|
||||
|
||||
@@ -159,7 +159,7 @@ fichier n'est pas adressable, seuls les vides sont autoris
|
||||
comblés par des octets nuls.
|
||||
.PP
|
||||
.I xxd \-r
|
||||
ne génère aucune erreur lors de l'analyse. Le problème sont passés
|
||||
ne génère aucune erreur lors de l'analyse. Les problèmes sont passés
|
||||
silencieusement.
|
||||
.PP
|
||||
Lors de l'édition de la représentation hexadécimale, veuillez noter que
|
||||
@@ -307,7 +307,7 @@ Convertir le fichier de l'exemple pr
|
||||
000fffc: 0000 0000 40 ....A
|
||||
.PP
|
||||
Créer un fichier d'un octet, contenant seulement le caractère 'A'.
|
||||
Les nombres après '\-r \-s' s'ajoutent au numéros de lignes trouvées dans le
|
||||
Le nombre après '\-r \-s' s'ajoute aux numéros de lignes trouvées dans le
|
||||
fichier ; les octets initiaux sont supprimés.
|
||||
.br
|
||||
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
|
||||
@@ -393,4 +393,4 @@ Modifications mineures par Bram Moolenaar.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite par David Blanchet
|
||||
<david.blanchet@free.fr> 2004-12-24.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -159,7 +159,7 @@ fichier n'est pas adressable, seuls les vides sont autorisés, et ils seront
|
||||
comblés par des octets nuls.
|
||||
.PP
|
||||
.I xxd \-r
|
||||
ne génère aucune erreur lors de l'analyse. Le problème sont passés
|
||||
ne génère aucune erreur lors de l'analyse. Les problèmes sont passés
|
||||
silencieusement.
|
||||
.PP
|
||||
Lors de l'édition de la représentation hexadécimale, veuillez noter que
|
||||
@@ -307,7 +307,7 @@ Convertir le fichier de l'exemple précédent avec la fonctionnalité "autoskip"
|
||||
000fffc: 0000 0000 40 ....A
|
||||
.PP
|
||||
Créer un fichier d'un octet, contenant seulement le caractère 'A'.
|
||||
Les nombres après '\-r \-s' s'ajoutent au numéros de lignes trouvées dans le
|
||||
Le nombre après '\-r \-s' s'ajoute aux numéros de lignes trouvées dans le
|
||||
fichier ; les octets initiaux sont supprimés.
|
||||
.br
|
||||
\fI% echo '010000: 41' | xxd \-r \-s \-0x10000 \> fichier\fR
|
||||
@@ -393,4 +393,4 @@ Modifications mineures par Bram Moolenaar.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite par David Blanchet
|
||||
<david.blanchet@free.fr> 2004-12-24.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Apr 08
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -757,6 +757,7 @@ au BufNewFile,BufRead *.git/MERGE_MSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
|
||||
au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead *.git/modules/**/config setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
au BufNewFile,BufRead git-rebase-todo setf gitrebase
|
||||
au BufNewFile,BufRead .msg.[0-9]*
|
||||
\ if getline(1) =~ '^From.*# This line is ignored.$' |
|
||||
@@ -1101,7 +1102,7 @@ au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
|
||||
au BufNewFile,BufRead *.map setf map
|
||||
|
||||
" Markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md setf markdown
|
||||
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md setf markdown
|
||||
|
||||
" Mason
|
||||
au BufNewFile,BufRead *.mason,*.mhtml setf mason
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 Aug 09
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -9,6 +9,9 @@ if (exists("b:did_ftplugin"))
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal omnifunc=CucumberComplete
|
||||
@@ -18,11 +21,27 @@ let b:undo_ftplugin = "setl fo< com< cms< ofu<"
|
||||
let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??')
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps")
|
||||
nmap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nmap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
let b:undo_ftplugin .= "| sil! iunmap! <C-]>| sil! iunmap! <C-W>]| sil! iunmap! <C-W><C-]>| sil! iunmap! <C-W>}"
|
||||
nnoremap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W><C-D> :<C-U>exe <SID>jump('split',v:count)<CR>
|
||||
nnoremap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> [d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
nnoremap <silent><buffer> ]d :<C-U>exe <SID>jump('pedit',v:count)<CR>
|
||||
let b:undo_ftplugin .=
|
||||
\ "|sil! nunmap <buffer> <C-]>" .
|
||||
\ "|sil! nunmap <buffer> [<C-D>" .
|
||||
\ "|sil! nunmap <buffer> ]<C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>]" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-]>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>d" .
|
||||
\ "|sil! nunmap <buffer> <C-W><C-D>" .
|
||||
\ "|sil! nunmap <buffer> <C-W>}" .
|
||||
\ "|sil! nunmap <buffer> [d" .
|
||||
\ "|sil! nunmap <buffer> ]d"
|
||||
endif
|
||||
|
||||
function! s:jump(command,count)
|
||||
@@ -38,7 +57,7 @@ function! s:jump(command,count)
|
||||
endfunction
|
||||
|
||||
function! s:allsteps()
|
||||
let step_pattern = '\C^\s*\K\k*\>\s*\zs\S.\{-\}\ze\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
|
||||
let step_pattern = '\C^\s*\K\k*\>\s*(\=\s*\zs\S.\{-\}\ze\s*)\=\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
|
||||
let steps = []
|
||||
for file in split(glob(b:cucumber_root.'/**/*.rb'),"\n")
|
||||
let lines = readfile(file)
|
||||
@@ -55,7 +74,7 @@ function! s:allsteps()
|
||||
endfunction
|
||||
|
||||
function! s:steps(lnum)
|
||||
let c = indent(a:lnum) + 1
|
||||
let c = match(getline(a:lnum), '\S') + 1
|
||||
while synIDattr(synID(a:lnum,c,1),'name') !~# '^$\|Region$'
|
||||
let c = c + 1
|
||||
endwhile
|
||||
@@ -129,4 +148,7 @@ function! CucumberComplete(findstart,base) abort
|
||||
return sort(steps)
|
||||
endfunction
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:set sts=2 sw=2:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -11,9 +11,9 @@ endif
|
||||
runtime! ftplugin/git.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal nomodeline
|
||||
setlocal nomodeline tabstop=8 formatoptions-=croq formatoptions+=tl
|
||||
|
||||
let b:undo_ftplugin = 'setl modeline<'
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions<'
|
||||
|
||||
if &textwidth == 0
|
||||
" make sure that log messages play nice with git-log on standard terminals
|
||||
|
||||
32
runtime/ftplugin/gprof.vim
Normal file
32
runtime/ftplugin/gprof.vim
Normal file
@@ -0,0 +1,32 @@
|
||||
" Language: gprof
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2012 May 20
|
||||
|
||||
" When cursor is on one line of the gprof call graph,
|
||||
" calling this function jumps to this function in the call graph.
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
fun! <SID>GprofJumpToFunctionIndex()
|
||||
let l:line = getline('.')
|
||||
if l:line =~ '[\d\+\]$'
|
||||
" We're in a line in the call graph.
|
||||
norm $y%
|
||||
call search('^' . escape(@", '[]'), 'sw')
|
||||
norm zz
|
||||
elseif l:line =~ '^\(\s\+[0-9\.]\+\)\{3}\s\+'
|
||||
" We're in line in the flat profile.
|
||||
norm 55|y$
|
||||
call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.'), 'sW')
|
||||
norm zz
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Pressing <C-]> on a line in the gprof flat profile or in
|
||||
" the call graph, jumps to the corresponding function inside
|
||||
" the flat profile.
|
||||
map <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR>
|
||||
|
||||
" vim:sw=2 fdm=indent
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 Mar 11
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 Jun 01
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -18,6 +18,7 @@ let s:match_words = ""
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
unlet! b:did_ftplugin
|
||||
set matchpairs-=<:>
|
||||
|
||||
" Override our defaults if these were set by an included ftplugin.
|
||||
if exists("b:undo_ftplugin")
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Markdown
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2011 Dec 14
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
unlet! b:did_ftplugin
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal formatoptions+=tcqln
|
||||
setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
|
||||
|
||||
if exists('b:undo_ftplugin')
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl
|
||||
" Last Change: 2012 Mar 11
|
||||
" Language: Perl
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-11
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -12,7 +13,8 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal formatoptions+=crq
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crqol
|
||||
setlocal keywordprg=perldoc\ -f
|
||||
|
||||
setlocal comments=:#
|
||||
@@ -29,7 +31,7 @@ endif
|
||||
" Provided by Ned Konz <ned at bike-nomad dot com>
|
||||
"---------------------------------------------
|
||||
setlocal include=\\<\\(use\\\|require\\)\\>
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','')
|
||||
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
||||
setlocal define=[^A-Za-z_]
|
||||
|
||||
" The following line changes a global variable but is necessary to make
|
||||
@@ -38,7 +40,7 @@ setlocal define=[^A-Za-z_]
|
||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
"setlocal iskeyword=48-57,_,A-Z,a-z,:
|
||||
set iskeyword+=:
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
@@ -60,13 +62,27 @@ if !exists("perlpath")
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path=perlpath
|
||||
" Append perlpath to the existing path value, if it is set. Since we don't
|
||||
" use += to do it because of the commas in perlpath, we have to handle the
|
||||
" global / local settings, too.
|
||||
if &l:path == ""
|
||||
if &g:path == ""
|
||||
let &l:path=perlpath
|
||||
else
|
||||
let &l:path=&g:path.",".perlpath
|
||||
endif
|
||||
else
|
||||
let &l:path=&l:path.",".perlpath
|
||||
endif
|
||||
"---------------------------------------------
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp<" .
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" proper matching for matchit plugin
|
||||
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Perl 6
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: 2012 Mar 11
|
||||
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-11
|
||||
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
"
|
||||
" Based on ftplugin/perl.vim by Dan Sharp <dwsharp at hotmail dot com>
|
||||
|
||||
@@ -15,16 +16,19 @@ let b:did_ftplugin = 1
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal formatoptions+=crq
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=crqol
|
||||
setlocal keywordprg=p6doc
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#%s
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly Perl-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
|
||||
\ "Perl Modules (*.pm)\t*.pm\n" .
|
||||
\ "Perl Documentation Files (*.pod)\t*.pod\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
\ "Perl Modules (*.pm)\t*.pm\n" .
|
||||
\ "Perl Documentation Files (*.pod)\t*.pod\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Provided by Ned Konz <ned at bike-nomad dot com>
|
||||
@@ -39,10 +43,34 @@ setlocal define=[^A-Za-z_]
|
||||
" after/ftplugin/perl6.vim file that contains
|
||||
" set isfname-=:
|
||||
set isfname+=:
|
||||
setlocal iskeyword=48-57,_,A-Z,a-z,:,-
|
||||
|
||||
" Set this once, globally.
|
||||
if !exists("perlpath")
|
||||
if executable("perl6")
|
||||
try
|
||||
if &shellxquote != '"'
|
||||
let perlpath = system('perl6 -e "@*INC.join(q/,/).say"')
|
||||
else
|
||||
let perlpath = system("perl6 -e '@*INC.join(q/,/).say'")
|
||||
endif
|
||||
let perlpath = substitute(perlpath,',.$',',,','')
|
||||
catch /E145:/
|
||||
let perlpath = ".,,"
|
||||
endtry
|
||||
else
|
||||
" If we can't call perl to get its path, just default to using the
|
||||
" current directory and the directory of the current file.
|
||||
let perlpath = ".,,"
|
||||
endif
|
||||
endif
|
||||
|
||||
let &l:path=perlpath
|
||||
"---------------------------------------------
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" SQL filetype plugin file
|
||||
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
|
||||
" Version: 10.0
|
||||
" Version: 11.0
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2012 Dec 04
|
||||
" Last Change: 2013 May 13
|
||||
" Download: http://vim.sourceforge.net/script.php?script_id=454
|
||||
|
||||
" For more details please use:
|
||||
@@ -36,6 +36,10 @@
|
||||
"
|
||||
" History
|
||||
"
|
||||
" Version 11.0 (May 2013)
|
||||
"
|
||||
" NF: Updated to use SyntaxComplete's new regex support for syntax groups.
|
||||
"
|
||||
" Version 10.0 (Dec 2012)
|
||||
"
|
||||
" NF: Changed all maps to use noremap instead of must map
|
||||
@@ -189,7 +193,7 @@ if !exists("*SQL_SetType")
|
||||
|
||||
" Remove any cached SQL since a new sytax will have different
|
||||
" items and groups
|
||||
if !exists('g:loaded_sql_completion') || 100 == g:loaded_sql_completion
|
||||
if !exists('g:loaded_sql_completion') || g:loaded_sql_completion >= 100
|
||||
call sqlcomplete#ResetCacheSyntax()
|
||||
endif
|
||||
|
||||
@@ -458,6 +462,8 @@ if exists('&omnifunc')
|
||||
" OMNI function prior to setting up the SQL OMNI function
|
||||
let b:sql_compl_savefunc = &omnifunc
|
||||
|
||||
" Source it to determine it's version
|
||||
runtime autoload/sqlcomplete.vim
|
||||
" This is used by the sqlcomplete.vim plugin
|
||||
" Source it for it's global functions
|
||||
runtime autoload/syntaxcomplete.vim
|
||||
@@ -466,14 +472,20 @@ if exists('&omnifunc')
|
||||
" Prevent the intellisense plugin from loading
|
||||
let b:sql_vis = 1
|
||||
if !exists('g:omni_sql_no_default_maps')
|
||||
let regex_extra = ''
|
||||
if exists('g:loaded_syntax_completion') && exists('g:loaded_sql_completion')
|
||||
if g:loaded_syntax_completion > 120 && g:loaded_sql_completion > 140
|
||||
let regex_extra = '\\w*'
|
||||
endif
|
||||
endif
|
||||
" Static maps which use populate the completion list
|
||||
" using Vim's syntax highlighting rules
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'a <C-\><C-O>:call sqlcomplete#Map("syntax")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'k <C-\><C-O>:call sqlcomplete#Map("sqlKeyword'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'f <C-\><C-O>:call sqlcomplete#Map("sqlFunction'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'o <C-\><C-O>:call sqlcomplete#Map("sqlOption'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'T <C-\><C-O>:call sqlcomplete#Map("sqlType'.regex_extra.'")<CR><C-X><C-O>'
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'s <C-\><C-O>:call sqlcomplete#Map("sqlStatement'.regex_extra.'")<CR><C-X><C-O>'
|
||||
" Dynamic maps which use populate the completion list
|
||||
" using the dbext.vim plugin
|
||||
exec 'inoremap <buffer> '.g:ftplugin_sql_omni_key.'t <C-\><C-O>:call sqlcomplete#Map("table")<CR><C-X><C-O>'
|
||||
@@ -510,4 +522,3 @@ let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
" vim:sw=4:
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl
|
||||
" Last Change: 2009-08-14
|
||||
" Language: XS (Perl extension interface language)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2009-08-14
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -12,6 +12,8 @@ setlocal autoindent
|
||||
setlocal indentexpr=GetCucumberIndent()
|
||||
setlocal indentkeys=o,O,*<Return>,<:>,0<Bar>,0#,=,!^F
|
||||
|
||||
let b:undo_indent = 'setl ai< inde< indk<'
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetCucumberIndent")
|
||||
finish
|
||||
@@ -24,35 +26,47 @@ endfunction
|
||||
function! GetCucumberIndent()
|
||||
let line = getline(prevnonblank(v:lnum-1))
|
||||
let cline = getline(v:lnum)
|
||||
let nline = getline(nextnonblank(v:lnum+1))
|
||||
let syn = s:syn(prevnonblank(v:lnum-1))
|
||||
let csyn = s:syn(v:lnum)
|
||||
let nsyn = s:syn(nextnonblank(v:lnum+1))
|
||||
if csyn ==# 'cucumberFeature' || cline =~# '^\s*Feature:'
|
||||
" feature heading
|
||||
return 0
|
||||
elseif csyn ==# 'cucumberExamples' || cline =~# '^\s*\%(Examples\|Scenarios\):'
|
||||
" examples heading
|
||||
return 2 * &sw
|
||||
elseif csyn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || cline =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):'
|
||||
" background, scenario or outline heading
|
||||
return &sw
|
||||
elseif syn ==# 'cucumberFeature' || line =~# '^\s*Feature:'
|
||||
" line after feature heading
|
||||
return &sw
|
||||
elseif syn ==# 'cucumberExamples' || line =~# '^\s*\%(Examples\|Scenarios\):'
|
||||
" line after examples heading
|
||||
return 3 * &sw
|
||||
elseif syn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || line =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):'
|
||||
" line after background, scenario or outline heading
|
||||
return 2 * &sw
|
||||
elseif cline =~# '^\s*@' && (s:syn(nextnonblank(v:lnum+1)) == 'cucumberFeature' || getline(nextnonblank(v:lnum+1)) =~# '^\s*Feature:' || indent(prevnonblank(v:lnum-1)) <= 0)
|
||||
elseif cline =~# '^\s*[@#]' && (nsyn == 'cucumberFeature' || nline =~# '^\s*Feature:' || indent(prevnonblank(v:lnum-1)) <= 0)
|
||||
" tag or comment before a feature heading
|
||||
return 0
|
||||
elseif line =~# '^\s*@'
|
||||
elseif cline =~# '^\s*@'
|
||||
" other tags
|
||||
return &sw
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*|'
|
||||
elseif cline =~# '^\s*[#|]' && line =~# '^\s*|'
|
||||
" mid-table
|
||||
" preserve indent
|
||||
return indent(prevnonblank(v:lnum-1))
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*[^|#]'
|
||||
elseif cline =~# '^\s*|' && line =~# '^\s*[^|]'
|
||||
" first line of a table, relative indent
|
||||
return indent(prevnonblank(v:lnum-1)) + &sw
|
||||
elseif cline =~# '^\s*[^|# \t]' && line =~# '^\s*|'
|
||||
elseif cline =~# '^\s*[^|]' && line =~# '^\s*|'
|
||||
" line after a table, relative unindent
|
||||
return indent(prevnonblank(v:lnum-1)) - &sw
|
||||
elseif cline =~# '^\s*$' && line =~# '^\s*|'
|
||||
let in = indent(prevnonblank(v:lnum-1))
|
||||
return in == indent(v:lnum) ? in : in - &sw
|
||||
elseif cline =~# '^\s*#' && getline(v:lnum-1) =~ '^\s*$' && getline(v:lnum+1) =~# '\S'
|
||||
return indent(getline(v:lnum+1))
|
||||
elseif cline =~# '^\s*#' && getline(v:lnum-1) =~ '^\s*$' && (nsyn =~# '^cucumber\%(Background\|Scenario\|ScenarioOutline\)$' || nline =~# '^\s*\%(Background\|Scenario\|Scenario Outline\):')
|
||||
" comments on scenarios
|
||||
return &sw
|
||||
endif
|
||||
return indent(prevnonblank(v:lnum-1))
|
||||
endfunction
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: git config file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -23,7 +23,7 @@ let s:attributes = '\%({.\{-\}}\|\[.\{-\}\]\)'
|
||||
let s:tag = '\%([%.#][[:alnum:]_-]\+\|'.s:attributes.'\)*[<>]*'
|
||||
|
||||
if !exists('g:haml_self_closing_tags')
|
||||
let g:haml_self_closing_tags = 'meta|link|img|hr|br'
|
||||
let g:haml_self_closing_tags = 'base|link|meta|br|hr|img|input'
|
||||
endif
|
||||
|
||||
function! GetHamlIndent()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2012 May 07
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists('b:did_indent')
|
||||
finish
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
" Vim indent file
|
||||
" Language: Perl 5
|
||||
" Author: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: June 3, 2009
|
||||
" Language: Perl 5
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: May 12, 2013
|
||||
|
||||
" Suggestions and improvements by :
|
||||
" Aaron J. Sherman (use syntax for hints)
|
||||
@@ -11,9 +12,9 @@
|
||||
" TODO things that are not or not properly indented (yet) :
|
||||
" - Continued statements
|
||||
" print "foo",
|
||||
" "bar";
|
||||
" "bar";
|
||||
" print "foo"
|
||||
" if bar();
|
||||
" if bar();
|
||||
" - Multiline regular expressions (m//x)
|
||||
" (The following probably needs modifying the perl syntax file)
|
||||
" - qw() lists
|
||||
@@ -34,15 +35,10 @@ if !b:indent_use_syntax
|
||||
setlocal indentkeys+=0=EO
|
||||
endif
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetPerlIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
function GetPerlIndent()
|
||||
function! GetPerlIndent()
|
||||
|
||||
" Get the line to be indented
|
||||
let cline = getline(v:lnum)
|
||||
@@ -52,7 +48,7 @@ function GetPerlIndent()
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Don't reindent coments on first column
|
||||
" Don't reindent comments on first column
|
||||
if cline =~ '^#.'
|
||||
return 0
|
||||
endif
|
||||
@@ -124,7 +120,12 @@ function GetPerlIndent()
|
||||
" Indent blocks enclosed by {}, (), or []
|
||||
if b:indent_use_syntax
|
||||
" Find a real opening brace
|
||||
let bracepos = match(line, '[(){}\[\]]', matchend(line, '^\s*[)}\]]'))
|
||||
" NOTE: Unlike Perl character classes, we do NOT need to escape the
|
||||
" closing brackets with a backslash. Doing so just puts a backslash
|
||||
" in the character class and causes sorrow. Instead, put the closing
|
||||
" bracket as the first character in the class.
|
||||
let braceclass = '[][(){}]'
|
||||
let bracepos = match(line, braceclass, matchend(line, '^\s*[])}]'))
|
||||
while bracepos != -1
|
||||
let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name")
|
||||
" If the brace is highlighted in one of those groups, indent it.
|
||||
@@ -133,7 +134,7 @@ function GetPerlIndent()
|
||||
\ || synid == "perlMatchStartEnd"
|
||||
\ || synid == "perlHereDoc"
|
||||
\ || synid =~ "^perlFiledescStatement"
|
||||
\ || synid =~ '^perl\(Sub\|Block\)Fold'
|
||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||
let brace = strpart(line, bracepos, 1)
|
||||
if brace == '(' || brace == '{' || brace == '['
|
||||
let ind = ind + &sw
|
||||
@@ -141,22 +142,22 @@ function GetPerlIndent()
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
endif
|
||||
let bracepos = match(line, '[(){}\[\]]', bracepos + 1)
|
||||
let bracepos = match(line, braceclass, bracepos + 1)
|
||||
endwhile
|
||||
let bracepos = matchend(cline, '^\s*[)}\]]')
|
||||
let bracepos = matchend(cline, '^\s*[])}]')
|
||||
if bracepos != -1
|
||||
let synid = synIDattr(synID(v:lnum, bracepos, 0), "name")
|
||||
if synid == ""
|
||||
\ || synid == "perlMatchStartEnd"
|
||||
\ || synid =~ '^perl\(Sub\|Block\)Fold'
|
||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
endif
|
||||
else
|
||||
if line =~ '[{\[(]\s*\(#[^)}\]]*\)\=$'
|
||||
if line =~ '[{[(]\s*\(#[^])}]*\)\=$'
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
if cline =~ '^\s*[)}\]]'
|
||||
if cline =~ '^\s*[])}]'
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
" Vim indent file
|
||||
" Language: Perl 6
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: 2009-07-04
|
||||
" Contributors: Andy Lester <andy@petdance.com>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-12
|
||||
" Contributors: Andy Lester <andy@petdance.com>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
"
|
||||
" Adapted from Perl indent file by Rafael Garcia-Suarez <rgarciasuarez@free.fr>
|
||||
" Adapted from indent/perl.vim by Rafael Garcia-Suarez <rgarciasuarez@free.fr>
|
||||
|
||||
" Suggestions and improvements by :
|
||||
" Aaron J. Sherman (use syntax for hints)
|
||||
@@ -46,15 +47,10 @@ if !b:indent_use_syntax
|
||||
setlocal indentkeys+=0=EO
|
||||
endif
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetPerl6Indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
function GetPerl6Indent()
|
||||
function! GetPerl6Indent()
|
||||
|
||||
" Get the line to be indented
|
||||
let cline = getline(v:lnum)
|
||||
|
||||
@@ -2,21 +2,23 @@
|
||||
" Language: PHP
|
||||
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
|
||||
" URL: http://www.2072productions.com/vim/indent/php.vim
|
||||
" Last Change: 2010 Jully 26th
|
||||
" Newsletter: http://www.2072productions.com/?to=php-indent-for-vim-newsletter.php
|
||||
" Version: 1.33
|
||||
" Home: https://github.com/2072/PHP-Indenting-for-VIm
|
||||
" Last Change: 2013 May 10th
|
||||
" Version: 1.37
|
||||
"
|
||||
"
|
||||
" If you find a bug, please report it on GitHub:
|
||||
" http://github.com/2072/PHP-Indenting-for-VIm/issues
|
||||
" with an example of code that breaks the algorithm.
|
||||
" Type :help php-indent for available options
|
||||
"
|
||||
" A fully commented version of this file is available on github
|
||||
"
|
||||
"
|
||||
" Thanks a lot for using this script.
|
||||
"
|
||||
" If you find a bug, please open a ticket on github.org
|
||||
" ( https://github.com/2072/PHP-Indenting-for-VIm/issues ) with an example of
|
||||
" code that breaks the algorithm.
|
||||
"
|
||||
|
||||
" NOTE: This script must be used with PHP syntax ON and with the php syntax
|
||||
" script by Lutz Eymers (http://www.ipdienste.net/data/php.vim ) or with the
|
||||
" script by Lutz Eymers (http://www.isp.de/data/php.vim ) or with the
|
||||
" script by Peter Hodge (http://www.vim.org/scripts/script.php?script_id=1571 )
|
||||
" the later is bunbdled by default with Vim 7.
|
||||
"
|
||||
@@ -26,7 +28,7 @@
|
||||
" script will automatically put HereDoc end identifiers at col 1 if
|
||||
" they are followed by a ';').
|
||||
"
|
||||
"
|
||||
|
||||
" NOTE: If you are editing files in Unix file format and that (by accident)
|
||||
" there are '\r' before new lines, this script won't be able to proceed
|
||||
" correctly and will make many mistakes because it won't be able to match
|
||||
@@ -38,8 +40,6 @@
|
||||
" or simply 'let' the option PHP_removeCRwhenUnix to 1 and the script will
|
||||
" silently remove them when VIM load this script (at each bufread).
|
||||
"
|
||||
" Options: See :help php-indent for available options.
|
||||
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -50,12 +50,19 @@ let b:did_indent = 1
|
||||
let php_sync_method = 0
|
||||
|
||||
|
||||
|
||||
if exists("PHP_default_indenting")
|
||||
let b:PHP_default_indenting = PHP_default_indenting * &sw
|
||||
else
|
||||
let b:PHP_default_indenting = 0
|
||||
endif
|
||||
|
||||
if exists("PHP_outdentSLComments")
|
||||
let b:PHP_outdentSLComments = PHP_outdentSLComments * &sw
|
||||
else
|
||||
let b:PHP_outdentSLComments = 0
|
||||
endif
|
||||
|
||||
if exists("PHP_BracesAtCodeLevel")
|
||||
let b:PHP_BracesAtCodeLevel = PHP_BracesAtCodeLevel
|
||||
else
|
||||
@@ -116,13 +123,20 @@ endif
|
||||
|
||||
if exists("*GetPhpIndent")
|
||||
call ResetPhpOptions()
|
||||
finish
|
||||
finish " XXX -- comment this line for easy dev
|
||||
endif
|
||||
|
||||
let s:endline= '\s*\%(//.*\|#.*\|/\*.*\*/\s*\)\=$'
|
||||
let s:PHP_startindenttag = '<?\%(.*?>\)\@!\|<script[^>]*>\%(.*<\/script>\)\@!'
|
||||
|
||||
|
||||
function! DebugPrintReturn(scriptLine)
|
||||
|
||||
echo "debug:" . a:scriptLine
|
||||
call getchar()
|
||||
|
||||
endfunction
|
||||
|
||||
function! GetLastRealCodeLNum(startline) " {{{
|
||||
|
||||
let lnum = a:startline
|
||||
@@ -189,8 +203,6 @@ function! GetLastRealCodeLNum(startline) " {{{
|
||||
let b:InPHPcode_and_script = 0
|
||||
endif
|
||||
|
||||
|
||||
|
||||
return lnum
|
||||
endfunction " }}}
|
||||
|
||||
@@ -198,11 +210,11 @@ function! Skippmatch2()
|
||||
|
||||
let line = getline(".")
|
||||
|
||||
if line =~ '\%(".*\)\@<=/\*\%(.*"\)\@=' || line =~ '\%(\%(//\|#\).*\)\@<=/\*'
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
if line =~ "\\([\"']\\).*/\\*.*\\1" || line =~ '\%(//\|#\).*/\*'
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
function! Skippmatch() " {{{
|
||||
@@ -314,7 +326,7 @@ function! IslinePHP (lnum, tofind) " {{{
|
||||
endif
|
||||
endfunction " }}}
|
||||
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|else\)'
|
||||
let s:notPhpHereDoc = '\%(break\|return\|continue\|exit\|die\|else\)'
|
||||
let s:blockstart = '\%(\%(\%(}\s*\)\=else\%(\s\+\)\=\)\=if\>\|else\>\|while\>\|switch\>\|case\>\|default\>\|for\%(each\)\=\>\|declare\>\|class\>\|interface\>\|abstract\>\|try\>\|catch\>\)'
|
||||
|
||||
let s:autoresetoptions = 0
|
||||
@@ -361,14 +373,12 @@ function! GetPhpIndent()
|
||||
if !b:PHP_indentinghuge && b:PHP_lastindented > b:PHP_indentbeforelast
|
||||
if b:PHP_indentbeforelast
|
||||
let b:PHP_indentinghuge = 1
|
||||
echom 'Large indenting detected, speed optimizations engaged (v1.33)'
|
||||
endif
|
||||
let b:PHP_indentbeforelast = b:PHP_lastindented
|
||||
endif
|
||||
|
||||
if b:InPHPcode_checked && prevnonblank(v:lnum - 1) != b:PHP_lastindented
|
||||
if b:PHP_indentinghuge
|
||||
echom 'Large indenting deactivated'
|
||||
let b:PHP_indentinghuge = 0
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
endif
|
||||
@@ -425,7 +435,7 @@ function! GetPhpIndent()
|
||||
else
|
||||
let b:InPHPcode = 0
|
||||
let b:UserIsTypingComment = 0
|
||||
let b:InPHPcode_tofind = '<?\%(.*?>\)\@!\|<script.*>'
|
||||
let b:InPHPcode_tofind = s:PHP_startindenttag
|
||||
endif
|
||||
endif "!b:InPHPcode_checked }}}
|
||||
|
||||
@@ -493,7 +503,9 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
" Indent successive // or # comment the same way the first is {{{
|
||||
let addSpecial = 0
|
||||
if cline =~ '^\s*\%(//\|#\|/\*.*\*/\s*$\)'
|
||||
let addSpecial = b:PHP_outdentSLComments
|
||||
if b:PHP_LastIndentedWasComment == 1
|
||||
return indent(real_PHP_lastindented)
|
||||
endif
|
||||
@@ -550,7 +562,7 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
if lnum == 0
|
||||
return b:PHP_default_indenting
|
||||
return b:PHP_default_indenting + addSpecial
|
||||
endif
|
||||
|
||||
|
||||
@@ -577,17 +589,17 @@ function! GetPhpIndent()
|
||||
endif
|
||||
|
||||
|
||||
if last_line =~ '[;}]'.endline && last_line !~ '^)' && last_line !~# s:defaultORcase
|
||||
if last_line =~ '[;}]'.endline && last_line !~ '^[)\]]' && last_line !~# s:defaultORcase
|
||||
if ind==b:PHP_default_indenting
|
||||
return b:PHP_default_indenting
|
||||
return b:PHP_default_indenting + addSpecial
|
||||
elseif b:PHP_indentinghuge && ind==b:PHP_CurrentIndentLevel && cline !~# '^\s*\%(else\|\%(case\|default\).*:\|[})];\=\)' && last_line !~# '^\s*\%(\%(}\s*\)\=else\)' && getline(GetLastRealCodeLNum(lnum - 1))=~';'.endline
|
||||
return b:PHP_CurrentIndentLevel
|
||||
return b:PHP_CurrentIndentLevel + addSpecial
|
||||
endif
|
||||
endif
|
||||
|
||||
let LastLineClosed = 0
|
||||
|
||||
let terminated = '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
let terminated = '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\)'.endline
|
||||
|
||||
let unstated = '\%(^\s*'.s:blockstart.'.*)\|\%(//.*\)\@<!\<e'.'lse\>\)'.endline
|
||||
|
||||
@@ -618,19 +630,23 @@ function! GetPhpIndent()
|
||||
endwhile
|
||||
|
||||
elseif last_line =~# unstated && cline !~ '^\s*);\='.endline
|
||||
let ind = ind + &sw
|
||||
return ind
|
||||
let ind = ind + &sw " we indent one level further when the preceding line is not stated
|
||||
return ind + addSpecial
|
||||
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^)' ) && last_line =~ terminated
|
||||
elseif (ind != b:PHP_default_indenting || last_line =~ '^[)\]]' ) && last_line =~ terminated " Added || last_line =~ '^)' on 2007-12-30 (array indenting problem broke other things)
|
||||
let previous_line = last_line
|
||||
let last_line_num = lnum
|
||||
let LastLineClosed = 1
|
||||
|
||||
while 1
|
||||
if previous_line =~ '^\s*}'
|
||||
let last_line_num = FindOpenBracket(last_line_num)
|
||||
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
|
||||
|
||||
if getline(last_line_num) =~ '^\s*{'
|
||||
call cursor(last_line_num, 1)
|
||||
call search('}\|;\s*}'.endline, 'W')
|
||||
let oldLastLine = last_line_num
|
||||
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')
|
||||
|
||||
if oldLastLine == last_line_num || getline(last_line_num) =~ '^\s*{'
|
||||
let last_line_num = GetLastRealCodeLNum(last_line_num - 1)
|
||||
endif
|
||||
|
||||
@@ -674,7 +690,7 @@ function! GetPhpIndent()
|
||||
let ind = indent(last_match)
|
||||
let b:PHP_CurrentIndentLevel = b:PHP_default_indenting
|
||||
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -693,7 +709,7 @@ function! GetPhpIndent()
|
||||
if !LastLineClosed
|
||||
|
||||
|
||||
if last_line =~# '[{(]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
if last_line =~# '[{(\[]'.endline || last_line =~? '\h\w*\s*(.*,$' && AntepenultimateLine !~ '[,(]'.endline
|
||||
|
||||
if !b:PHP_BracesAtCodeLevel || last_line !~# '^\s*{'
|
||||
let ind = ind + &sw
|
||||
@@ -702,7 +718,7 @@ function! GetPhpIndent()
|
||||
if b:PHP_BracesAtCodeLevel || b:PHP_vintage_case_default_indent == 1
|
||||
let b:PHP_CurrentIndentLevel = ind
|
||||
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endif
|
||||
|
||||
elseif last_line =~ '\S\+\s*),'.endline
|
||||
@@ -712,22 +728,21 @@ function! GetPhpIndent()
|
||||
if openedparent != lnum
|
||||
let ind = indent(openedparent)
|
||||
endif
|
||||
|
||||
|
||||
elseif last_line =~ '^\s*'.s:blockstart
|
||||
let ind = ind + &sw
|
||||
|
||||
|
||||
|
||||
elseif AntepenultimateLine =~ '\%(;\%(\s*?>\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . s:defaultORcase
|
||||
elseif AntepenultimateLine =~ '\%(;\%(\s*\%(?>\|}\)\)\=\|<<<''\=\a\w*''\=$\|^\s*}\|{\)'.endline . '\|' . s:defaultORcase
|
||||
let ind = ind + &sw
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*);\='
|
||||
if cline =~ '^\s*[)\]];\='
|
||||
let ind = ind - &sw
|
||||
endif
|
||||
|
||||
let b:PHP_CurrentIndentLevel = ind
|
||||
return ind
|
||||
return ind + addSpecial
|
||||
endfunction
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -17,7 +17,8 @@ if exists("*GetSassIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:property = '^\s*:\|^\s*[[:alnum:]-]\+\%(:\|\s*=\)'
|
||||
let s:property = '^\s*:\|^\s*[[:alnum:]#{}-]\+\%(:\|\s*=\)'
|
||||
let s:extend = '^\s*\%(@extend\|@include\|+\)'
|
||||
|
||||
function! GetSassIndent()
|
||||
let lnum = prevnonblank(v:lnum-1)
|
||||
@@ -27,7 +28,7 @@ function! GetSassIndent()
|
||||
let line = substitute(line,'^\s\+','','')
|
||||
let indent = indent(lnum)
|
||||
let cindent = indent(v:lnum)
|
||||
if line !~ s:property && cline =~ s:property
|
||||
if line !~ s:property && line !~ s:extend && cline =~ s:property
|
||||
return indent + &sw
|
||||
"elseif line =~ s:property && cline !~ s:property
|
||||
"return indent - &sw
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim indent file
|
||||
" Language: LaTeX
|
||||
" Maintainer: Zhou YiChao <broken.zhou AT gmail.com>
|
||||
" Maintainer: YiChao Zhou <broken.zhou AT gmail.com>
|
||||
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||
" Last Change: 2012 Mar 18 19:19:50
|
||||
" Version: 0.7
|
||||
@@ -46,6 +46,9 @@
|
||||
" (*) Modify indentkeys.
|
||||
" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Add &cpo
|
||||
" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
|
||||
" for reporting this.
|
||||
" }}}
|
||||
|
||||
" Document: {{{
|
||||
@@ -106,10 +109,6 @@
|
||||
" }}}
|
||||
|
||||
" Only define the function once
|
||||
if exists("*GetTeXIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
@@ -158,7 +157,7 @@ exec 'setlocal indentkeys+=[,(,{,),},],\&' . substitute(g:tex_items, '^\|\(\\|\)
|
||||
let g:tex_items = '^\s*' . substitute(g:tex_items, '^\(\^\\s\*\)*', '', '')
|
||||
" }}}
|
||||
|
||||
function GetTeXIndent() " {{{
|
||||
function! GetTeXIndent() " {{{
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (EUC-JP)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test
|
||||
menutrans &Highlight\ test ハイライトテスト(&H)
|
||||
menutrans &Convert\ to\ HTML HTMLへコンバート(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" 成否はiconv次第、必ずしも指定したエンコードになるわけではないことに注意
|
||||
if has('iconv')
|
||||
" iconvのバージョン判定
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" 読み込み
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" 再読込
|
||||
an 10.396.110.100 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" 保存
|
||||
an 10.396.115 &File.エンコード指定(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (UTF-8)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test カラーテスト(&L)
|
||||
menutrans &Highlight\ test ハイライトテスト(&H)
|
||||
menutrans &Convert\ to\ HTML HTMLへコンバート(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" 成否はiconv次第、必ずしも指定したエンコードになるわけではないことに注意
|
||||
if has('iconv')
|
||||
" iconvのバージョン判定
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" 読み込み
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" 再読込
|
||||
an 10.396.110.100 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" 保存
|
||||
an 10.396.115 &File.エンコード指定(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"
|
||||
" Menu Translations: Japanese (CP932)
|
||||
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 24-Feb-2013.
|
||||
" Last Change: 12-May-2013.
|
||||
"
|
||||
" Copyright (C) 2001-12 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -299,50 +299,6 @@ menutrans Co&lor\ test
|
||||
menutrans &Highlight\ test ハイライトテスト(&H)
|
||||
menutrans &Convert\ to\ HTML HTMLへコンバート(&C)
|
||||
|
||||
" Japanese specific menu
|
||||
" 成否はiconv次第、必ずしも指定したエンコードになるわけではないことに注意
|
||||
if has('iconv')
|
||||
" iconvのバージョン判定
|
||||
let s:support_jisx0213 = (iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb") ? 1 : 0
|
||||
|
||||
" 読み込み
|
||||
an 10.395 &File.-SEPICONV- <Nop>
|
||||
an 10.396.100.100 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..SJIS(&S)<Tab>fenc=cp932 :browse confirm e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jp :browse confirm e ++enc=euc-jp<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :browse confirm e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.100.110 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :browse confirm e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.100.120 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :browse confirm e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.100.130 &File.エンコード指定(&E)\.\.\..開く(&O)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :browse confirm e ++enc=utf-8<CR>
|
||||
|
||||
" 再読込
|
||||
an 10.396.110.100 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..SJIS(&S)<Tab>fenc=cp932 :e ++enc=cp932<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jp :e ++enc=euc-jp<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :e ++enc=iso-2022-jp<CR>
|
||||
else
|
||||
an 10.396.110.110 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :e ++enc=euc-jisx0213<CR>
|
||||
an 10.396.110.120 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :e ++enc=iso-2022-jp-3<CR>
|
||||
endif
|
||||
an 10.396.110.130 &File.エンコード指定(&E)\.\.\..再読込(&R)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :e ++enc=utf-8<CR>
|
||||
|
||||
" 保存
|
||||
an 10.396.115 &File.エンコード指定(&E)\.\.\..-SEP1- <Nop>
|
||||
an 10.396.120.100 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..SJIS(&S)<Tab>fenc=cp932 :set fenc=cp932 \| w<CR>
|
||||
if !s:support_jisx0213
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jp :set fenc=euc-jp \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp :set fenc=iso-2022-jp \| w<CR>
|
||||
else
|
||||
an 10.396.120.110 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..EUC(&E)<Tab>fenc=euc-jisx0213 :set fenc=euc-jisx0213 \| w<CR>
|
||||
an 10.396.120.120 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..JIS(&J)<Tab>fenc=iso-2022-jp-3 :set fenc=iso-2022-jp-3 \| w<CR>
|
||||
endif
|
||||
an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
|
||||
|
||||
unlet s:support_jisx0213
|
||||
endif
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Dec 06
|
||||
" Last Change: 2013 May 17
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
" in all modes and avoid side effects from mappings defined by the user.
|
||||
@@ -308,8 +308,10 @@ fun! s:TextWidth()
|
||||
endif
|
||||
let n = inputdialog(g:menutrans_textwidth_dialog, &tw)
|
||||
if n != ""
|
||||
" remove leading zeros to avoid it being used as an octal number
|
||||
let &tw = substitute(n, "^0*", "", "")
|
||||
" Remove leading zeros to avoid it being used as an octal number.
|
||||
" But keep a zero by itself.
|
||||
let tw = substitute(n, "^0*", "", "")
|
||||
let &tw = tw == '' ? 0 : tw
|
||||
endif
|
||||
endfun
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Apr 05
|
||||
" Last Change: 2013 May 20
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -258,6 +258,8 @@ call append("$", "incsearch\tshow match for partly typed search command")
|
||||
call <SID>BinOptionG("is", &is)
|
||||
call append("$", "magic\tchange the way backslashes are used in search patterns")
|
||||
call <SID>BinOptionG("magic", &magic)
|
||||
call append("$", "regexpengine\tselect the default regexp engine used")
|
||||
call <SID>OptionG("re", &re)
|
||||
call append("$", "ignorecase\tignore case when using a search pattern")
|
||||
call <SID>BinOptionG("ic", &ic)
|
||||
call append("$", "smartcase\toverride 'ignorecase' when pattern has upper case characters")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2013 Mar 19
|
||||
" Last Change: 2013 May 08
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@@ -11,6 +11,13 @@ if exists("g:loaded_matchparen") || &cp || !exists("##CursorMoved")
|
||||
endif
|
||||
let g:loaded_matchparen = 1
|
||||
|
||||
if !exists("g:matchparen_timeout")
|
||||
let g:matchparen_timeout = 300
|
||||
endif
|
||||
if !exists("g:matchparen_insert_timeout")
|
||||
let g:matchparen_insert_timeout = 60
|
||||
endif
|
||||
|
||||
augroup matchparen
|
||||
" Replace all matchparen autocommands
|
||||
autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
|
||||
@@ -99,10 +106,15 @@ function! s:Highlight_Matching_Pair()
|
||||
let stopline = stoplinetop
|
||||
endif
|
||||
|
||||
" Limit the search time to 300 msec to avoid a hang on very long lines.
|
||||
" This fails when a timeout is not supported.
|
||||
if mode() == 'i' || mode() == 'R'
|
||||
let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout
|
||||
else
|
||||
let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout
|
||||
endif
|
||||
try
|
||||
" Limit the search time to 300 msec to avoid a hang on very long lines.
|
||||
" This fails when a timeout is not supported.
|
||||
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, 300)
|
||||
let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout)
|
||||
catch /E118/
|
||||
" Can't use the timeout, restrict the stopline a bit more to avoid taking
|
||||
" a long time on closed folds and long lines.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
|
||||
" PLUGIN SECTION
|
||||
" Date: Dec 06, 2012
|
||||
" Date: Apr 30, 2013
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
@@ -20,13 +20,15 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v148"
|
||||
"DechoTabOn
|
||||
let g:loaded_netrwPlugin = "v149"
|
||||
if v:version < 702
|
||||
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Public Interface: {{{1
|
||||
@@ -34,9 +36,7 @@ set cpo&vim
|
||||
" Local Browsing: {{{2
|
||||
augroup FileExplorer
|
||||
au!
|
||||
" au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
|
||||
" SEE Benzinger problem...
|
||||
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
|
||||
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
|
||||
if has("win32") || has("win95") || has("win64") || has("win16")
|
||||
@@ -47,7 +47,7 @@ augroup END
|
||||
" Network Browsing Reading Writing: {{{2
|
||||
augroup Network
|
||||
au!
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
@@ -92,27 +92,37 @@ fun! s:LocalBrowse(dirname)
|
||||
" unfortunate interaction -- debugging calls can't be used here;
|
||||
" the BufEnter event causes triggering when attempts to write to
|
||||
" the DBG buffer are made.
|
||||
if !exists("s:vimentered")
|
||||
return
|
||||
endif
|
||||
" call Decho("s:LocalBrowse(dirname<".a:dirname.">){")
|
||||
" echomsg "dirname<".a:dirname.">"
|
||||
if has("amiga")
|
||||
" The check against '' is made for the Amiga, where the empty
|
||||
" string is the current directory and not checking would break
|
||||
" things such as the help command.
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (amiga)")
|
||||
if a:dirname != '' && isdirectory(a:dirname)
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
endif
|
||||
elseif isdirectory(a:dirname)
|
||||
" echomsg "dirname<".dirname."> isdir"
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> (not amiga)")
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
endif
|
||||
" not a directory, ignore it
|
||||
" call Decho("|return s:LocalBrowse }")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:VimEnter: {{{2
|
||||
fun! s:VimEnter(dirname)
|
||||
let curwin= winnr()
|
||||
" call Decho("VimEnter(dirname<".a:dirname.">){")
|
||||
let curwin = winnr()
|
||||
let s:vimentered = 1
|
||||
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif
|
||||
exe curwin."wincmd w"
|
||||
" call Decho("|return VimEnter }")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
|
||||
@@ -1,24 +1,37 @@
|
||||
" Vim plugin for converting a syntax highlighted file to HTML.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2012 Jul 12
|
||||
" Last Change: 2013 May 31
|
||||
"
|
||||
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
|
||||
" $VIMRUNTIME/syntax/2html.vim
|
||||
"
|
||||
" TODO: {{{
|
||||
" * Options for generating the CSS in external style sheets. New :TOcss
|
||||
" command to convert the current color scheme into a (mostly) generic CSS
|
||||
" stylesheet which can be re-used. Alternate stylesheet support? Good start
|
||||
" by Erik Falor
|
||||
" ( https://groups.google.com/d/topic/vim_use/7XTmC4D22dU/discussion ).
|
||||
" * Add optional argument to :TOhtml command to specify mode (gui, cterm,
|
||||
" term) to use for the styling. Suggestion by "nacitar".
|
||||
" * Add way to override or specify which RGB colors map to the color numbers
|
||||
" in cterm. Get better defaults than just guessing? Suggestion by "nacitar".
|
||||
" * Disable filetype detection until after all processing is done.
|
||||
" * Add option for not generating the hyperlink on stuff that looks like a
|
||||
" URL? Or just color the link to fit with the colorscheme (and only special
|
||||
" when hovering)?
|
||||
" * Bug: Opera does not allow printing more than one page if uncopyable
|
||||
" regions is turned on. Possible solution: Add normal text line numbers with
|
||||
" display:none, set to display:inline for print style sheets, and hide
|
||||
" <input> elements for print, to allow Opera printing multiple pages (and
|
||||
" other uncopyable areas?). May need to make the new text invisible to IE
|
||||
" with conditional comments to prevent copying it, IE for some reason likes
|
||||
" to copy hidden text. Other browsers too?
|
||||
" * Bug: still a 1px gap throughout the fold column when html_prevent_copy is
|
||||
" "fn" in some browsers. Specifically, in Chromium on Ubuntu (but not Chrome
|
||||
" on Windows). Perhaps it is font related?
|
||||
" * Bug: still some gaps in the fold column when html_prevent_copy contains
|
||||
" 'd' and showing the whole diff (observed in multiple browsers). Only gaps
|
||||
" on diff lines though.
|
||||
" * anchors on each line so you can do file.html#1234 to get to line 1234
|
||||
" * add a modeline to the generated html to set nofoldenable or fdm=manual
|
||||
" because syntax folding takes a terribly long time to work with the weird
|
||||
" formatting the script does.
|
||||
" * Options for generating the CSS in external style sheets. New :TOcss
|
||||
" command to convert the current color scheme into a (mostly) generic CSS
|
||||
" stylesheet which can be re-used. Alternate stylesheet support?
|
||||
" * Undercurl support via CSS3, with fallback to dotted or something:
|
||||
" https://groups.google.com/d/topic/vim_use/BzXA6He1pHg/discussion
|
||||
" * Redo updates for modified default foldtext (v11) when/if the patch is
|
||||
@@ -26,10 +39,7 @@
|
||||
" * Test case +diff_one_file-dynamic_folds+expand_tabs-hover_unfold
|
||||
" +ignore_conceal-ignore_folding+no_foldcolumn+no_pre+no_progress
|
||||
" +number_lines-pre_wrap-use_css+use_xhtml+whole_filler.xhtml
|
||||
" does not show the whole diff filler as it is supposed to.
|
||||
" * Add option for not generating the hyperlink on stuff that looks like a
|
||||
" URL? Or just color the link to fit with the colorscheme (and only special
|
||||
" when hovering)?
|
||||
" does not show the whole diff filler as it is supposed to?
|
||||
" * Bug: when 'isprint' is wrong for the current encoding, will generate
|
||||
" invalid content. Can/should anything be done about this? Maybe a separate
|
||||
" plugin to correct 'isprint' based on encoding?
|
||||
@@ -43,7 +53,6 @@
|
||||
" - listchars support
|
||||
" - full-line background highlight
|
||||
" - other?
|
||||
" * Explicitly trigger IE8+ Standards Mode? Doesn't seem necessary yet.
|
||||
" * Make it so deleted lines in a diff don't create side-scrolling (get it
|
||||
" free with full-line background highlight above).
|
||||
" * Restore open/closed folds and cursor position after processing each file
|
||||
@@ -58,82 +67,93 @@
|
||||
if exists('g:loaded_2html_plugin')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_2html_plugin = 'vim7.3_v12'
|
||||
let g:loaded_2html_plugin = 'vim7.3_v13'
|
||||
|
||||
"
|
||||
" Changelog: {{{
|
||||
"
|
||||
" 7.3_v12 (this version): Fix modeline mangling to also work for when multiple
|
||||
" highlight groups make up the start-of-modeline text.
|
||||
" Improve render time of page with uncopyable regions
|
||||
" by not using one-input-per-char. Change name of
|
||||
" uncopyable option from html_unselectable to
|
||||
" html_prevent_copy. Added html_no_invalid option and
|
||||
" default to inserting invalid markup for uncopyable
|
||||
" regions to prevent MS Word from pasting undeletable
|
||||
" <input> elements. Fix 'cpo' handling (Thilo Six).
|
||||
" 7.3_v12b1: Add html_unselectable option. Rework logic to
|
||||
" eliminate post-processing substitute commands in
|
||||
" favor of doing the work up front. Remove unnecessary
|
||||
" special treatment of 'LineNr' highlight group. Minor
|
||||
" speed improvements. Fix modeline mangling in
|
||||
" generated output so it works for text in the first
|
||||
" column. Fix missing line number and fold column in
|
||||
" diff filler lines. Fix that some fonts have a 1px
|
||||
" gap (using a dirty hack, improvements welcome). Add
|
||||
" "colorscheme" meta tag. Does NOT include support for
|
||||
" the new default foldtext added in v11, as the patch
|
||||
" adding it has not yet been included in Vim.
|
||||
" 7.3_v13 (this version): Keep foldmethod at manual in the generated file and
|
||||
" insert modeline to set it to manual.
|
||||
" Fix bug: diff mode with 2 unsaved buffers creates a
|
||||
" duplicate of one buffer instead of including both.
|
||||
" Add anchors to each line so you can put '#L123'
|
||||
" or '#123' at the end of the URL to jump to line 123
|
||||
" (idea by Andy Spencer). Add javascript to open folds
|
||||
" to show the anchor being jumped to if it is hidden.
|
||||
" Fix XML validation error: &nsbp; not part of XML.
|
||||
" Allow TOhtml to chain together with other commands
|
||||
" using |.
|
||||
" 7.3_v12 (9910cbff5f16): Fix modeline mangling to also work for when multiple
|
||||
" highlight groups make up the start-of-modeline text.
|
||||
" Improve render time of page with uncopyable regions
|
||||
" by not using one-input-per-char. Change name of
|
||||
" uncopyable option from html_unselectable to
|
||||
" html_prevent_copy. Added html_no_invalid option and
|
||||
" default to inserting invalid markup for uncopyable
|
||||
" regions to prevent MS Word from pasting undeletable
|
||||
" <input> elements. Fix 'cpo' handling (Thilo Six).
|
||||
" 7.3_v12b1: Add html_unselectable option. Rework logic to
|
||||
" eliminate post-processing substitute commands in
|
||||
" favor of doing the work up front. Remove unnecessary
|
||||
" special treatment of 'LineNr' highlight group. Minor
|
||||
" speed improvements. Fix modeline mangling in
|
||||
" generated output so it works for text in the first
|
||||
" column. Fix missing line number and fold column in
|
||||
" diff filler lines. Fix that some fonts have a 1px
|
||||
" gap (using a dirty hack, improvements welcome). Add
|
||||
" "colorscheme" meta tag. Does NOT include support for
|
||||
" the new default foldtext added in v11, as the patch
|
||||
" adding it has not yet been included in Vim.
|
||||
" 7.3_v11 ( unreleased ): Support new default foldtext from patch by Christian
|
||||
" Brabandt in
|
||||
" http://groups.google.com/d/topic/vim_dev/B6FSGfq9VoI/discussion.
|
||||
" This patch has not yet been included in Vim, thus
|
||||
" these changes are removed in the next version.
|
||||
" Brabandt in
|
||||
" http://groups.google.com/d/topic/vim_dev/B6FSGfq9VoI/discussion.
|
||||
" This patch has not yet been included in Vim, thus
|
||||
" these changes are removed in the next version.
|
||||
" 7.3_v10 (fd09a9c8468e): Fix error E684 when converting a range wholly inside
|
||||
" multiple nested folds with dynamic folding on.
|
||||
" Also fix problem with foldtext in this situation.
|
||||
" multiple nested folds with dynamic folding on.
|
||||
" Also fix problem with foldtext in this situation.
|
||||
" 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css
|
||||
" and without html_no_pre, default value same as
|
||||
" 'wrap' option, (Andy Spencer). Don't use
|
||||
" 'fileencoding' for converted document encoding if
|
||||
" 'buftype' indicates a special buffer which isn't
|
||||
" written.
|
||||
" and without html_no_pre, default value same as
|
||||
" 'wrap' option, (Andy Spencer). Don't use
|
||||
" 'fileencoding' for converted document encoding if
|
||||
" 'buftype' indicates a special buffer which isn't
|
||||
" written.
|
||||
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
|
||||
" characters in generated output (Andy Spencer).
|
||||
" Escape text that looks like a modeline so Vim
|
||||
" doesn't use anything in the converted HTML as a
|
||||
" modeline. Bugfixes: Fix folding when a fold starts
|
||||
" before the conversion range. Remove fold column when
|
||||
" there are no folds.
|
||||
" characters in generated output (Andy Spencer).
|
||||
" Escape text that looks like a modeline so Vim
|
||||
" doesn't use anything in the converted HTML as a
|
||||
" modeline. Bugfixes: Fix folding when a fold starts
|
||||
" before the conversion range. Remove fold column when
|
||||
" there are no folds.
|
||||
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
|
||||
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
|
||||
" 7.3_v7b2: Remove automatic detection of encodings that are not
|
||||
" supported by all major browsers according to
|
||||
" http://wiki.whatwg.org/wiki/Web_Encodings and
|
||||
" convert to UTF-8 for all Unicode encodings. Make
|
||||
" HTML encoding to Vim encoding detection be
|
||||
" case-insensitive for built-in pairs.
|
||||
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
|
||||
" called in restricted mode (Andy Spencer). Use
|
||||
" 'fencoding' instead of 'encoding' to determine by
|
||||
" charset, and make sure the 'fenc' of the generated
|
||||
" file matches its indicated charset. Add charsets for
|
||||
" all of Vim's natively supported encodings.
|
||||
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
|
||||
" 7.3_v7b2: Remove automatic detection of encodings that are not
|
||||
" supported by all major browsers according to
|
||||
" http://wiki.whatwg.org/wiki/Web_Encodings and
|
||||
" convert to UTF-8 for all Unicode encodings. Make
|
||||
" HTML encoding to Vim encoding detection be
|
||||
" case-insensitive for built-in pairs.
|
||||
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
|
||||
" called in restricted mode (Andy Spencer). Use
|
||||
" 'fencoding' instead of 'encoding' to determine by
|
||||
" charset, and make sure the 'fenc' of the generated
|
||||
" file matches its indicated charset. Add charsets for
|
||||
" all of Vim's natively supported encodings.
|
||||
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
|
||||
" user settings interfering with diff mode generation,
|
||||
" trailing whitespace (e.g. line number column) when
|
||||
" using html_no_pre, and bugs when using
|
||||
" html_hover_unfold.
|
||||
" user settings interfering with diff mode generation,
|
||||
" trailing whitespace (e.g. line number column) when
|
||||
" using html_no_pre, and bugs when using
|
||||
" html_hover_unfold.
|
||||
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
|
||||
" folds in diff mode when first line was folded.
|
||||
" folds in diff mode when first line was folded.
|
||||
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode
|
||||
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
|
||||
" default to true when not set to anything. Use strict
|
||||
" doctypes where possible. Rename use_xhtml option to
|
||||
" html_use_xhtml for consistency. Use .xhtml extension
|
||||
" when using this option. Add meta tag for settings.
|
||||
" default to true when not set to anything. Use strict
|
||||
" doctypes where possible. Rename use_xhtml option to
|
||||
" html_use_xhtml for consistency. Use .xhtml extension
|
||||
" when using this option. Add meta tag for settings.
|
||||
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
|
||||
" diff colors and the normal syntax colors
|
||||
" diff colors and the normal syntax colors
|
||||
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
|
||||
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
|
||||
"}}}
|
||||
@@ -143,7 +163,7 @@ let g:loaded_2html_plugin = 'vim7.3_v12'
|
||||
" - this plugin was not already loaded
|
||||
" - user commands are available. {{{
|
||||
if !&cp && !exists(":TOhtml") && has("user_commands")
|
||||
command -range=% TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
|
||||
command -range=% -bar TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
|
||||
endif "}}}
|
||||
|
||||
" Make sure any patches will probably use consistent indent
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2012 Aug 30
|
||||
" Last change: 2013 May 24
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -327,6 +327,12 @@ else
|
||||
elseif s:line1 =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$'
|
||||
set ft=git
|
||||
|
||||
" Gprof (gnu profiler)
|
||||
elseif s:line1 == 'Flat profile:'
|
||||
\ && s:line2 == ''
|
||||
\ && s:line3 =~ '^Each sample counts as .* seconds.$'
|
||||
set ft=gprof
|
||||
|
||||
" CVS diff
|
||||
else
|
||||
let s:lnum = 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax support file
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2012 Jun 30
|
||||
" Last Change: 2013 May 31
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -214,17 +214,21 @@ endif
|
||||
|
||||
if !s:settings.use_css
|
||||
" Return opening HTML tag for given highlight id
|
||||
function! s:HtmlOpening(id)
|
||||
function! s:HtmlOpening(id, extra_attrs)
|
||||
let a = ""
|
||||
if synIDattr(a:id, "inverse")
|
||||
" For inverse, we always must set both colors (and exchange them)
|
||||
let x = s:HtmlColor(synIDattr(a:id, "fg#", s:whatterm))
|
||||
let a = a . '<span style="background-color: ' . ( x != "" ? x : s:fgc ) . '">'
|
||||
let a = a . '<span '.a:extra_attrs.'style="background-color: ' . ( x != "" ? x : s:fgc ) . '">'
|
||||
let x = s:HtmlColor(synIDattr(a:id, "bg#", s:whatterm))
|
||||
let a = a . '<font color="' . ( x != "" ? x : s:bgc ) . '">'
|
||||
else
|
||||
let x = s:HtmlColor(synIDattr(a:id, "bg#", s:whatterm))
|
||||
if x != "" | let a = a . '<span style="background-color: ' . x . '">' | endif
|
||||
if x != ""
|
||||
let a = a . '<span '.a:extra_attrs.'style="background-color: ' . x . '">'
|
||||
elseif !empty(a:extra_attrs)
|
||||
let a = a . '<span '.a:extra_attrs.'>'
|
||||
endif
|
||||
let x = s:HtmlColor(synIDattr(a:id, "fg#", s:whatterm))
|
||||
if x != "" | let a = a . '<font color="' . x . '">' | endif
|
||||
endif
|
||||
@@ -235,7 +239,7 @@ if !s:settings.use_css
|
||||
endfun
|
||||
|
||||
" Return closing HTML tag for given highlight id
|
||||
function! s:HtmlClosing(id)
|
||||
function! s:HtmlClosing(id, has_extra_attrs)
|
||||
let a = ""
|
||||
if synIDattr(a:id, "underline") | let a = a . "</u>" | endif
|
||||
if synIDattr(a:id, "italic") | let a = a . "</i>" | endif
|
||||
@@ -246,7 +250,7 @@ if !s:settings.use_css
|
||||
let x = s:HtmlColor(synIDattr(a:id, "fg#", s:whatterm))
|
||||
if x != "" | let a = a . '</font>' | endif
|
||||
let x = s:HtmlColor(synIDattr(a:id, "bg#", s:whatterm))
|
||||
if x != "" | let a = a . '</span>' | endif
|
||||
if x != "" || a:has_extra_attrs | let a = a . '</span>' | endif
|
||||
endif
|
||||
return a
|
||||
endfun
|
||||
@@ -265,7 +269,7 @@ if s:settings.use_css
|
||||
|
||||
" first, get the style names we need
|
||||
let wrapperfunc_lines = [
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, text, make_unselectable, unformatted)',
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, make_unselectable, unformatted)',
|
||||
\ '',
|
||||
\ ' let l:style_name = synIDattr(a:style_id, "name", s:whatterm)'
|
||||
\ ]
|
||||
@@ -308,7 +312,7 @@ if s:settings.use_css
|
||||
|
||||
let wrapperfunc_lines += [
|
||||
\ '',
|
||||
\ ' if l:saved_style == ""'
|
||||
\ ' if l:saved_style == "" && empty(a:extra_attrs)'
|
||||
\ ]
|
||||
if &diff
|
||||
let wrapperfunc_lines += [
|
||||
@@ -340,7 +344,7 @@ if s:settings.use_css
|
||||
\ : "")
|
||||
if s:settings.prevent_copy == ""
|
||||
let wrapperfunc_lines += [
|
||||
\ ' return "<span class=\"" . l:style_name .'.diffstyle.'"\">".a:text."</span>"'
|
||||
\ ' return "<span ".a:extra_attrs."class=\"" . l:style_name .'.diffstyle.'"\">".a:text."</span>"'
|
||||
\ ]
|
||||
else
|
||||
|
||||
@@ -362,7 +366,7 @@ if s:settings.use_css
|
||||
" uses the number of unique codepoints for its limit.
|
||||
let wrapperfunc_lines += [
|
||||
\ ' if a:make_unselectable',
|
||||
\ ' return "<span class=\"" . l:style_name .'.diffstyle.'"\">'.
|
||||
\ ' return "<span ".a:extra_attrs."class=\"" . l:style_name .'.diffstyle.'"\">'.
|
||||
\ '<input'.s:unselInputType.' class=\"" . l:style_name .'.diffstyle.'"\"'.
|
||||
\ ' value=\"".substitute(a:unformatted,''\s\+$'',"","")."\"'.
|
||||
\ ' onselect=''this.blur(); return false;'''.
|
||||
@@ -372,17 +376,9 @@ if s:settings.use_css
|
||||
\ ' size=\"".strwidth(a:unformatted)."\"'.
|
||||
\ (s:settings.use_xhtml ? '/' : '').'></span>"',
|
||||
\ ' else',
|
||||
\ ' return "<span class=\"" . l:style_name .'. diffstyle .'"\">".a:text."</span>"'
|
||||
\ ' return "<span ".a:extra_attrs."class=\"" . l:style_name .'. diffstyle .'"\">".a:text."</span>"'
|
||||
\ ]
|
||||
endif
|
||||
" close off tag for non-empty primary style
|
||||
if s:settings.prevent_copy == ""
|
||||
let wrapperfunc_lines[-1] .=
|
||||
\ ' "\">".a:text."</span>"'
|
||||
else
|
||||
let wrapperfunc_lines[-1] .=
|
||||
\ ' "\">".a:text."</span>"'
|
||||
endif
|
||||
let wrapperfunc_lines += [
|
||||
\ ' endif',
|
||||
\ 'endfun'
|
||||
@@ -394,16 +390,16 @@ else
|
||||
" no styles exist.
|
||||
if &diff
|
||||
let wrapperfunc_lines = [
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, text, unusedarg, unusedarg2)',
|
||||
\ ' return s:HtmlOpening(a:style_id).(a:diff_style_id <= 0 ? "" :'.
|
||||
\ 's:HtmlOpening(a:diff_style_id)).a:text.'.
|
||||
\ '(a:diff_style_id <= 0 ? "" : s:HtmlClosing(a:diff_style_id)).s:HtmlClosing(a:style_id)',
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)',
|
||||
\ ' return s:HtmlOpening(a:style_id, a:extra_attrs).(a:diff_style_id <= 0 ? "" :'.
|
||||
\ 's:HtmlOpening(a:diff_style_id, "")).a:text.'.
|
||||
\ '(a:diff_style_id <= 0 ? "" : s:HtmlClosing(a:diff_style_id, 0)).s:HtmlClosing(a:style_id, !empty(a:extra_attrs))',
|
||||
\ 'endfun'
|
||||
\ ]
|
||||
else
|
||||
let wrapperfunc_lines = [
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, text, unusedarg, unusedarg2)',
|
||||
\ ' return s:HtmlOpening(a:style_id).a:text.s:HtmlClosing(a:style_id)',
|
||||
\ 'function! s:BuildStyleWrapper(style_id, diff_style_id, extra_attrs, text, unusedarg, unusedarg2)',
|
||||
\ ' return s:HtmlOpening(a:style_id, a:extra_attrs).a:text.s:HtmlClosing(a:style_id, !empty(a:extra_attrs))',
|
||||
\ 'endfun'
|
||||
\ ]
|
||||
endif
|
||||
@@ -418,7 +414,7 @@ let s:diff_mode = &diff
|
||||
" unprintable characters expanded and double spaces replaced as necessary.
|
||||
"
|
||||
" TODO: eliminate unneeded logic like done for BuildStyleWrapper
|
||||
function! s:HtmlFormat(text, style_id, diff_style_id, make_unselectable)
|
||||
function! s:HtmlFormat(text, style_id, diff_style_id, extra_attrs, make_unselectable)
|
||||
" Replace unprintable characters
|
||||
let unformatted = strtrans(a:text)
|
||||
|
||||
@@ -447,27 +443,45 @@ function! s:HtmlFormat(text, style_id, diff_style_id, make_unselectable)
|
||||
endif
|
||||
|
||||
" Enclose in the correct format
|
||||
return s:BuildStyleWrapper(a:style_id, a:diff_style_id, formatted, a:make_unselectable, unformatted)
|
||||
return s:BuildStyleWrapper(a:style_id, a:diff_style_id, a:extra_attrs, formatted, a:make_unselectable, unformatted)
|
||||
endfun
|
||||
|
||||
" set up functions to call HtmlFormat in certain ways based on whether the
|
||||
" element is supposed to be unselectable or not
|
||||
if s:settings.prevent_copy =~# 'n'
|
||||
function! s:HtmlFormat_n(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 1)
|
||||
endfun
|
||||
if s:settings.number_lines
|
||||
function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)
|
||||
if a:lnr > 0
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'.(exists('g:html_diff_win_num') ? 'W'.g:html_diff_win_num : "").'L'.a:lnr.'" ', 1)
|
||||
else
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1)
|
||||
endif
|
||||
endfun
|
||||
else
|
||||
" if lines are not being numbered the only reason this function gets called
|
||||
" is to put the line IDs on each line; "text" will be emtpy but lnr will
|
||||
" always be non-zero, however we don't want to use the <input> because that
|
||||
" won't work as nice for empty text
|
||||
function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'.(exists('g:html_diff_win_num') ? 'W'.g:html_diff_win_num : "").'L'.a:lnr.'" ', 0)
|
||||
endfun
|
||||
endif
|
||||
else
|
||||
function! s:HtmlFormat_n(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 0)
|
||||
function! s:HtmlFormat_n(text, style_id, diff_style_id, lnr)
|
||||
if a:lnr > 0
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 'id="'.(exists('g:html_diff_win_num') ? 'W'.g:html_diff_win_num : "").'L'.a:lnr.'" ', 0)
|
||||
else
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0)
|
||||
endif
|
||||
endfun
|
||||
endif
|
||||
if s:settings.prevent_copy =~# 'd'
|
||||
function! s:HtmlFormat_d(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 1)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1)
|
||||
endfun
|
||||
else
|
||||
function! s:HtmlFormat_d(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 0)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0)
|
||||
endfun
|
||||
endif
|
||||
if s:settings.prevent_copy =~# 'f'
|
||||
@@ -501,7 +515,7 @@ else
|
||||
\ "</a>"
|
||||
endfun
|
||||
function! s:FoldColumn_fill()
|
||||
return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, 0)
|
||||
return s:HtmlFormat(repeat(' ', s:foldcolumn), s:FOLD_C_ID, 0, "", 0)
|
||||
endfun
|
||||
endif
|
||||
if s:settings.prevent_copy =~# 't'
|
||||
@@ -512,17 +526,17 @@ if s:settings.prevent_copy =~# 't'
|
||||
" substitute later?
|
||||
if s:settings.dynamic_folds
|
||||
function! s:HtmlFormat_t(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 1) .
|
||||
\ s:HtmlFormat("", a:style_id, 0, 0)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1) .
|
||||
\ s:HtmlFormat("", a:style_id, 0, "", 0)
|
||||
endfun
|
||||
else
|
||||
function! s:HtmlFormat_t(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 1)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 1)
|
||||
endfun
|
||||
endif
|
||||
else
|
||||
function! s:HtmlFormat_t(text, style_id, diff_style_id)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, 0)
|
||||
return s:HtmlFormat(a:text, a:style_id, a:diff_style_id, "", 0)
|
||||
endfun
|
||||
endif
|
||||
|
||||
@@ -607,7 +621,11 @@ endif
|
||||
let s:orgbufnr = winbufnr(0)
|
||||
let s:origwin_stl = &l:stl
|
||||
if expand("%") == ""
|
||||
exec 'new Untitled.'.(s:settings.use_xhtml ? 'x' : '').'html'
|
||||
if exists('g:html_diff_win_num')
|
||||
exec 'new Untitled_win'.g:html_diff_win_num.'.'.(s:settings.use_xhtml ? 'x' : '').'html'
|
||||
else
|
||||
exec 'new Untitled.'.(s:settings.use_xhtml ? 'x' : '').'html'
|
||||
endif
|
||||
else
|
||||
exec 'new %.'.(s:settings.use_xhtml ? 'x' : '').'html'
|
||||
endif
|
||||
@@ -625,7 +643,6 @@ setlocal winfixheight
|
||||
let s:newwin_stl = &l:stl
|
||||
|
||||
" on the new window, set the least time-consuming fold method
|
||||
let s:old_fdm = &foldmethod
|
||||
let s:old_fen = &foldenable
|
||||
setlocal foldmethod=manual
|
||||
setlocal nofoldenable
|
||||
@@ -671,7 +688,7 @@ let s:LeadingSpace = ' '
|
||||
let s:HtmlEndline = ''
|
||||
if s:settings.no_pre
|
||||
let s:HtmlEndline = '<br' . s:tag_close
|
||||
let s:LeadingSpace = ' '
|
||||
let s:LeadingSpace = s:settings.use_xhtml ? ' ' : ' '
|
||||
let s:HtmlSpace = '\' . s:LeadingSpace
|
||||
endif
|
||||
|
||||
@@ -774,13 +791,12 @@ if s:settings.use_css
|
||||
endif
|
||||
endif
|
||||
|
||||
" insert script tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
|
||||
call extend(s:lines, [
|
||||
\ "",
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
endif
|
||||
" insert script tag; javascript is always needed for the line number
|
||||
" normalization for URL hashes
|
||||
call extend(s:lines, [
|
||||
\ "",
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
|
||||
" insert javascript to toggle folds open and closed
|
||||
if s:settings.dynamic_folds
|
||||
@@ -799,9 +815,54 @@ if s:settings.dynamic_folds
|
||||
\ " fold.className = 'closed-fold';",
|
||||
\ " }",
|
||||
\ "}"
|
||||
\])
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||
" jumping to any lines contained therein
|
||||
call extend(s:lines, [
|
||||
\ "",
|
||||
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
||||
\ "function JumpToLine()",
|
||||
\ "{",
|
||||
\ " var lineNum;",
|
||||
\ " lineNum = window.location.hash;",
|
||||
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
||||
\ "",
|
||||
\ " if (lineNum.indexOf('L') == -1) {",
|
||||
\ " lineNum = 'L'+lineNum;",
|
||||
\ " }",
|
||||
\ " lineElem = document.getElementById(lineNum);"
|
||||
\ ])
|
||||
if s:settings.dynamic_folds
|
||||
call extend(s:lines, [
|
||||
\ "",
|
||||
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
||||
\ " var node = lineElem;",
|
||||
\ " while (node && node.id != 'vimCodeElement')",
|
||||
\ " {",
|
||||
\ " if (node.className == 'closed-fold')",
|
||||
\ " {",
|
||||
\ " node.className = 'open-fold';",
|
||||
\ " }",
|
||||
\ " node = node.parentNode;",
|
||||
\ " }",
|
||||
\ ])
|
||||
endif
|
||||
call extend(s:lines, [
|
||||
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
||||
\ " * we corrected the raw number to a line ID.",
|
||||
\ " */",
|
||||
\ " if (lineElem) {",
|
||||
\ " lineElem.scrollIntoView(true);",
|
||||
\ " }",
|
||||
\ " return true;",
|
||||
\ "}",
|
||||
\ "if ('onhashchange' in window) {",
|
||||
\ " window.onhashchange = JumpToLine;",
|
||||
\ "}"
|
||||
\ ])
|
||||
|
||||
" Small text columns like the foldcolumn and line number column need a weird
|
||||
" hack to work around Webkit's and (in versions prior to 9) IE's lack of support
|
||||
" for the 'ch' unit without messing up Opera, which also doesn't support it but
|
||||
@@ -861,26 +922,24 @@ if !empty(s:settings.prevent_copy)
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert script closing tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
|
||||
call extend(s:lines, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
endif
|
||||
" insert script closing tag
|
||||
call extend(s:lines, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
|
||||
call extend(s:lines, ["</head>"])
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call extend(s:lines,
|
||||
\ ["<body onload='FixCharWidth();'>",
|
||||
\ ["<body onload='FixCharWidth(); JumpToLine();'>",
|
||||
\ "<!-- hidden divs used by javascript to get the width of a char -->",
|
||||
\ "<div id='oneCharWidth'>0</div>",
|
||||
\ "<div id='oneInputWidth'><input size='1' value='0'".s:tag_close."</div>",
|
||||
\ "<div id='oneEmWidth' style='width: 1em;'></div>"
|
||||
\ ])
|
||||
else
|
||||
call extend(s:lines, ["<body>"])
|
||||
call extend(s:lines, ["<body onload='JumpToLine();'>"])
|
||||
endif
|
||||
if s:settings.no_pre
|
||||
" if we're not using CSS we use a font tag which can't have a div inside
|
||||
@@ -1242,7 +1301,7 @@ while s:lnum <= s:end
|
||||
if s:settings.number_lines
|
||||
" Indent if line numbering is on. Indent gets style of line number
|
||||
" column.
|
||||
let s:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0) . s:new
|
||||
let s:new = s:HtmlFormat_n(repeat(' ', s:margin), s:LINENR_ID, 0, 0) . s:new
|
||||
endif
|
||||
if s:settings.dynamic_folds && !s:settings.no_foldcolumn && s:foldcolumn > 0
|
||||
" Indent for foldcolumn if there is one. Assume it's empty, there should
|
||||
@@ -1274,7 +1333,7 @@ while s:lnum <= s:end
|
||||
endif
|
||||
|
||||
" put numcol in a separate group for sake of unselectable text
|
||||
let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0): "") . s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)
|
||||
let s:new = (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, s:lnum): "") . s:HtmlFormat_t(s:new, s:FOLDED_ID, 0)
|
||||
|
||||
" Skip to the end of the fold
|
||||
let s:new_lnum = foldclosedend(s:lnum)
|
||||
@@ -1355,7 +1414,7 @@ while s:lnum <= s:end
|
||||
" Add fold text, moving the span ending to the next line so collapsing
|
||||
" of folds works correctly.
|
||||
" Put numcol in a separate group for sake of unselectable text.
|
||||
let s:new = s:new . (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0) : "") . substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '</span>', s:HtmlEndline.'\n\0', '')
|
||||
let s:new = s:new . (s:settings.number_lines ? s:HtmlFormat_n(s:numcol, s:FOLDED_ID, 0, 0) : "") . substitute(s:HtmlFormat_t(foldtextresult(s:lnum), s:FOLDED_ID, 0), '</span>', s:HtmlEndline.'\n\0', '')
|
||||
let s:new = s:new . "<span class='fulltext'>"
|
||||
|
||||
" open the fold now that we have the fold text to allow retrieval of
|
||||
@@ -1389,7 +1448,9 @@ while s:lnum <= s:end
|
||||
|
||||
" Now continue with the unfolded line text
|
||||
if s:settings.number_lines
|
||||
let s:new = s:new . s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0)
|
||||
let s:new = s:new . s:HtmlFormat_n(s:numcol, s:LINENR_ID, 0, s:lnum)
|
||||
else
|
||||
let s:new = s:new . s:HtmlFormat_n("", s:LINENR_ID, 0, s:lnum)
|
||||
endif
|
||||
|
||||
" Get the diff attribute, if any.
|
||||
@@ -1479,7 +1540,7 @@ while s:lnum <= s:end
|
||||
" Output the text with the same synID, with class set to the highlight ID
|
||||
" name, unless it has been concealed completely.
|
||||
if strlen(s:expandedtab) > 0
|
||||
let s:new = s:new . s:HtmlFormat(s:expandedtab, s:id, s:diff_id, 0)
|
||||
let s:new = s:new . s:HtmlFormat(s:expandedtab, s:id, s:diff_id, "", 0)
|
||||
endif
|
||||
endwhile
|
||||
endif
|
||||
@@ -1531,6 +1592,11 @@ unlet s:lines
|
||||
" stripped from the final output.
|
||||
%s!\v(%(^|\s+)%(vim?|ex)):!\1\:!ge
|
||||
|
||||
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
||||
" Make sure the user doesn't do syntax folding when loading a generated file,
|
||||
" using a modeline.
|
||||
call append(line('$'), "<!-- vim: set foldmethod=manual : -->")
|
||||
|
||||
" Now, when we finally know which, we define the colors and styles
|
||||
if s:settings.use_css
|
||||
1;/<style type="text/+1
|
||||
@@ -1616,7 +1682,7 @@ if s:settings.use_css
|
||||
endif
|
||||
endif
|
||||
else
|
||||
execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '">\r<font face="'. s:htmlfont .'">'
|
||||
execute '%s:<body\([^>]*\):<body bgcolor="' . s:bgc . '" text="' . s:fgc . '"\1>\r<font face="'. s:htmlfont .'"'
|
||||
endif
|
||||
|
||||
" Gather attributes for all other classes. Do diff first so that normal
|
||||
@@ -1652,8 +1718,10 @@ endif
|
||||
%s:\s\+$::e
|
||||
|
||||
" Restore old settings (new window first)
|
||||
"
|
||||
" Don't bother restoring foldmethod in case it was syntax because the markup is
|
||||
" so weirdly formatted it can take a LONG time.
|
||||
let &l:foldenable = s:old_fen
|
||||
let &l:foldmethod = s:old_fdm
|
||||
let &report = s:old_report
|
||||
let &title = s:old_title
|
||||
let &icon = s:old_icon
|
||||
@@ -1684,7 +1752,7 @@ let &ls=s:ls
|
||||
" Save a little bit of memory (worth doing?)
|
||||
unlet s:htmlfont s:whitespace
|
||||
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
|
||||
unlet s:old_magic s:old_more s:old_fdm s:old_fen s:old_winheight
|
||||
unlet s:old_magic s:old_more s:old_fen s:old_winheight
|
||||
unlet! s:old_isprint
|
||||
unlet s:whatterm s:stylelist s:diffstylelist s:lnum s:end s:margin s:fgc s:bgc s:old_winfixheight
|
||||
unlet! s:col s:id s:attr s:len s:line s:new s:expandedtab s:concealinfo s:diff_mode
|
||||
|
||||
@@ -21,7 +21,7 @@ syn keyword cTodo contained TODO FIXME XXX
|
||||
|
||||
" It's easy to accidentally add a space after a backslash that was intended
|
||||
" for line continuation. Some compilers allow it, which makes it
|
||||
" unpredicatable and should be avoided.
|
||||
" unpredictable and should be avoided.
|
||||
syn match cBadContinuation contained "\\\s\+$"
|
||||
|
||||
" cCommentGroup allows adding matches for special things in comments
|
||||
@@ -341,12 +341,12 @@ syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip
|
||||
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
|
||||
if !exists("c_no_if0")
|
||||
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
|
||||
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse fold
|
||||
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
|
||||
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
|
||||
if !exists("c_no_if0_fold")
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
|
||||
else
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
endif
|
||||
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
|
||||
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
|
||||
@@ -356,7 +356,7 @@ if !exists("c_no_if0")
|
||||
else
|
||||
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
|
||||
endif
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
|
||||
syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
|
||||
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
|
||||
endif
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Cucumber
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.feature
|
||||
" Last Change: 2012 Apr 30
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -14,50 +14,60 @@ syn case match
|
||||
syn sync minlines=20
|
||||
|
||||
let g:cucumber_languages = {
|
||||
\"en": {"and": "And\\>", "background": "Background\\>", "but": "But\\>", "examples": "Scenarios\\>\\|Examples\\>", "feature": "Feature\\>", "given": "Given\\>", "scenario": "Scenario\\>", "scenario_outline": "Scenario Outline\\>", "then": "Then\\>", "when": "When\\>"},
|
||||
\"en": {"and": "And\\>", "background": "Background\\>", "but": "But\\>", "examples": "Scenarios\\>\\|Examples\\>", "feature": "Business Need\\>\\|Feature\\>\\|Ability\\>", "given": "Given\\>", "scenario": "Scenario\\>", "scenario_outline": "Scenario Template\\>\\|Scenario Outline\\>", "then": "Then\\>", "when": "When\\>"},
|
||||
\"ar": {"and": "\\%u0648\\>", "background": "\\%u0627\\%u0644\\%u062e\\%u0644\\%u0641\\%u064a\\%u0629\\>", "but": "\\%u0644\\%u0643\\%u0646\\>", "examples": "\\%u0627\\%u0645\\%u062b\\%u0644\\%u0629\\>", "feature": "\\%u062e\\%u0627\\%u0635\\%u064a\\%u0629\\>", "given": "\\%u0628\\%u0641\\%u0631\\%u0636\\>", "scenario": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648\\>", "scenario_outline": "\\%u0633\\%u064a\\%u0646\\%u0627\\%u0631\\%u064a\\%u0648 \\%u0645\\%u062e\\%u0637\\%u0637\\>", "then": "\\%u0627\\%u0630\\%u0627\\%u064b\\>\\|\\%u062b\\%u0645\\>", "when": "\\%u0639\\%u0646\\%u062f\\%u0645\\%u0627\\>\\|\\%u0645\\%u062a\\%u0649\\>"},
|
||||
\"bg": {"and": "\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u0438\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f\\>", "but": "\\%u041d\\%u043e\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\>", "given": "\\%u0414\\%u0430\\%u0434\\%u0435\\%u043d\\%u043e\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "scenario_outline": "\\%u0420\\%u0430\\%u043c\\%u043a\\%u0430 \\%u043d\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "then": "\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0430\\%u0442\\%u043e\\>"},
|
||||
\"bm": {"and": "Dan\\>", "background": "Latar Belakang\\>", "but": "Tetapi\\>", "examples": "Contoh \\>", "feature": "Fungsi\\>", "given": "Bagi\\>", "scenario": "Senario\\>", "scenario_outline": "Menggariskan Senario \\>", "then": "Kemudian\\>", "when": "Apabila\\>"},
|
||||
\"ca": {"and": "I\\>", "background": "Antecedents\\>\\|Rerefons\\>", "but": "Per\\%u00f2\\>", "examples": "Exemples\\>", "feature": "Caracter\\%u00edstica\\>\\|Funcionalitat\\>", "given": "At\\%u00e8s\\>\\|Donada\\>\\|Donat\\>\\|Atesa\\>", "scenario": "Escenari\\>", "scenario_outline": "Esquema de l'escenari\\>", "then": "Aleshores\\>\\|Cal\\>", "when": "Quan\\>"},
|
||||
\"cs": {"and": "A tak\\%u00e9\\>\\|A\\>", "background": "Pozad\\%u00ed\\>\\|Kontext\\>", "but": "Ale\\>", "examples": "P\\%u0159\\%u00edklady\\>", "feature": "Po\\%u017eadavek\\>", "given": "Pokud\\>", "scenario": "Sc\\%u00e9n\\%u00e1\\%u0159\\>", "scenario_outline": "N\\%u00e1\\%u010drt Sc\\%u00e9n\\%u00e1\\%u0159e\\>\\|Osnova sc\\%u00e9n\\%u00e1\\%u0159e\\>", "then": "Pak\\>", "when": "Kdy\\%u017e\\>"},
|
||||
\"cs": {"and": "A tak\\%u00e9\\>\\|A\\>", "background": "Pozad\\%u00ed\\>\\|Kontext\\>", "but": "Ale\\>", "examples": "P\\%u0159\\%u00edklady\\>", "feature": "Po\\%u017eadavek\\>", "given": "Za p\\%u0159edpokladu\\>\\|Pokud\\>", "scenario": "Sc\\%u00e9n\\%u00e1\\%u0159\\>", "scenario_outline": "N\\%u00e1\\%u010drt Sc\\%u00e9n\\%u00e1\\%u0159e\\>\\|Osnova sc\\%u00e9n\\%u00e1\\%u0159e\\>", "then": "Pak\\>", "when": "Kdy\\%u017e\\>"},
|
||||
\"cy-GB": {"and": "A\\>", "background": "Cefndir\\>", "but": "Ond\\>", "examples": "Enghreifftiau\\>", "feature": "Arwedd\\>", "given": "Anrhegedig a\\>", "scenario": "Scenario\\>", "scenario_outline": "Scenario Amlinellol\\>", "then": "Yna\\>", "when": "Pryd\\>"},
|
||||
\"da": {"and": "Og\\>", "background": "Baggrund\\>", "but": "Men\\>", "examples": "Eksempler\\>", "feature": "Egenskab\\>", "given": "Givet\\>", "scenario": "Scenarie\\>", "scenario_outline": "Abstrakt Scenario\\>", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"},
|
||||
\"de": {"and": "Und\\>", "background": "Grundlage\\>", "but": "Aber\\>", "examples": "Beispiele\\>", "feature": "Funktionalit\\%u00e4t\\>", "given": "Gegeben sei\\>\\|Angenommen\\>", "scenario": "Szenario\\>", "scenario_outline": "Szenariogrundriss\\>", "then": "Dann\\>", "when": "Wenn\\>"},
|
||||
\"el": {"and": "\\%u039a\\%u03b1\\%u03b9\\>", "background": "\\%u03a5\\%u03c0\\%u03cc\\%u03b2\\%u03b1\\%u03b8\\%u03c1\\%u03bf\\>", "but": "\\%u0391\\%u03bb\\%u03bb\\%u03ac\\>", "examples": "\\%u03a0\\%u03b1\\%u03c1\\%u03b1\\%u03b4\\%u03b5\\%u03af\\%u03b3\\%u03bc\\%u03b1\\%u03c4\\%u03b1\\>\\|\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03b1\\>", "feature": "\\%u0394\\%u03c5\\%u03bd\\%u03b1\\%u03c4\\%u03cc\\%u03c4\\%u03b7\\%u03c4\\%u03b1\\>\\|\\%u039b\\%u03b5\\%u03b9\\%u03c4\\%u03bf\\%u03c5\\%u03c1\\%u03b3\\%u03af\\%u03b1\\>", "given": "\\%u0394\\%u03b5\\%u03b4\\%u03bf\\%u03bc\\%u03ad\\%u03bd\\%u03bf\\%u03c5 \\%u03cc\\%u03c4\\%u03b9\\>\\|\\%u0394\\%u03b5\\%u03b4\\%u03bf\\%u03bc\\%u03ad\\%u03bd\\%u03bf\\%u03c5\\>", "scenario": "\\%u03a3\\%u03b5\\%u03bd\\%u03ac\\%u03c1\\%u03b9\\%u03bf\\>", "scenario_outline": "\\%u03a0\\%u03b5\\%u03c1\\%u03b9\\%u03b3\\%u03c1\\%u03b1\\%u03c6\\%u03ae \\%u03a3\\%u03b5\\%u03bd\\%u03b1\\%u03c1\\%u03af\\%u03bf\\%u03c5\\>", "then": "\\%u03a4\\%u03cc\\%u03c4\\%u03b5\\>", "when": "\\%u038c\\%u03c4\\%u03b1\\%u03bd\\>"},
|
||||
\"en-Scouse": {"and": "An\\>", "background": "Dis is what went down\\>", "but": "Buh\\>", "examples": "Examples\\>", "feature": "Feature\\>", "given": "Youse know when youse got\\>\\|Givun\\>", "scenario": "The thing of it is\\>", "scenario_outline": "Wharrimean is\\>", "then": "Den youse gotta\\>\\|Dun\\>", "when": "Youse know like when\\>\\|Wun\\>"},
|
||||
\"en-au": {"and": "N\\>", "background": "Background\\>", "but": "Cept\\>", "examples": "Cobber\\>", "feature": "Crikey\\>", "given": "Ya know how\\>", "scenario": "Mate\\>", "scenario_outline": "Blokes\\>", "then": "Ya gotta\\>", "when": "When\\>"},
|
||||
\"en-au": {"and": "Too right\\>", "background": "First off\\>", "but": "Yeah nah\\>", "examples": "You'll wanna\\>", "feature": "Pretty much\\>", "given": "Y'know\\>", "scenario": "Awww, look mate\\>", "scenario_outline": "Reckon it's like\\>", "then": "But at the end of the day I reckon\\>", "when": "It's just unbelievable\\>"},
|
||||
\"en-lol": {"and": "AN\\>", "background": "B4\\>", "but": "BUT\\>", "examples": "EXAMPLZ\\>", "feature": "OH HAI\\>", "given": "I CAN HAZ\\>", "scenario": "MISHUN\\>", "scenario_outline": "MISHUN SRSLY\\>", "then": "DEN\\>", "when": "WEN\\>"},
|
||||
\"en-old": {"and": "Ond\\>\\|7\\>", "background": "\\%u00c6r\\>\\|Aer\\>", "but": "Ac\\>", "examples": "Se \\%u00f0e\\>\\|Se \\%u00fee\\>\\|Se the\\>", "feature": "Hw\\%u00e6t\\>\\|Hwaet\\>", "given": "\\%u00d0urh\\>\\|\\%u00deurh\\>\\|Thurh\\>", "scenario": "Swa\\>", "scenario_outline": "Swa hw\\%u00e6r swa\\>\\|Swa hwaer swa\\>", "then": "\\%u00d0a \\%u00f0e\\>\\|\\%u00dea \\%u00fee\\>\\|\\%u00dea\\>\\|\\%u00d0a\\>\\|Tha the\\>\\|Tha\\>", "when": "\\%u00d0a\\>\\|\\%u00dea\\>\\|Tha\\>"},
|
||||
\"en-pirate": {"and": "Aye\\>", "background": "Yo-ho-ho\\>", "but": "Avast!\\>", "examples": "Dead men tell no tales\\>", "feature": "Ahoy matey!\\>", "given": "Gangway!\\>", "scenario": "Heave to\\>", "scenario_outline": "Shiver me timbers\\>", "then": "Let go and haul\\>", "when": "Blimey!\\>"},
|
||||
\"en-tx": {"and": "And y'all\\>", "background": "Background\\>", "but": "But y'all\\>", "examples": "Examples\\>", "feature": "Feature\\>", "given": "Given y'all\\>", "scenario": "Scenario\\>", "scenario_outline": "All y'all\\>", "then": "Then y'all\\>", "when": "When y'all\\>"},
|
||||
\"eo": {"and": "Kaj\\>", "background": "Fono\\>", "but": "Sed\\>", "examples": "Ekzemploj\\>", "feature": "Trajto\\>", "given": "Donita\\%u0135o\\>", "scenario": "Scenaro\\>", "scenario_outline": "Konturo de la scenaro\\>", "then": "Do\\>", "when": "Se\\>"},
|
||||
\"es": {"and": "Y\\>", "background": "Antecedentes\\>", "but": "Pero\\>", "examples": "Ejemplos\\>", "feature": "Caracter\\%u00edstica\\>", "given": "Dado\\>", "scenario": "Escenario\\>", "scenario_outline": "Esquema del escenario\\>", "then": "Entonces\\>", "when": "Cuando\\>"},
|
||||
\"es": {"and": "Y\\>", "background": "Antecedentes\\>", "but": "Pero\\>", "examples": "Ejemplos\\>", "feature": "Caracter\\%u00edstica\\>", "given": "Dadas\\>\\|Dados\\>\\|Dada\\>\\|Dado\\>", "scenario": "Escenario\\>", "scenario_outline": "Esquema del escenario\\>", "then": "Entonces\\>", "when": "Cuando\\>"},
|
||||
\"et": {"and": "Ja\\>", "background": "Taust\\>", "but": "Kuid\\>", "examples": "Juhtumid\\>", "feature": "Omadus\\>", "given": "Eeldades\\>", "scenario": "Stsenaarium\\>", "scenario_outline": "Raamstsenaarium\\>", "then": "Siis\\>", "when": "Kui\\>"},
|
||||
\"fa": {"and": "\\%u0648\\>", "background": "\\%u0632\\%u0645\\%u06cc\\%u0646\\%u0647\\>", "but": "\\%u0627\\%u0645\\%u0627\\>", "examples": "\\%u0646\\%u0645\\%u0648\\%u0646\\%u0647 \\%u0647\\%u0627\\>", "feature": "\\%u0648\\%u0650\\%u06cc\\%u0698\\%u06af\\%u06cc\\>", "given": "\\%u0628\\%u0627 \\%u0641\\%u0631\\%u0636\\>", "scenario": "\\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648\\>", "scenario_outline": "\\%u0627\\%u0644\\%u06af\\%u0648\\%u06cc \\%u0633\\%u0646\\%u0627\\%u0631\\%u06cc\\%u0648\\>", "then": "\\%u0622\\%u0646\\%u06af\\%u0627\\%u0647\\>", "when": "\\%u0647\\%u0646\\%u06af\\%u0627\\%u0645\\%u06cc\\>"},
|
||||
\"fi": {"and": "Ja\\>", "background": "Tausta\\>", "but": "Mutta\\>", "examples": "Tapaukset\\>", "feature": "Ominaisuus\\>", "given": "Oletetaan\\>", "scenario": "Tapaus\\>", "scenario_outline": "Tapausaihio\\>", "then": "Niin\\>", "when": "Kun\\>"},
|
||||
\"fr": {"and": "Et\\>", "background": "Contexte\\>", "but": "Mais\\>", "examples": "Exemples\\>", "feature": "Fonctionnalit\\%u00e9\\>", "given": "Etant donn\\%u00e9\\>\\|Soit\\>", "scenario": "Sc\\%u00e9nario\\>", "scenario_outline": "Plan du sc\\%u00e9nario\\>\\|Plan du Sc\\%u00e9nario\\>", "then": "Alors\\>", "when": "Lorsqu'\\|Lorsque\\>\\|Quand\\>"},
|
||||
\"fr": {"and": "Et\\>", "background": "Contexte\\>", "but": "Mais\\>", "examples": "Exemples\\>", "feature": "Fonctionnalit\\%u00e9\\>", "given": "\\%u00c9tant donn\\%u00e9es\\>\\|\\%u00c9tant donn\\%u00e9s\\>\\|\\%u00c9tant donn\\%u00e9e\\>\\|\\%u00c9tant donn\\%u00e9\\>\\|Etant donn\\%u00e9es\\>\\|Etant donn\\%u00e9s\\>\\|Etant donn\\%u00e9e\\>\\|Etant donn\\%u00e9\\>\\|Soit\\>", "scenario": "Sc\\%u00e9nario\\>", "scenario_outline": "Plan du sc\\%u00e9nario\\>\\|Plan du Sc\\%u00e9nario\\>", "then": "Alors\\>", "when": "Lorsqu'\\|Lorsque\\>\\|Quand\\>"},
|
||||
\"gl": {"and": "E\\>", "background": "Contexto\\>", "but": "Mais\\>\\|Pero\\>", "examples": "Exemplos\\>", "feature": "Caracter\\%u00edstica\\>", "given": "Dadas\\>\\|Dados\\>\\|Dada\\>\\|Dado\\>", "scenario": "Escenario\\>", "scenario_outline": "Esbozo do escenario\\>", "then": "Ent\\%u00f3n\\>\\|Logo\\>", "when": "Cando\\>"},
|
||||
\"he": {"and": "\\%u05d5\\%u05d2\\%u05dd\\>", "background": "\\%u05e8\\%u05e7\\%u05e2\\>", "but": "\\%u05d0\\%u05d1\\%u05dc\\>", "examples": "\\%u05d3\\%u05d5\\%u05d2\\%u05de\\%u05d0\\%u05d5\\%u05ea\\>", "feature": "\\%u05ea\\%u05db\\%u05d5\\%u05e0\\%u05d4\\>", "given": "\\%u05d1\\%u05d4\\%u05d9\\%u05e0\\%u05ea\\%u05df\\>", "scenario": "\\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9\\>", "scenario_outline": "\\%u05ea\\%u05d1\\%u05e0\\%u05d9\\%u05ea \\%u05ea\\%u05e8\\%u05d7\\%u05d9\\%u05e9\\>", "then": "\\%u05d0\\%u05d6\\%u05d9\\>\\|\\%u05d0\\%u05d6\\>", "when": "\\%u05db\\%u05d0\\%u05e9\\%u05e8\\>"},
|
||||
\"hi": {"and": "\\%u0924\\%u0925\\%u093e\\>\\|\\%u0914\\%u0930\\>", "background": "\\%u092a\\%u0943\\%u0937\\%u094d\\%u0920\\%u092d\\%u0942\\%u092e\\%u093f\\>", "but": "\\%u092a\\%u0930\\>", "examples": "\\%u0909\\%u0926\\%u093e\\%u0939\\%u0930\\%u0923\\>", "feature": "\\%u0930\\%u0942\\%u092a \\%u0932\\%u0947\\%u0916\\>", "given": "\\%u091a\\%u0942\\%u0902\\%u0915\\%u093f\\>\\|\\%u092f\\%u0926\\%u093f\\>\\|\\%u0905\\%u0917\\%u0930\\>", "scenario": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f\\>", "scenario_outline": "\\%u092a\\%u0930\\%u093f\\%u0926\\%u0943\\%u0936\\%u094d\\%u092f \\%u0930\\%u0942\\%u092a\\%u0930\\%u0947\\%u0916\\%u093e\\>", "then": "\\%u0924\\%u092c\\>", "when": "\\%u091c\\%u092c\\>"},
|
||||
\"hr": {"and": "I\\>", "background": "Pozadina\\>", "but": "Ali\\>", "examples": "Scenariji\\>\\|Primjeri\\>", "feature": "Mogu\\%u0107nost\\>\\|Mogucnost\\>\\|Osobina\\>", "given": "Zadano\\>\\|Zadani\\>\\|Zadan\\>", "scenario": "Scenarij\\>", "scenario_outline": "Koncept\\>\\|Skica\\>", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"},
|
||||
\"hu": {"and": "\\%u00c9s\\>", "background": "H\\%u00e1tt\\%u00e9r\\>", "but": "De\\>", "examples": "P\\%u00e9ld\\%u00e1k\\>", "feature": "Jellemz\\%u0151\\>", "given": "Ha\\>", "scenario": "Forgat\\%u00f3k\\%u00f6nyv\\>", "scenario_outline": "Forgat\\%u00f3k\\%u00f6nyv v\\%u00e1zlat\\>", "then": "Akkor\\>", "when": "Majd\\>"},
|
||||
\"hu": {"and": "\\%u00c9s\\>", "background": "H\\%u00e1tt\\%u00e9r\\>", "but": "De\\>", "examples": "P\\%u00e9ld\\%u00e1k\\>", "feature": "Jellemz\\%u0151\\>", "given": "Amennyiben\\>\\|Adott\\>", "scenario": "Forgat\\%u00f3k\\%u00f6nyv\\>", "scenario_outline": "Forgat\\%u00f3k\\%u00f6nyv v\\%u00e1zlat\\>", "then": "Akkor\\>", "when": "Amikor\\>\\|Majd\\>\\|Ha\\>"},
|
||||
\"id": {"and": "Dan\\>", "background": "Dasar\\>", "but": "Tapi\\>", "examples": "Contoh\\>", "feature": "Fitur\\>", "given": "Dengan\\>", "scenario": "Skenario\\>", "scenario_outline": "Skenario konsep\\>", "then": "Maka\\>", "when": "Ketika\\>"},
|
||||
\"it": {"and": "E\\>", "background": "Contesto\\>", "but": "Ma\\>", "examples": "Esempi\\>", "feature": "Funzionalit\\%u00e0\\>", "given": "Dato\\>", "scenario": "Scenario\\>", "scenario_outline": "Schema dello scenario\\>", "then": "Allora\\>", "when": "Quando\\>"},
|
||||
\"is": {"and": "Og\\>", "background": "Bakgrunnur\\>", "but": "En\\>", "examples": "Atbur\\%u00f0ar\\%u00e1sir\\>\\|D\\%u00e6mi\\>", "feature": "Eiginleiki\\>", "given": "Ef\\>", "scenario": "Atbur\\%u00f0ar\\%u00e1s\\>", "scenario_outline": "L\\%u00fdsing Atbur\\%u00f0ar\\%u00e1sar\\>\\|L\\%u00fdsing D\\%u00e6ma\\>", "then": "\\%u00de\\%u00e1\\>", "when": "\\%u00deegar\\>"},
|
||||
\"it": {"and": "E\\>", "background": "Contesto\\>", "but": "Ma\\>", "examples": "Esempi\\>", "feature": "Funzionalit\\%u00e0\\>", "given": "Dato\\>\\|Data\\>\\|Dati\\>\\|Date\\>", "scenario": "Scenario\\>", "scenario_outline": "Schema dello scenario\\>", "then": "Allora\\>", "when": "Quando\\>"},
|
||||
\"ja": {"and": "\\%u304b\\%u3064", "background": "\\%u80cc\\%u666f\\>", "but": "\\%u3057\\%u304b\\%u3057\\|\\%u305f\\%u3060\\%u3057\\|\\%u4f46\\%u3057", "examples": "\\%u30b5\\%u30f3\\%u30d7\\%u30eb\\>\\|\\%u4f8b\\>", "feature": "\\%u30d5\\%u30a3\\%u30fc\\%u30c1\\%u30e3\\>\\|\\%u6a5f\\%u80fd\\>", "given": "\\%u524d\\%u63d0", "scenario": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\>", "scenario_outline": "\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30a2\\%u30a6\\%u30c8\\%u30e9\\%u30a4\\%u30f3\\>\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\%u30fc\\%u30c8\\>\\|\\%u30b7\\%u30ca\\%u30ea\\%u30aa\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\>\\|\\%u30c6\\%u30f3\\%u30d7\\%u30ec\\>", "then": "\\%u306a\\%u3089\\%u3070", "when": "\\%u3082\\%u3057"},
|
||||
\"ko": {"and": "\\%uadf8\\%ub9ac\\%uace0", "background": "\\%ubc30\\%uacbd\\>", "but": "\\%ud558\\%uc9c0\\%ub9cc\\|\\%ub2e8", "examples": "\\%uc608\\>", "feature": "\\%uae30\\%ub2a5\\>", "given": "\\%uc870\\%uac74\\|\\%uba3c\\%uc800", "scenario": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624\\>", "scenario_outline": "\\%uc2dc\\%ub098\\%ub9ac\\%uc624 \\%uac1c\\%uc694\\>", "then": "\\%uadf8\\%ub7ec\\%uba74", "when": "\\%ub9cc\\%uc77c\\|\\%ub9cc\\%uc57d"},
|
||||
\"lt": {"and": "Ir\\>", "background": "Kontekstas\\>", "but": "Bet\\>", "examples": "Pavyzd\\%u017eiai\\>\\|Scenarijai\\>\\|Variantai\\>", "feature": "Savyb\\%u0117\\>", "given": "Duota\\>", "scenario": "Scenarijus\\>", "scenario_outline": "Scenarijaus \\%u0161ablonas\\>", "then": "Tada\\>", "when": "Kai\\>"},
|
||||
\"lu": {"and": "an\\>\\|a\\>", "background": "Hannergrond\\>", "but": "m\\%u00e4\\>\\|awer\\>", "examples": "Beispiller\\>", "feature": "Funktionalit\\%u00e9it\\>", "given": "ugeholl\\>", "scenario": "Szenario\\>", "scenario_outline": "Plang vum Szenario\\>", "then": "dann\\>", "when": "wann\\>"},
|
||||
\"lv": {"and": "Un\\>", "background": "Situ\\%u0101cija\\>\\|Konteksts\\>", "but": "Bet\\>", "examples": "Piem\\%u0113ri\\>\\|Paraugs\\>", "feature": "Funkcionalit\\%u0101te\\>\\|F\\%u012b\\%u010da\\>", "given": "Kad\\>", "scenario": "Scen\\%u0101rijs\\>", "scenario_outline": "Scen\\%u0101rijs p\\%u0113c parauga\\>", "then": "Tad\\>", "when": "Ja\\>"},
|
||||
\"nl": {"and": "En\\>", "background": "Achtergrond\\>", "but": "Maar\\>", "examples": "Voorbeelden\\>", "feature": "Functionaliteit\\>", "given": "Gegeven\\>\\|Stel\\>", "scenario": "Scenario\\>", "scenario_outline": "Abstract Scenario\\>", "then": "Dan\\>", "when": "Als\\>"},
|
||||
\"no": {"and": "Og\\>", "background": "Bakgrunn\\>", "but": "Men\\>", "examples": "Eksempler\\>", "feature": "Egenskap\\>", "given": "Gitt\\>", "scenario": "Scenario\\>", "scenario_outline": "Abstrakt Scenario\\>", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"},
|
||||
\"pl": {"and": "Oraz\\>", "background": "Za\\%u0142o\\%u017cenia\\>", "but": "Ale\\>", "examples": "Przyk\\%u0142ady\\>", "feature": "W\\%u0142a\\%u015bciwo\\%u015b\\%u0107\\>", "given": "Zak\\%u0142adaj\\%u0105c\\>", "scenario": "Scenariusz\\>", "scenario_outline": "Szablon scenariusza\\>", "then": "Wtedy\\>", "when": "Je\\%u017celi\\>"},
|
||||
\"pt": {"and": "E\\>", "background": "Contexto\\>", "but": "Mas\\>", "examples": "Exemplos\\>", "feature": "Funcionalidade\\>", "given": "Dado\\>", "scenario": "Cen\\%u00e1rio\\>\\|Cenario\\>", "scenario_outline": "Esquema do Cen\\%u00e1rio\\>\\|Esquema do Cenario\\>", "then": "Ent\\%u00e3o\\>\\|Entao\\>", "when": "Quando\\>"},
|
||||
\"ro": {"and": "Si\\>", "background": "Conditii\\>", "but": "Dar\\>", "examples": "Exemplele\\>", "feature": "Functionalitate\\>", "given": "Daca\\>", "scenario": "Scenariu\\>", "scenario_outline": "Scenariul de sablon\\>", "then": "Atunci\\>", "when": "Cand\\>"},
|
||||
\"ro-RO": {"and": "\\%u0218i\\>", "background": "Condi\\%u0163ii\\>", "but": "Dar\\>", "examples": "Exemplele\\>", "feature": "Func\\%u021bionalitate\\>", "given": "Dac\\%u0103\\>", "scenario": "Scenariu\\>", "scenario_outline": "Scenariul de \\%u015fablon\\>", "then": "Atunci\\>", "when": "C\\%u00e2nd\\>"},
|
||||
\"ru": {"and": "\\%u041a \\%u0442\\%u043e\\%u043c\\%u0443 \\%u0436\\%u0435\\>\\|\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u044b\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f\\>", "but": "\\%u041d\\%u043e\\>\\|\\%u0410\\>", "examples": "\\%u0417\\%u043d\\%u0430\\%u0447\\%u0435\\%u043d\\%u0438\\%u044f\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\>\\|\\%u0424\\%u0438\\%u0447\\%u0430\\>", "given": "\\%u0414\\%u043e\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f\\>", "then": "\\%u0422\\%u043e\\>", "when": "\\%u0415\\%u0441\\%u043b\\%u0438\\>"},
|
||||
\"sk": {"and": "A\\>", "background": "Pozadie\\>", "but": "Ale\\>", "examples": "Pr\\%u00edklady\\>", "feature": "Po\\%u017eiadavka\\>", "given": "Pokia\\%u013e\\>", "scenario": "Scen\\%u00e1r\\>", "scenario_outline": "N\\%u00e1\\%u010drt Scen\\%u00e1ru\\>", "then": "Tak\\>", "when": "Ke\\%u010f\\>"},
|
||||
\"no": {"and": "Og\\>", "background": "Bakgrunn\\>", "but": "Men\\>", "examples": "Eksempler\\>", "feature": "Egenskap\\>", "given": "Gitt\\>", "scenario": "Scenario\\>", "scenario_outline": "Abstrakt Scenario\\>\\|Scenariomal\\>", "then": "S\\%u00e5\\>", "when": "N\\%u00e5r\\>"},
|
||||
\"pl": {"and": "Oraz\\>\\|I\\>", "background": "Za\\%u0142o\\%u017cenia\\>", "but": "Ale\\>", "examples": "Przyk\\%u0142ady\\>", "feature": "W\\%u0142a\\%u015bciwo\\%u015b\\%u0107\\>\\|Potrzeba biznesowa\\>\\|Funkcja\\>\\|Aspekt\\>", "given": "Zak\\%u0142adaj\\%u0105c\\>\\|Maj\\%u0105c\\>", "scenario": "Scenariusz\\>", "scenario_outline": "Szablon scenariusza\\>", "then": "Wtedy\\>", "when": "Je\\%u017celi\\>\\|Je\\%u015bli\\>\\|Kiedy\\>\\|Gdy\\>"},
|
||||
\"pt": {"and": "E\\>", "background": "Cen\\%u00e1rio de Fundo\\>\\|Cenario de Fundo\\>\\|Contexto\\>\\|Fundo\\>", "but": "Mas\\>", "examples": "Cen\\%u00e1rios\\>\\|Exemplos\\>\\|Cenarios\\>", "feature": "Caracter\\%u00edstica\\>\\|Funcionalidade\\>\\|Caracteristica\\>", "given": "Dadas\\>\\|Dados\\>\\|Dada\\>\\|Dado\\>", "scenario": "Cen\\%u00e1rio\\>\\|Cenario\\>", "scenario_outline": "Delinea\\%u00e7\\%u00e3o do Cen\\%u00e1rio\\>\\|Esquema do Cen\\%u00e1rio\\>\\|Delineacao do Cenario\\>\\|Esquema do Cenario\\>", "then": "Ent\\%u00e3o\\>\\|Entao\\>", "when": "Quando\\>"},
|
||||
\"ro": {"and": "\\%u015ei\\>\\|\\%u0218i\\>\\|Si\\>", "background": "Context\\>", "but": "Dar\\>", "examples": "Exemple\\>", "feature": "Func\\%u0163ionalitate\\>\\|Func\\%u021bionalitate\\>\\|Functionalitate\\>", "given": "Da\\%u0163i fiind\\>\\|Da\\%u021bi fiind\\>\\|Dati fiind\\>\\|Date fiind\\>\\|Dat fiind\\>", "scenario": "Scenariu\\>", "scenario_outline": "Structur\\%u0103 scenariu\\>\\|Structura scenariu\\>", "then": "Atunci\\>", "when": "C\\%u00e2nd\\>\\|Cand\\>"},
|
||||
\"ru": {"and": "\\%u041a \\%u0442\\%u043e\\%u043c\\%u0443 \\%u0436\\%u0435\\>\\|\\%u0422\\%u0430\\%u043a\\%u0436\\%u0435\\>\\|\\%u0418\\>", "background": "\\%u041f\\%u0440\\%u0435\\%u0434\\%u044b\\%u0441\\%u0442\\%u043e\\%u0440\\%u0438\\%u044f\\>\\|\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\>", "but": "\\%u041d\\%u043e\\>\\|\\%u0410\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u044b\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\>\\|\\%u0421\\%u0432\\%u043e\\%u0439\\%u0441\\%u0442\\%u0432\\%u043e\\>\\|\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u044f\\>", "given": "\\%u0414\\%u043e\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\>\\|\\%u041f\\%u0443\\%u0441\\%u0442\\%u044c\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u044f\\>", "then": "\\%u0422\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u041a\\%u043e\\%u0433\\%u0434\\%u0430\\>\\|\\%u0415\\%u0441\\%u043b\\%u0438\\>"},
|
||||
\"sk": {"and": "A z\\%u00e1rove\\%u0148\\>\\|A taktie\\%u017e\\>\\|A tie\\%u017e\\>\\|A\\>", "background": "Pozadie\\>", "but": "Ale\\>", "examples": "Pr\\%u00edklady\\>", "feature": "Po\\%u017eiadavka\\>\\|Vlastnos\\%u0165\\>\\|Funkcia\\>", "given": "Za predpokladu\\>\\|Pokia\\%u013e\\>", "scenario": "Scen\\%u00e1r\\>", "scenario_outline": "N\\%u00e1\\%u010drt Scen\\%u00e1ru\\>\\|N\\%u00e1\\%u010drt Scen\\%u00e1ra\\>\\|Osnova Scen\\%u00e1ra\\>", "then": "Potom\\>\\|Tak\\>", "when": "Ke\\%u010f\\>\\|Ak\\>"},
|
||||
\"sr-Cyrl": {"and": "\\%u0418\\>", "background": "\\%u041a\\%u043e\\%u043d\\%u0442\\%u0435\\%u043a\\%u0441\\%u0442\\>\\|\\%u041f\\%u043e\\%u0437\\%u0430\\%u0434\\%u0438\\%u043d\\%u0430\\>\\|\\%u041e\\%u0441\\%u043d\\%u043e\\%u0432\\%u0430\\>", "but": "\\%u0410\\%u043b\\%u0438\\>", "examples": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0438\\>\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\%u0438\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\%u043d\\%u043e\\%u0441\\%u0442\\>\\|\\%u041c\\%u043e\\%u0433\\%u0443\\%u045b\\%u043d\\%u043e\\%u0441\\%u0442\\>\\|\\%u041e\\%u0441\\%u043e\\%u0431\\%u0438\\%u043d\\%u0430\\>", "given": "\\%u0417\\%u0430\\%u0434\\%u0430\\%u0442\\%u043e\\>\\|\\%u0417\\%u0430\\%u0434\\%u0430\\%u0442\\%u0435\\>\\|\\%u0417\\%u0430\\%u0434\\%u0430\\%u0442\\%u0438\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u043e\\>\\|\\%u041f\\%u0440\\%u0438\\%u043c\\%u0435\\%u0440\\>", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0458\\%u0430\\>\\|\\%u041a\\%u043e\\%u043d\\%u0446\\%u0435\\%u043f\\%u0442\\>\\|\\%u0421\\%u043a\\%u0438\\%u0446\\%u0430\\>", "then": "\\%u041e\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u041a\\%u0430\\%u0434\\%u0430\\>\\|\\%u041a\\%u0430\\%u0434\\>"},
|
||||
\"sr-Latn": {"and": "I\\>", "background": "Kontekst\\>\\|Pozadina\\>\\|Osnova\\>", "but": "Ali\\>", "examples": "Scenariji\\>\\|Primeri\\>", "feature": "Mogu\\%u0107nost\\>\\|Funkcionalnost\\>\\|Mogucnost\\>\\|Osobina\\>", "given": "Zadato\\>\\|Zadate\\>\\|Zatati\\>", "scenario": "Scenario\\>\\|Primer\\>", "scenario_outline": "Struktura scenarija\\>\\|Koncept\\>\\|Skica\\>", "then": "Onda\\>", "when": "Kada\\>\\|Kad\\>"},
|
||||
\"sv": {"and": "Och\\>", "background": "Bakgrund\\>", "but": "Men\\>", "examples": "Exempel\\>", "feature": "Egenskap\\>", "given": "Givet\\>", "scenario": "Scenario\\>", "scenario_outline": "Abstrakt Scenario\\>", "then": "S\\%u00e5\\>", "when": "N\\%u00e4r\\>"},
|
||||
\"sv": {"and": "Och\\>", "background": "Bakgrund\\>", "but": "Men\\>", "examples": "Exempel\\>", "feature": "Egenskap\\>", "given": "Givet\\>", "scenario": "Scenario\\>", "scenario_outline": "Abstrakt Scenario\\>\\|Scenariomall\\>", "then": "S\\%u00e5\\>", "when": "N\\%u00e4r\\>"},
|
||||
\"th": {"and": "\\%u0e41\\%u0e25\\%u0e30\\>", "background": "\\%u0e41\\%u0e19\\%u0e27\\%u0e04\\%u0e34\\%u0e14\\>", "but": "\\%u0e41\\%u0e15\\%u0e48\\>", "examples": "\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\>\\|\\%u0e0a\\%u0e38\\%u0e14\\%u0e02\\%u0e2d\\%u0e07\\%u0e15\\%u0e31\\%u0e27\\%u0e2d\\%u0e22\\%u0e48\\%u0e32\\%u0e07\\>", "feature": "\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e15\\%u0e49\\%u0e2d\\%u0e07\\%u0e01\\%u0e32\\%u0e23\\%u0e17\\%u0e32\\%u0e07\\%u0e18\\%u0e38\\%u0e23\\%u0e01\\%u0e34\\%u0e08\\>\\|\\%u0e04\\%u0e27\\%u0e32\\%u0e21\\%u0e2a\\%u0e32\\%u0e21\\%u0e32\\%u0e23\\%u0e16\\>\\|\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2b\\%u0e25\\%u0e31\\%u0e01\\>", "given": "\\%u0e01\\%u0e33\\%u0e2b\\%u0e19\\%u0e14\\%u0e43\\%u0e2b\\%u0e49\\>", "scenario": "\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\>", "scenario_outline": "\\%u0e42\\%u0e04\\%u0e23\\%u0e07\\%u0e2a\\%u0e23\\%u0e49\\%u0e32\\%u0e07\\%u0e02\\%u0e2d\\%u0e07\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\>\\|\\%u0e2a\\%u0e23\\%u0e38\\%u0e1b\\%u0e40\\%u0e2b\\%u0e15\\%u0e38\\%u0e01\\%u0e32\\%u0e23\\%u0e13\\%u0e4c\\>", "then": "\\%u0e14\\%u0e31\\%u0e07\\%u0e19\\%u0e31\\%u0e49\\%u0e19\\>", "when": "\\%u0e40\\%u0e21\\%u0e37\\%u0e48\\%u0e2d\\>"},
|
||||
\"tl": {"and": "\\%u0c2e\\%u0c30\\%u0c3f\\%u0c2f\\%u0c41\\>", "background": "\\%u0c28\\%u0c47\\%u0c2a\\%u0c25\\%u0c4d\\%u0c2f\\%u0c02\\>", "but": "\\%u0c15\\%u0c3e\\%u0c28\\%u0c3f\\>", "examples": "\\%u0c09\\%u0c26\\%u0c3e\\%u0c39\\%u0c30\\%u0c23\\%u0c32\\%u0c41\\>", "feature": "\\%u0c17\\%u0c41\\%u0c23\\%u0c2e\\%u0c41\\>", "given": "\\%u0c1a\\%u0c46\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c2c\\%u0c21\\%u0c3f\\%u0c28\\%u0c26\\%u0c3f\\>", "scenario": "\\%u0c38\\%u0c28\\%u0c4d\\%u0c28\\%u0c3f\\%u0c35\\%u0c47\\%u0c36\\%u0c02\\>", "scenario_outline": "\\%u0c15\\%u0c25\\%u0c28\\%u0c02\\>", "then": "\\%u0c05\\%u0c2a\\%u0c4d\\%u0c2a\\%u0c41\\%u0c21\\%u0c41\\>", "when": "\\%u0c08 \\%u0c2a\\%u0c30\\%u0c3f\\%u0c38\\%u0c4d\\%u0c25\\%u0c3f\\%u0c24\\%u0c3f\\%u0c32\\%u0c4b\\>"},
|
||||
\"tr": {"and": "Ve\\>", "background": "Ge\\%u00e7mi\\%u015f\\>", "but": "Fakat\\>\\|Ama\\>", "examples": "\\%u00d6rnekler\\>", "feature": "\\%u00d6zellik\\>", "given": "Diyelim ki\\>", "scenario": "Senaryo\\>", "scenario_outline": "Senaryo tasla\\%u011f\\%u0131\\>", "then": "O zaman\\>", "when": "E\\%u011fer ki\\>"},
|
||||
\"uk": {"and": "\\%u0406\\>", "background": "\\%u041f\\%u0435\\%u0440\\%u0435\\%u0434\\%u0443\\%u043c\\%u043e\\%u0432\\%u0430\\>", "but": "\\%u0410\\%u043b\\%u0435\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434\\%u0438\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0456\\%u043e\\%u043d\\%u0430\\%u043b\\>", "given": "\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e, \\%u0449\\%u043e\\>\\|\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e\\>\\|\\%u041d\\%u0435\\%u0445\\%u0430\\%u0439\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u044e\\>", "then": "\\%u0422\\%u043e\\>", "when": "\\%u042f\\%u043a\\%u0449\\%u043e\\>"},
|
||||
\"tt": {"and": "\\%u04ba\\%u04d9\\%u043c\\>\\|\\%u0412\\%u04d9\\>", "background": "\\%u041a\\%u0435\\%u0440\\%u0435\\%u0448\\>", "but": "\\%u041b\\%u04d9\\%u043a\\%u0438\\%u043d\\>\\|\\%u04d8\\%u043c\\%u043c\\%u0430\\>", "examples": "\\%u04ae\\%u0440\\%u043d\\%u04d9\\%u043a\\%u043b\\%u04d9\\%u0440\\>\\|\\%u041c\\%u0438\\%u0441\\%u0430\\%u043b\\%u043b\\%u0430\\%u0440\\>", "feature": "\\%u04ae\\%u0437\\%u0435\\%u043d\\%u0447\\%u04d9\\%u043b\\%u0435\\%u043a\\%u043b\\%u0435\\%u043b\\%u0435\\%u043a\\>\\|\\%u041c\\%u04e9\\%u043c\\%u043a\\%u0438\\%u043d\\%u043b\\%u0435\\%u043a\\>", "given": "\\%u04d8\\%u0439\\%u0442\\%u0438\\%u043a\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\%u043d\\%u044b\\%u04a3 \\%u0442\\%u04e9\\%u0437\\%u0435\\%u043b\\%u0435\\%u0448\\%u0435\\>", "then": "\\%u041d\\%u04d9\\%u0442\\%u0438\\%u0497\\%u04d9\\%u0434\\%u04d9\\>", "when": "\\%u04d8\\%u0433\\%u04d9\\%u0440\\>"},
|
||||
\"uk": {"and": "\\%u0410 \\%u0442\\%u0430\\%u043a\\%u043e\\%u0436\\>\\|\\%u0422\\%u0430\\>\\|\\%u0406\\>", "background": "\\%u041f\\%u0435\\%u0440\\%u0435\\%u0434\\%u0443\\%u043c\\%u043e\\%u0432\\%u0430\\>", "but": "\\%u0410\\%u043b\\%u0435\\>", "examples": "\\%u041f\\%u0440\\%u0438\\%u043a\\%u043b\\%u0430\\%u0434\\%u0438\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0456\\%u043e\\%u043d\\%u0430\\%u043b\\>", "given": "\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e, \\%u0449\\%u043e\\>\\|\\%u041f\\%u0440\\%u0438\\%u043f\\%u0443\\%u0441\\%u0442\\%u0438\\%u043c\\%u043e\\>\\|\\%u041d\\%u0435\\%u0445\\%u0430\\%u0439\\>\\|\\%u0414\\%u0430\\%u043d\\%u043e\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430 \\%u0441\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0456\\%u044e\\>", "then": "\\%u0422\\%u043e\\%u0434\\%u0456\\>\\|\\%u0422\\%u043e\\>", "when": "\\%u042f\\%u043a\\%u0449\\%u043e\\>\\|\\%u041a\\%u043e\\%u043b\\%u0438\\>"},
|
||||
\"uz": {"and": "\\%u0412\\%u0430\\>", "background": "\\%u0422\\%u0430\\%u0440\\%u0438\\%u0445\\>", "but": "\\%u041b\\%u0435\\%u043a\\%u0438\\%u043d\\>\\|\\%u0411\\%u0438\\%u0440\\%u043e\\%u043a\\>\\|\\%u0410\\%u043c\\%u043c\\%u043e\\>", "examples": "\\%u041c\\%u0438\\%u0441\\%u043e\\%u043b\\%u043b\\%u0430\\%u0440\\>", "feature": "\\%u0424\\%u0443\\%u043d\\%u043a\\%u0446\\%u0438\\%u043e\\%u043d\\%u0430\\%u043b\\>", "given": "\\%u0410\\%u0433\\%u0430\\%u0440\\>", "scenario": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439\\>", "scenario_outline": "\\%u0421\\%u0446\\%u0435\\%u043d\\%u0430\\%u0440\\%u0438\\%u0439 \\%u0441\\%u0442\\%u0440\\%u0443\\%u043a\\%u0442\\%u0443\\%u0440\\%u0430\\%u0441\\%u0438\\>", "then": "\\%u0423\\%u043d\\%u0434\\%u0430\\>", "when": "\\%u0410\\%u0433\\%u0430\\%u0440\\>"},
|
||||
\"vi": {"and": "V\\%u00e0\\>", "background": "B\\%u1ed1i c\\%u1ea3nh\\>", "but": "Nh\\%u01b0ng\\>", "examples": "D\\%u1eef li\\%u1ec7u\\>", "feature": "T\\%u00ednh n\\%u0103ng\\>", "given": "Bi\\%u1ebft\\>\\|Cho\\>", "scenario": "T\\%u00ecnh hu\\%u1ed1ng\\>\\|K\\%u1ecbch b\\%u1ea3n\\>", "scenario_outline": "Khung t\\%u00ecnh hu\\%u1ed1ng\\>\\|Khung k\\%u1ecbch b\\%u1ea3n\\>", "then": "Th\\%u00ec\\>", "when": "Khi\\>"},
|
||||
\"zh-CN": {"and": "\\%u800c\\%u4e14", "background": "\\%u80cc\\%u666f\\>", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50\\>", "feature": "\\%u529f\\%u80fd\\>", "given": "\\%u5047\\%u5982", "scenario": "\\%u573a\\%u666f\\>", "scenario_outline": "\\%u573a\\%u666f\\%u5927\\%u7eb2\\>", "then": "\\%u90a3\\%u4e48", "when": "\\%u5f53"},
|
||||
\"zh-TW": {"and": "\\%u800c\\%u4e14\\|\\%u4e26\\%u4e14", "background": "\\%u80cc\\%u666f\\>", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50\\>", "feature": "\\%u529f\\%u80fd\\>", "given": "\\%u5047\\%u8a2d", "scenario": "\\%u5834\\%u666f\\>\\|\\%u5287\\%u672c\\>", "scenario_outline": "\\%u5834\\%u666f\\%u5927\\%u7db1\\>\\|\\%u5287\\%u672c\\%u5927\\%u7db1\\>", "then": "\\%u90a3\\%u9ebc", "when": "\\%u7576"}}
|
||||
\"zh-CN": {"and": "\\%u800c\\%u4e14\\|\\%u5e76\\%u4e14\\|\\%u540c\\%u65f6", "background": "\\%u80cc\\%u666f\\>", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50\\>", "feature": "\\%u529f\\%u80fd\\>", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8bbe\\|\\%u5047\\%u5b9a", "scenario": "\\%u573a\\%u666f\\>\\|\\%u5267\\%u672c\\>", "scenario_outline": "\\%u573a\\%u666f\\%u5927\\%u7eb2\\>\\|\\%u5267\\%u672c\\%u5927\\%u7eb2\\>", "then": "\\%u90a3\\%u4e48", "when": "\\%u5f53"},
|
||||
\"zh-TW": {"and": "\\%u800c\\%u4e14\\|\\%u4e26\\%u4e14\\|\\%u540c\\%u6642", "background": "\\%u80cc\\%u666f\\>", "but": "\\%u4f46\\%u662f", "examples": "\\%u4f8b\\%u5b50\\>", "feature": "\\%u529f\\%u80fd\\>", "given": "\\%u5047\\%u5982\\|\\%u5047\\%u8a2d\\|\\%u5047\\%u5b9a", "scenario": "\\%u5834\\%u666f\\>\\|\\%u5287\\%u672c\\>", "scenario_outline": "\\%u5834\\%u666f\\%u5927\\%u7db1\\>\\|\\%u5287\\%u672c\\%u5927\\%u7db1\\>", "then": "\\%u90a3\\%u9ebc", "when": "\\%u7576"}}
|
||||
|
||||
function! s:pattern(key)
|
||||
let language = matchstr(getline(1),'#\s*language:\s*\zs\S\+')
|
||||
@@ -73,13 +83,15 @@ function! s:pattern(key)
|
||||
endfunction
|
||||
|
||||
function! s:Add(name)
|
||||
let next = " skipempty skipwhite nextgroup=".join(map(["Region","AndRegion","ButRegion","Comment","Table"],'"cucumber".a:name.v:val'),",")
|
||||
let next = " skipempty skipwhite nextgroup=".join(map(["Region","AndRegion","ButRegion","Comment","String","Table"],'"cucumber".a:name.v:val'),",")
|
||||
exe "syn region cucumber".a:name.'Region matchgroup=cucumber'.a:name.' start="\%(^\s*\)\@<=\%('.s:pattern(tolower(a:name)).'\)" end="$"'.next
|
||||
exe 'syn region cucumber'.a:name.'AndRegion matchgroup=cucumber'.a:name.'And start="\%(^\s*\)\@<='.s:pattern('and').'" end="$" contained'.next
|
||||
exe 'syn region cucumber'.a:name.'ButRegion matchgroup=cucumber'.a:name.'But start="\%(^\s*\)\@<='.s:pattern('but').'" end="$" contained'.next
|
||||
exe 'syn match cucumber'.a:name.'Comment "\%(^\s*\)\@<=#.*" contained'.next
|
||||
exe 'syn region cucumber'.a:name.'String start=+\%(^\s*\)\@<="""+ end=+"""+ contained'.next
|
||||
exe 'syn match cucumber'.a:name.'Table "\%(^\s*\)\@<=|.*" contained contains=cucumberDelimiter'.next
|
||||
exe 'hi def link cucumber'.a:name.'Comment cucumberComment'
|
||||
exe 'hi def link cucumber'.a:name.'String cucumberString'
|
||||
exe 'hi def link cucumber'.a:name.'But cucumber'.a:name.'And'
|
||||
exe 'hi def link cucumber'.a:name.'And cucumber'.a:name
|
||||
exe 'syn cluster cucumberStepRegions add=cucumber'.a:name.'Region,cucumber'.a:name.'AndRegion,cucumber'.a:name.'ButRegion'
|
||||
@@ -99,9 +111,8 @@ exe 'syn match cucumberExamples "\%(^\s*\)\@<='.s:pattern('examples').':" nextgr
|
||||
|
||||
syn match cucumberPlaceholder "<[^<>]*>" contained containedin=@cucumberStepRegions
|
||||
syn match cucumberExampleTable "\%(^\s*\)\@<=|.*" contains=cucumberDelimiter
|
||||
syn match cucumberDelimiter "|" contained
|
||||
syn match cucumberTags "\%(^\s*\)\@<=\%(@[^@[:space:]]\+\s\+\)*@[^@[:space:]]\+\s*$"
|
||||
syn region cucumberString start=+\%(^\s*\)\@<="""+ end=+"""+
|
||||
syn match cucumberDelimiter "\\\@<!\%(\\\\\)*\zs|" contained
|
||||
syn match cucumberTags "\%(^\s*\)\@<=\%(@[^@[:space:]]\+\s\+\)*@[^@[:space:]]\+\s*$" contains=@NoSpell
|
||||
|
||||
call s:Add('Then')
|
||||
call s:Add('When')
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
" Vim syntax file for the D programming language (version 1.053 and 2.047).
|
||||
" Vim syntax file for the D programming language (version 1.076 and 2.063).
|
||||
"
|
||||
" Language: D
|
||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||
" Last Change: 2012 Jan 11
|
||||
" Version: 0.24
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 0.25
|
||||
"
|
||||
" Contributors:
|
||||
" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
|
||||
" - Jason Mills: original Maintainer
|
||||
" - Kirk McDonald
|
||||
" - Tim Keating
|
||||
" - Frank Benoit
|
||||
" - Shougo Matsushita <Shougo.Matsu@gmail.com>
|
||||
" - Shougo Matsushita
|
||||
" - Ellery Newcomer
|
||||
" - Steven N. Oliver
|
||||
" - Sohgo Takeuchi
|
||||
" - Robert Clipsham
|
||||
"
|
||||
" Please submit bugs/comments/suggestions to the github repo:
|
||||
" https://github.com/he-the-great/d.vim
|
||||
" https://github.com/JesseKPhillips/d.vim
|
||||
"
|
||||
" Options:
|
||||
" d_comment_strings - Set to highlight strings and numbers in comments.
|
||||
@@ -40,7 +41,8 @@ let b:current_syntax = "d"
|
||||
|
||||
" Keyword definitions
|
||||
"
|
||||
syn keyword dExternal import module
|
||||
syn keyword dExternal contained import module
|
||||
syn keyword dAssert assert
|
||||
syn keyword dConditional if else switch
|
||||
syn keyword dBranch goto break continue
|
||||
syn keyword dRepeat while for do foreach foreach_reverse
|
||||
@@ -48,6 +50,7 @@ syn keyword dBoolean true false
|
||||
syn keyword dConstant null
|
||||
syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
|
||||
syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
|
||||
syn keyword dConstant __MODULE__ __FUNCTION__ __PRETTY_FUNCTION__
|
||||
syn keyword dTypedef alias typedef
|
||||
syn keyword dStructure template interface class struct union
|
||||
syn keyword dEnum enum
|
||||
@@ -58,7 +61,7 @@ if exists("d_hl_operator_overload")
|
||||
syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod
|
||||
syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr
|
||||
syn keyword dOpOverload opShr_r opUShr opUShr_r opCat
|
||||
syn keyword dOpOverload opCat_r opEquals opEquals opCmp
|
||||
syn keyword dOpOverload opCat_r opEquals opCmp
|
||||
syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign
|
||||
syn keyword dOpOverload opDivAssign opModAssign opAndAssign
|
||||
syn keyword dOpOverload opOrAssign opXorAssign opShlAssign
|
||||
@@ -73,7 +76,7 @@ if exists("d_hl_operator_overload")
|
||||
endif
|
||||
|
||||
syn keyword dType byte ubyte short ushort int uint long ulong cent ucent
|
||||
syn keyword dType void bool bit
|
||||
syn keyword dType void bool Object
|
||||
syn keyword dType float double real
|
||||
syn keyword dType ushort int uint long ulong float
|
||||
syn keyword dType char wchar dchar string wstring dstring
|
||||
@@ -94,22 +97,31 @@ syn keyword dDebug deprecated unittest invariant
|
||||
syn keyword dExceptions throw try catch finally
|
||||
syn keyword dScopeDecl public protected private export package
|
||||
syn keyword dStatement debug return with
|
||||
syn keyword dStatement function delegate __ctfe mixin macro
|
||||
syn keyword dStorageClass in out inout ref lazy body
|
||||
syn keyword dStorageClass pure nothrow
|
||||
syn keyword dStatement function delegate __ctfe mixin macro __simd
|
||||
syn keyword dStatement in out body
|
||||
syn keyword dStorageClass contained in out scope
|
||||
syn keyword dStorageClass inout ref lazy pure nothrow
|
||||
syn keyword dStorageClass auto static override final abstract volatile
|
||||
syn keyword dStorageClass __gshared __thread
|
||||
syn keyword dStorageClass __gshared __vector
|
||||
syn keyword dStorageClass synchronized shared immutable const lazy
|
||||
syn keyword dPragma pragma
|
||||
syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
|
||||
syn keyword dIdentifier _arguments _argptr __vptr __monitor
|
||||
syn keyword dIdentifier _ctor _dtor __argTypes __overloadset
|
||||
syn keyword dScopeIdentifier contained exit success failure
|
||||
syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic isAssociativeArray
|
||||
syn keyword dTraitsIdentifier contained isFinalClass isFloating isIntegral isScalar
|
||||
syn keyword dTraitsIdentifier contained isStaticArray isUnsigned isVirtualFunction
|
||||
syn keyword dTraitsIdentifier contained isAbstractFunction isFinalFunction isStaticFunction
|
||||
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember identifier getMember
|
||||
syn keyword dTraitsIdentifier contained getOverloads getVirtualFunctions parent compiles
|
||||
syn keyword dTraitsIdentifier contained classInstanceSize allMembers derivedMembers isSame
|
||||
syn keyword dTraitsIdentifier contained isAbstractClass isArithmetic
|
||||
syn keyword dTraitsIdentifier contained isAssociativeArray isFinalClass
|
||||
syn keyword dTraitsIdentifier contained isPOD isNested isFloating
|
||||
syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray
|
||||
syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction
|
||||
syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction
|
||||
syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction
|
||||
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember
|
||||
syn keyword dTraitsIdentifier contained identifier getAttributes getMember
|
||||
syn keyword dTraitsIdentifier contained getOverloads getProtection
|
||||
syn keyword dTraitsIdentifier contained getVirtualFunctions
|
||||
syn keyword dTraitsIdentifier contained getVirtualMethods parent
|
||||
syn keyword dTraitsIdentifier contained classInstanceSize allMembers
|
||||
syn keyword dTraitsIdentifier contained derivedMembers isSame compiles
|
||||
syn keyword dPragmaIdentifier contained lib msg startaddress GNU_asm
|
||||
syn keyword dExternIdentifier contained Windows Pascal Java System D
|
||||
syn keyword dAttribute contained safe trusted system
|
||||
syn keyword dAttribute contained property disable
|
||||
@@ -124,6 +136,8 @@ syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
|
||||
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
|
||||
syn keyword dVersionIdentifier contained unittest none all
|
||||
|
||||
syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment
|
||||
|
||||
" Highlight the sharpbang
|
||||
syn match dSharpBang "\%^#!.*" display
|
||||
|
||||
@@ -131,45 +145,42 @@ syn match dSharpBang "\%^#!.*" display
|
||||
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
|
||||
|
||||
" Version Identifiers
|
||||
syn match dVersion "[^.]\<version\>"hs=s+1 nextgroup=dVersionInside
|
||||
syn match dVersion "^\<version\>" nextgroup=dVersionInside
|
||||
syn match dVersionInside "\s*([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
|
||||
|
||||
" Scope StorageClass
|
||||
syn match dStorageClass "\<scope\>"
|
||||
|
||||
" Traits Expression
|
||||
syn match dStatement "\<__traits\>"
|
||||
|
||||
" Extern Modifier
|
||||
syn match dExternal "\<extern\>"
|
||||
syn match dVersion "\<version\>"
|
||||
syn match dVersion "\<version\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+7 contains=dVersionIdentifier
|
||||
|
||||
" Scope Identifiers
|
||||
syn match dScope "\<scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
|
||||
syn match dStatement "\<scope\>"
|
||||
syn match dStatement "\<scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
|
||||
|
||||
" Traits Identifiers
|
||||
syn match dTraits "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier
|
||||
" Traits Statement
|
||||
syn match dStatement "\<__traits\>"
|
||||
syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dTraitsIdentifier
|
||||
|
||||
" Pragma Statement
|
||||
syn match dPragma "\<pragma\>"
|
||||
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dPragmaIdentifier
|
||||
|
||||
" Necessary to highlight C++ in extern modifiers.
|
||||
syn match dExternIdentifier "C\(++\)\?" contained
|
||||
|
||||
" Extern Identifiers
|
||||
syn match dExternal "\<extern\>"
|
||||
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
|
||||
|
||||
" String is a statement and a module name.
|
||||
syn match dType "[^.]\<string\>"ms=s+1
|
||||
syn match dType "^\<string\>"
|
||||
" Make import a region to prevent highlighting keywords
|
||||
syn region dImport start="import" end=";" contains=dExternal,@dComment
|
||||
|
||||
" Assert is a statement and a module name.
|
||||
syn match dAssert "[^.]\<assert\>"ms=s+1
|
||||
syn match dAssert "^\<assert\>"
|
||||
" Make module a region to prevent highlighting keywords
|
||||
syn region dImport start="module" end=";" contains=dExternal,@dComment
|
||||
|
||||
" dTokens is used by the token string highlighting
|
||||
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
|
||||
syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
|
||||
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
|
||||
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
|
||||
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation,dEnum
|
||||
|
||||
" Create a match for parameter lists to identify storage class
|
||||
syn region paramlist start="(" end=")" contains=@dTokens
|
||||
|
||||
" Labels
|
||||
"
|
||||
@@ -358,146 +369,192 @@ hi def link dLineComment Comment
|
||||
hi def link dBlockComment Comment
|
||||
hi def link dNestedComment Comment
|
||||
hi def link dExternal Include
|
||||
hi def link dPragma PreProc
|
||||
hi def link dAnnotation PreProc
|
||||
hi def link dSharpBang PreProc
|
||||
hi def link dAttribute StorageClass
|
||||
hi def link dIdentifier Identifier
|
||||
hi def link dVersion dStatement
|
||||
hi def link dVersionIdentifier Identifier
|
||||
hi def link dScope dStorageClass
|
||||
hi def link dScopeIdentifier Identifier
|
||||
hi def link dTraits dStatement
|
||||
hi def link dTraitsIdentifier Identifier
|
||||
hi def link dPragma PreProc
|
||||
hi def link dPragmaIdentifier Identifier
|
||||
hi def link dExtern dExternal
|
||||
hi def link dExternIdentifier Identifier
|
||||
|
||||
" Marks contents of the asm statment body as special
|
||||
|
||||
syn match dAsmStatement "\<asm\>"
|
||||
syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
|
||||
syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode,@dComment,DUserLabel
|
||||
|
||||
hi def link dAsmBody dUnicode
|
||||
hi def link dAsmStatement dStatement
|
||||
hi def link dAsmOpCode Identifier
|
||||
|
||||
syn keyword dAsmOpCode contained aaa aad aam aas adc
|
||||
syn keyword dAsmOpCode contained add addpd addps addsd addss
|
||||
syn keyword dAsmOpCode contained and andnpd andnps andpd andps
|
||||
syn keyword dAsmOpCode contained arpl bound bsf bsr bswap
|
||||
syn keyword dAsmOpCode contained bt btc btr bts call
|
||||
syn keyword dAsmOpCode contained cbw cdq clc cld clflush
|
||||
syn keyword dAsmOpCode contained cli clts cmc cmova cmovae
|
||||
syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove cmovg
|
||||
syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna cmovnae
|
||||
syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne cmovng
|
||||
syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno cmovnp
|
||||
syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp cmovpe
|
||||
syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp cmppd
|
||||
syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd cmpss
|
||||
syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd comiss
|
||||
syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
|
||||
syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd
|
||||
syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss
|
||||
syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq
|
||||
syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd cwde
|
||||
syn keyword dAsmOpCode contained da daa das db dd
|
||||
syn keyword dAsmOpCode contained de dec df di div
|
||||
syn keyword dAsmOpCode contained divpd divps divsd divss dl
|
||||
syn keyword dAsmOpCode contained dq ds dt dw emms
|
||||
syn keyword dAsmOpCode contained enter f2xm1 fabs fadd faddp
|
||||
syn keyword dAsmOpCode contained fbld fbstp fchs fclex fcmovb
|
||||
syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe fcmovne
|
||||
syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi fcomip
|
||||
syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp fdisi
|
||||
syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp feni
|
||||
syn keyword dAsmOpCode contained ffree fiadd ficom ficomp fidiv
|
||||
syn keyword dAsmOpCode contained fidivr fild fimul fincstp finit
|
||||
syn keyword dAsmOpCode contained fist fistp fisub fisubr fld
|
||||
syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e fldl2t
|
||||
syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz fmul
|
||||
syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni fninit
|
||||
syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv fnstsw
|
||||
syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan frndint
|
||||
syn keyword dAsmOpCode contained frstor fsave fscale fsetpm fsin
|
||||
syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw fstenv
|
||||
syn keyword dAsmOpCode contained fstp fstsw fsub fsubp fsubr
|
||||
syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi fucomip
|
||||
syn keyword dAsmOpCode contained fucomp fucompp fwait fxam fxch
|
||||
syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x fyl2xp1
|
||||
syn keyword dAsmOpCode contained hlt idiv imul in inc
|
||||
syn keyword dAsmOpCode contained ins insb insd insw int
|
||||
syn keyword dAsmOpCode contained into invd invlpg iret iretd
|
||||
syn keyword dAsmOpCode contained ja jae jb jbe jc
|
||||
syn keyword dAsmOpCode contained jcxz je jecxz jg jge
|
||||
syn keyword dAsmOpCode contained jl jle jmp jna jnae
|
||||
syn keyword dAsmOpCode contained jnb jnbe jnc jne jng
|
||||
syn keyword dAsmOpCode contained jnge jnl jnle jno jnp
|
||||
syn keyword dAsmOpCode contained jns jnz jo jp jpe
|
||||
syn keyword dAsmOpCode contained jpo js jz lahf lar
|
||||
syn keyword dAsmOpCode contained ldmxcsr lds lea leave les
|
||||
syn keyword dAsmOpCode contained lfence lfs lgdt lgs lidt
|
||||
syn keyword dAsmOpCode contained lldt lmsw lock lods lodsb
|
||||
syn keyword dAsmOpCode contained lodsd lodsw loop loope loopne
|
||||
syn keyword dAsmOpCode contained loopnz loopz lsl lss ltr
|
||||
syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps maxsd
|
||||
syn keyword dAsmOpCode contained maxss mfence minpd minps minsd
|
||||
syn keyword dAsmOpCode contained minss mov movapd movaps movd
|
||||
syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps movhpd
|
||||
syn keyword dAsmOpCode contained movhps movlhps movlpd movlps movmskpd
|
||||
syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd movntps
|
||||
syn keyword dAsmOpCode contained movntq movq movq2dq movs movsb
|
||||
syn keyword dAsmOpCode contained movsd movss movsw movsx movupd
|
||||
syn keyword dAsmOpCode contained movups movzx mul mulpd mulps
|
||||
syn keyword dAsmOpCode contained mulsd mulss neg nop not
|
||||
syn keyword dAsmOpCode contained or orpd orps out outs
|
||||
syn keyword dAsmOpCode contained outsb outsd outsw packssdw packsswb
|
||||
syn keyword dAsmOpCode contained packuswb paddb paddd paddq paddsb
|
||||
syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw pand
|
||||
syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb pcmpeqd
|
||||
syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw
|
||||
syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub pminsw
|
||||
syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw pmullw
|
||||
syn keyword dAsmOpCode contained pmuludq pop popa popad popf
|
||||
syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 prefetcht1
|
||||
syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw pshuflw
|
||||
syn keyword dAsmOpCode contained pshufw pslld pslldq psllq psllw
|
||||
syn keyword dAsmOpCode contained psrad psraw psrld psrldq psrlq
|
||||
syn keyword dAsmOpCode contained psrlw psubb psubd psubq psubsb
|
||||
syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw punpckhbw
|
||||
syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq
|
||||
syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha pushad
|
||||
syn keyword dAsmOpCode contained pushf pushfd pxor rcl rcpps
|
||||
syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc rdtsc
|
||||
syn keyword dAsmOpCode contained rep repe repne repnz repz
|
||||
syn keyword dAsmOpCode contained ret retf rol ror rsm
|
||||
syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal sar
|
||||
syn keyword dAsmOpCode contained sbb scas scasb scasd scasw
|
||||
syn keyword dAsmOpCode contained seta setae setb setbe setc
|
||||
syn keyword dAsmOpCode contained sete setg setge setl setle
|
||||
syn keyword dAsmOpCode contained setna setnae setnb setnbe setnc
|
||||
syn keyword dAsmOpCode contained setne setng setnge setnl setnle
|
||||
syn keyword dAsmOpCode contained setno setnp setns setnz seto
|
||||
syn keyword dAsmOpCode contained setp setpe setpo sets setz
|
||||
syn keyword dAsmOpCode contained sfence sgdt shl shld shr
|
||||
syn keyword dAsmOpCode contained shrd shufpd shufps sidt sldt
|
||||
syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd sqrtss
|
||||
syn keyword dAsmOpCode contained stc std sti stmxcsr stos
|
||||
syn keyword dAsmOpCode contained stosb stosd stosw str sub
|
||||
syn keyword dAsmOpCode contained subpd subps subsd subss sysenter
|
||||
syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss ud2
|
||||
syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps verr
|
||||
syn keyword dAsmOpCode contained verw wait wbinvd wrmsr xadd
|
||||
syn keyword dAsmOpCode contained xchg xlat xlatb xor xorpd
|
||||
syn keyword dAsmOpCode contained xorps
|
||||
syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddpd haddps
|
||||
syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor movddup
|
||||
syn keyword dAsmOpCode contained movshdup movsldup mwait
|
||||
syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd pfcmpeq
|
||||
syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmin pfmul
|
||||
syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
|
||||
syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
|
||||
syn keyword dAsmOpCode contained pmulhrw pswapd
|
||||
syn keyword dAsmOpCode contained aaa aad aam aas
|
||||
syn keyword dAsmOpCode contained add addpd addps addsd
|
||||
syn keyword dAsmOpCode contained and andnpd andnps andpd
|
||||
syn keyword dAsmOpCode contained arpl bound bsf bsr
|
||||
syn keyword dAsmOpCode contained bt btc btr bts
|
||||
syn keyword dAsmOpCode contained call bswap andps addss
|
||||
syn keyword dAsmOpCode contained cbw cdq clc cld
|
||||
syn keyword dAsmOpCode contained cli clts cmc cmova
|
||||
syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove
|
||||
syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna
|
||||
syn keyword dAsmOpCode contained cmovnae cmovg cmovae clflush
|
||||
syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne
|
||||
syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno
|
||||
syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp
|
||||
syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp
|
||||
syn keyword dAsmOpCode contained cmppd cmovpe cmovnp cmovng
|
||||
syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd
|
||||
syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd
|
||||
syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq
|
||||
syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq
|
||||
syn keyword dAsmOpCode contained cvtps2pd cvtpd2pi comiss cmpss
|
||||
syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd
|
||||
syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi
|
||||
syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd
|
||||
syn keyword dAsmOpCode contained da daa das db
|
||||
syn keyword dAsmOpCode contained dd cwde cvttps2dq cvtsi2ss
|
||||
syn keyword dAsmOpCode contained de dec df di
|
||||
syn keyword dAsmOpCode contained divpd divps divsd divss
|
||||
syn keyword dAsmOpCode contained dq ds dt dw
|
||||
syn keyword dAsmOpCode contained enter f2xm1 fabs fadd
|
||||
syn keyword dAsmOpCode contained faddp emms dl div
|
||||
syn keyword dAsmOpCode contained fbld fbstp fchs fclex
|
||||
syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe
|
||||
syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi
|
||||
syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp
|
||||
syn keyword dAsmOpCode contained fdisi fcomip fcmovne fcmovb
|
||||
syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp
|
||||
syn keyword dAsmOpCode contained ffree fiadd ficom ficomp
|
||||
syn keyword dAsmOpCode contained fidivr fild fimul fincstp
|
||||
syn keyword dAsmOpCode contained fist fistp fisub fisubr
|
||||
syn keyword dAsmOpCode contained fld finit fidiv feni
|
||||
syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e
|
||||
syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz
|
||||
syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni
|
||||
syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv
|
||||
syn keyword dAsmOpCode contained fnstsw fninit fmul fldl2t
|
||||
syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan
|
||||
syn keyword dAsmOpCode contained frstor fsave fscale fsetpm
|
||||
syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw
|
||||
syn keyword dAsmOpCode contained fstp fstsw fsub fsubp
|
||||
syn keyword dAsmOpCode contained fsubr fstenv fsin frndint
|
||||
syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi
|
||||
syn keyword dAsmOpCode contained fucomp fucompp fwait fxam
|
||||
syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x
|
||||
syn keyword dAsmOpCode contained hlt idiv imul in
|
||||
syn keyword dAsmOpCode contained inc fyl2xp1 fxch fucomip
|
||||
syn keyword dAsmOpCode contained ins insb insd insw
|
||||
syn keyword dAsmOpCode contained into invd invlpg iret
|
||||
syn keyword dAsmOpCode contained ja jae jb jbe
|
||||
syn keyword dAsmOpCode contained jcxz je jecxz jg
|
||||
syn keyword dAsmOpCode contained jge jc iretd int
|
||||
syn keyword dAsmOpCode contained jl jle jmp jna
|
||||
syn keyword dAsmOpCode contained jnb jnbe jnc jne
|
||||
syn keyword dAsmOpCode contained jnge jnl jnle jno
|
||||
syn keyword dAsmOpCode contained jns jnz jo jp
|
||||
syn keyword dAsmOpCode contained jpe jnp jng jnae
|
||||
syn keyword dAsmOpCode contained jpo js jz lahf
|
||||
syn keyword dAsmOpCode contained ldmxcsr lds lea leave
|
||||
syn keyword dAsmOpCode contained lfence lfs lgdt lgs
|
||||
syn keyword dAsmOpCode contained lldt lmsw lock lods
|
||||
syn keyword dAsmOpCode contained lodsb lidt les lar
|
||||
syn keyword dAsmOpCode contained lodsd lodsw loop loope
|
||||
syn keyword dAsmOpCode contained loopnz loopz lsl lss
|
||||
syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps
|
||||
syn keyword dAsmOpCode contained maxss mfence minpd minps
|
||||
syn keyword dAsmOpCode contained minsd maxsd ltr loopne
|
||||
syn keyword dAsmOpCode contained minss mov movapd movaps
|
||||
syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps
|
||||
syn keyword dAsmOpCode contained movhps movlhps movlpd movlps
|
||||
syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd
|
||||
syn keyword dAsmOpCode contained movntps movmskpd movhpd movd
|
||||
syn keyword dAsmOpCode contained movntq movq movq2dq movs
|
||||
syn keyword dAsmOpCode contained movsd movss movsw movsx
|
||||
syn keyword dAsmOpCode contained movups movzx mul mulpd
|
||||
syn keyword dAsmOpCode contained mulsd mulss neg nop
|
||||
syn keyword dAsmOpCode contained not mulps movupd movsb
|
||||
syn keyword dAsmOpCode contained or orpd orps out
|
||||
syn keyword dAsmOpCode contained outsb outsd outsw packssdw
|
||||
syn keyword dAsmOpCode contained packuswb paddb paddd paddq
|
||||
syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw
|
||||
syn keyword dAsmOpCode contained pand paddsb packsswb outs
|
||||
syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb
|
||||
syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw
|
||||
syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub
|
||||
syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw
|
||||
syn keyword dAsmOpCode contained pmullw pminsw pextrw pcmpeqd
|
||||
syn keyword dAsmOpCode contained pmuludq pop popa popad
|
||||
syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0
|
||||
syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw
|
||||
syn keyword dAsmOpCode contained pshufw pslld pslldq psllq
|
||||
syn keyword dAsmOpCode contained psllw pshuflw prefetcht1 popf
|
||||
syn keyword dAsmOpCode contained psrad psraw psrld psrldq
|
||||
syn keyword dAsmOpCode contained psrlw psubb psubd psubq
|
||||
syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw
|
||||
syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw
|
||||
syn keyword dAsmOpCode contained punpckldq punpckhbw psubsb psrlq
|
||||
syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha
|
||||
syn keyword dAsmOpCode contained pushf pushfd pxor rcl
|
||||
syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc
|
||||
syn keyword dAsmOpCode contained rep repe repne repnz
|
||||
syn keyword dAsmOpCode contained repz rdtsc rcpps pushad
|
||||
syn keyword dAsmOpCode contained ret retf rol ror
|
||||
syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal
|
||||
syn keyword dAsmOpCode contained sbb scas scasb scasd
|
||||
syn keyword dAsmOpCode contained seta setae setb setbe
|
||||
syn keyword dAsmOpCode contained setc scasw sar rsm
|
||||
syn keyword dAsmOpCode contained sete setg setge setl
|
||||
syn keyword dAsmOpCode contained setna setnae setnb setnbe
|
||||
syn keyword dAsmOpCode contained setne setng setnge setnl
|
||||
syn keyword dAsmOpCode contained setno setnp setns setnz
|
||||
syn keyword dAsmOpCode contained seto setnle setnc setle
|
||||
syn keyword dAsmOpCode contained setp setpe setpo sets
|
||||
syn keyword dAsmOpCode contained sfence sgdt shl shld
|
||||
syn keyword dAsmOpCode contained shrd shufpd shufps sidt
|
||||
syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd
|
||||
syn keyword dAsmOpCode contained sqrtss sldt shr setz
|
||||
syn keyword dAsmOpCode contained stc std sti stmxcsr
|
||||
syn keyword dAsmOpCode contained stosb stosd stosw str
|
||||
syn keyword dAsmOpCode contained subpd subps subsd subss
|
||||
syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss
|
||||
syn keyword dAsmOpCode contained ud2 sysenter sub stos
|
||||
syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps
|
||||
syn keyword dAsmOpCode contained verw wbinvd wrmsr xadd
|
||||
syn keyword dAsmOpCode contained xchg xlatb xor xorpd
|
||||
syn keyword dAsmOpCode contained xorps pfrcpit1 pfmin movddup
|
||||
syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddps
|
||||
syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor
|
||||
syn keyword dAsmOpCode contained haddpd xlat wait verr
|
||||
syn keyword dAsmOpCode contained movshdup movsldup mwait pfcmpeq
|
||||
syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd
|
||||
syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmul
|
||||
syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1
|
||||
syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr
|
||||
syn keyword dAsmOpCode contained pmulhrw pswapd syscall sysret
|
||||
syn keyword dAsmOpCode contained vpmuldq xgetbv cmpxchg8b cmpxchg16b
|
||||
syn keyword dAsmOpCode contained pabsb pabsd pabsw palignr
|
||||
syn keyword dAsmOpCode contained phaddd phaddsw phaddw phsubd
|
||||
syn keyword dAsmOpCode contained phsubsw phsubw pmaddubsw pmulhrsw
|
||||
syn keyword dAsmOpCode contained pshufb psignb psignd psignw
|
||||
syn keyword dAsmOpCode contained popfq pushfq blendpd blendps
|
||||
syn keyword dAsmOpCode contained blendvpd blendvps extractps insertps
|
||||
syn keyword dAsmOpCode contained movntdqa mpsadbw packusdw pblendvb
|
||||
syn keyword dAsmOpCode contained pblendw pcmpeqq pextrb pextrd
|
||||
syn keyword dAsmOpCode contained pextrq phminposuw pinsrb pinsrd
|
||||
syn keyword dAsmOpCode contained pinsrq pmaxsb pmaxsd pmaxud
|
||||
syn keyword dAsmOpCode contained pmaxuw pminsb pminsd pminud
|
||||
syn keyword dAsmOpCode contained pminuw pmulld ptest roundpd
|
||||
syn keyword dAsmOpCode contained roundps roundsd roundss pmuldq
|
||||
syn keyword dAsmOpCode contained pmovsxbd pmovsxdq pmovzxbq pmovzxdq
|
||||
syn keyword dAsmOpCode contained pmovsxbq pmovsxwd pmovzxbq pmovzxwd
|
||||
syn keyword dAsmOpCode contained pmovsxbw pmovsxwq pmovzxbw pmovzxwq
|
||||
syn keyword dAsmOpCode contained crc32 pcmpestri pcmpestrm pcmpgtq
|
||||
syn keyword dAsmOpCode contained pcmpistri pcmpistrm popcnt pi2fd
|
||||
syn keyword dAsmOpCode contained adc
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2013 Jan 03
|
||||
" Last Change: 2013 May 05
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -19,7 +19,7 @@ syn case ignore
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|oneiric|precise|quantal|raring)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|raring|saucy)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2012 Dec 31
|
||||
" Last Change: 2013 May 05
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -38,7 +38,7 @@ syn match debcontrolDmUpload contained "\cyes"
|
||||
syn match debcontrolHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsSvn contained "\vsvn%(\+ssh)?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsCvs contained "\v%(\-d *)?:pserver:[^@]+\@[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?:/[^[:space:]]*%( [^[:space:]]+)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
|
||||
syn match debcontrolVcsGit contained "\v%(git|http)://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?%(\s+-b\s+[^ ~^:?*[\\]+)?$"
|
||||
|
||||
" An email address
|
||||
syn match debcontrolEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2013 Jan 03
|
||||
" Last Change: 2013 May 05
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|oneiric\|precise\|quantal\|raring\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|raring\|saucy\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,126 +1,175 @@
|
||||
" Vim syntax file
|
||||
" Language: Erlang
|
||||
" Author: Oscar Hellström <oscar@oscarh.net> (http://oscar.hellstrom.st)
|
||||
" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
|
||||
" Language: Erlang (http://www.erlang.org)
|
||||
" Maintainer: Csaba Hoch <csaba.hoch@gmail.com>
|
||||
" Former Maintainer: Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
|
||||
" Last Update: 2013-Mar-07
|
||||
" License: Vim license
|
||||
" Version: 2011/09/11
|
||||
" URL: https://github.com/hcs42/vim-erlang
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
else
|
||||
let b:current_syntax = "erlang"
|
||||
" Customization:
|
||||
"
|
||||
" There are two optional sets of highlighting:
|
||||
"
|
||||
" 1. The BIFs (built-in functions) are highlighted by default. To disable
|
||||
" this, put the following line in your vimrc:
|
||||
"
|
||||
" let g:erlang_highlight_bifs = 0
|
||||
"
|
||||
" 2. To enable highlighting some special atoms, put this in your vimrc:
|
||||
"
|
||||
" let g:erlang_highlight_special_atoms = 1
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists("g:erlang_highlight_bif")
|
||||
let g:erlang_highlight_bif = 1
|
||||
endif
|
||||
|
||||
" Erlang is case sensitive
|
||||
" Case sensitive
|
||||
syn case match
|
||||
|
||||
" Match groups
|
||||
syn match erlangStringModifier /\\./ contained
|
||||
syn match erlangStringModifier /\~\%(-\?[0-9*]\+\)\?\%(\.[0-9*]\+\..\?\)\?\%(c\|f\|e\|g\|s\|w\|p\|W\|P\|B\|X\|#\|b\|+\|n\|i\)/ contained
|
||||
syn match erlangModifier /\$\\\?./
|
||||
|
||||
syn match erlangInteger /\<\%([0-9]\+#[0-9a-fA-F]\+\|[0-9]\+\)\>/
|
||||
syn match erlangFloat /\<[0-9]\+\.[0-9]\+\%(e-\?[0-9]\+\)\?\>/
|
||||
|
||||
syn keyword erlangTodo TODO FIXME XXX contained
|
||||
syn match erlangComment /%.*$/ contains=@Spell,erlangTodo,erlangAnnotation
|
||||
syn match erlangAnnotation /\%(%\s\)\@<=@\%(author\|clear\|copyright\|deprecated\|doc\|docfile\|end\|equiv\|headerfile\|hidden\|private\|reference\|see\|since\|spec\|throws\|title\|todo\|TODO\|type\|version\)/ contained
|
||||
syn match erlangAnnotation /`[^']\+'/ contained
|
||||
|
||||
syn keyword erlangKeyword band bor bnot bsl bsr bxor div rem xor
|
||||
syn keyword erlangKeyword try catch begin receive after cond fun let query
|
||||
|
||||
syn keyword erlangConditional case if of end
|
||||
syn keyword erlangConditional not and or andalso orelse
|
||||
syn keyword erlangConditional when
|
||||
|
||||
syn keyword erlangBoolean true false
|
||||
|
||||
syn keyword erlangGuard is_list is_alive is_atom is_binary is_bitstring is_boolean is_tuple is_number is_integer is_float is_function is_constant is_pid is_port is_reference is_record is_process_alive
|
||||
|
||||
syn match erlangOperator /\/\|*\|+\|-\|++\|--/
|
||||
syn match erlangOperator /->\|<-\|||\||\|!\|=/
|
||||
syn match erlangOperator /=:=\|==\|\/=\|=\/=\|<\|>\|=<\|>=/
|
||||
syn keyword erlangOperator div rem
|
||||
|
||||
syn region erlangString start=/"/ end=/"/ skip=/\\/ contains=@Spell,erlangStringModifier
|
||||
|
||||
syn match erlangVariable /\<[A-Z_]\w*\>/
|
||||
syn match erlangAtom /\%(\%(^-\)\|#\)\@<!\<[a-z][A-Za-z0-9_]*\>\%(\s*[(:]\)\@!/
|
||||
syn match erlangAtom /\\\@<!'[^']*\\\@<!'/
|
||||
|
||||
syn match erlangRecord /#\w\+/
|
||||
|
||||
syn match erlangTuple /{\|}/
|
||||
syn match erlangList /\[\|\]/
|
||||
|
||||
syn match erlangAttribute /^-\%(vsn\|author\|copyright\|compile\|deprecated\|module\|export\|import\|behaviour\|behavior\|export_type\|ignore_xref\|on_load\)\s*(\@=/
|
||||
syn match erlangInclude /^-include\%(_lib\)\?\s*(\@=/
|
||||
syn match erlangRecordDef /^-record\s*(\@=/
|
||||
syn match erlangDefine /^-\%(define\|undef\)\s*(\@=/
|
||||
syn match erlangPreCondit /^-\%(ifdef\|ifndef\|else\|endif\)\%(\s*(\@=\)\?/
|
||||
|
||||
syn match erlangType /^-\%(spec\|type\)[( ]\@=/
|
||||
|
||||
syn match erlangMacro /\%(-define(\)\@<=\w\+/
|
||||
syn match erlangMacro /?\??\w\+/
|
||||
|
||||
syn match erlangBitType /\%(\/\|-\)\@<=\%(bits\|bitstring\|binary\|integer\|float\|unit\)\>/
|
||||
syn match erlangBitSize /:\@<=[0-9]\+/
|
||||
|
||||
syn match erlangBinary /<<\|>>/
|
||||
|
||||
" BIFs
|
||||
syn match erlangBIF /\%([^:0-9A-Za-z_]\|\<erlang:\)\@<=\%(abs\|apply\|atom_to_binary\|atom_to_list\|binary_part\|binary_to_atom\|binary_to_existing_atom\|binary_to_list\|binary_to_term\|bit_size\|bitstring_to_list\|byte_size\|check_process_code\|date\|delete_module\|demonitor\|disconnect_node\|element\|erase\|exit\|float\|float_to_list\|garbage_collect\|get\|get_keys\|group_leader\|hd\|integer_to_list\|iolist_size\|iolist_to_binary\|is_alive\|is_atom\|is_binary\|is_bitstring\|is_boolean\|is_float\|is_function\|is_integer\|is_list\|is_number\|is_pid\|is_port\|is_process_alive\|is_record\|is_reference\|is_tuple\|length\|link\|list_to_atom\|list_to_binary\|list_to_bitstring\|list_to_existing_atom\|list_to_float\|list_to_integer\|list_to_pid\|list_to_tuple\|load_module\|make_ref\|max\|min\|module_loaded\|monitor\|monitor_node\|node\|nodes\|now\|open_port\|pid_to_list\|port_close\|port_command\|port_connect\|port_control\|pre_loaded\|processes\|process_flag\|process_info\|purge_module\|put\|register\|registered\|round\|self\|setelement\|size\|spawn\|spawn_link\|spawn_monitor\|spawn_opt\|split_binary\|statistics\|term_to_binary\|time\|tl\|trunc\|tuple_size\|tuple_to_list\|unlink\|unregister\|whereis\)\%((\|\/[0-9]\)\@=/
|
||||
syn match erlangBIF /\<\%(erlang:\)\@<=\%(append_element\|bump_reductions\|cancel_timer\|decode_packet\|display\|function_exported\|fun_info\|fun_to_list\|get_cookie\|get_stacktrace\|hash\|is_builtin\|loaded\|load_nif\|localtime\|localtime_to_universaltime\|make_tuple\|memory\|monitor_node\|phash\|port_call\|port_info\|ports\|port_to_list\|process_display\|read_timer\|ref_to_list\|resume_process\|send\|send_after\|send_nosuspend\|set_cookie\|start_timer\|suspend_process\|system_flag\|system_info\|system_monitor\|system_profile\|trace\|trace_delivered\|trace_info\|trace_pattern\|universaltime\|universaltime_to_localtime\|yield\)(\@=/
|
||||
syn match erlangGBIF /erlang\%(:\w\)\@=/
|
||||
|
||||
" Link Erlang stuff to Vim groups
|
||||
hi link erlangTodo Todo
|
||||
hi link erlangString String
|
||||
hi link erlangNoSpellString String
|
||||
hi link erlangModifier SpecialChar
|
||||
hi link erlangStringModifier SpecialChar
|
||||
hi link erlangComment Comment
|
||||
hi link erlangAnnotation Special
|
||||
hi link erlangVariable Identifier
|
||||
hi link erlangInclude Include
|
||||
hi link erlangRecordDef Keyword
|
||||
hi link erlangAttribute Keyword
|
||||
hi link erlangKeyword Keyword
|
||||
hi link erlangMacro Macro
|
||||
hi link erlangDefine Define
|
||||
hi link erlangPreCondit PreCondit
|
||||
hi link erlangPreProc PreProc
|
||||
hi link erlangDelimiter Delimiter
|
||||
hi link erlangBitDelimiter Normal
|
||||
hi link erlangOperator Operator
|
||||
hi link erlangConditional Conditional
|
||||
hi link erlangGuard Conditional
|
||||
hi link erlangBoolean Boolean
|
||||
hi link erlangAtom Constant
|
||||
hi link erlangRecord Structure
|
||||
hi link erlangInteger Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangFloat Number
|
||||
hi link erlangHex Number
|
||||
hi link erlangFun Keyword
|
||||
hi link erlangList Delimiter
|
||||
hi link erlangTuple Delimiter
|
||||
hi link erlangBinary Keyword
|
||||
hi link erlangBitVariable Identifier
|
||||
hi link erlangBitType Type
|
||||
hi link erlangType Type
|
||||
hi link erlangBitSize Number
|
||||
|
||||
" Optional highlighting
|
||||
if g:erlang_highlight_bif
|
||||
hi link erlangBIF Keyword
|
||||
hi link erlangGBIF Keyword
|
||||
if version >= 600
|
||||
setlocal iskeyword+=$,@-@
|
||||
endif
|
||||
|
||||
" Comments
|
||||
syn match erlangComment '%.*$' contains=erlangCommentAnnotation,erlangTodo
|
||||
syn match erlangCommentAnnotation ' \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)' contained
|
||||
syn match erlangCommentAnnotation /`[^']*'/ contained
|
||||
syn keyword erlangTodo TODO FIXME XXX contained
|
||||
|
||||
" Numbers (minimum base is 2, maximum is 36.)
|
||||
syn match erlangNumberInteger '\<\d\+\>'
|
||||
syn match erlangNumberInteger '\<\%([2-9]\|[12]\d\|3[0-6]\)\+#[[:alnum:]]\+\>'
|
||||
syn match erlangNumberFloat '\<\d\+\.\d\+\%([eE][+-]\=\d\+\)\=\>'
|
||||
|
||||
" Strings, atoms, characters
|
||||
syn region erlangString start=/"/ end=/"/ contains=erlangStringModifier
|
||||
syn region erlangQuotedAtom start=/'/ end=/'/ contains=erlangQuotedAtomModifier
|
||||
syn match erlangStringModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
|
||||
syn match erlangQuotedAtomModifier '\~\a\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)' contained
|
||||
syn match erlangModifier '\$\%([^\\]\|\\\%(\o\{1,3}\|x\x\x\|x{\x\+}\|\^.\|.\)\)'
|
||||
|
||||
" Operators
|
||||
syn match erlangOperator '==\|=:=\|/=\|=/=\|<\|=<\|>\|>=\|++\|--\|=\|!\|<-\|+\|-\|\*\|\/'
|
||||
syn keyword erlangOperator div rem or xor bor bxor bsl bsr and band not bnot andalso orelse
|
||||
|
||||
" Separators
|
||||
syn match erlangSeparator '(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|#'
|
||||
syn match erlangRightArrow '->'
|
||||
|
||||
" Functions call
|
||||
syn match erlangFCall '\<\%(\a[[:alnum:]@]*\s*\.\s*\)*\a[[:alnum:]@]*\s*:\s*\a[[:alnum:]@]*\>'
|
||||
|
||||
" Constants and Directives
|
||||
syn match erlangDirective '-\%(behaviour\|behavior\|compile\|define\|else\|endif\|export\|file\|ifdef\|ifndef\|import\|include_lib\|include\|module\|record\|undef\|author\|copyright\|doc\|vsn\|on_load\|export_type\)\>'
|
||||
|
||||
" Keywords
|
||||
syn keyword erlangKeyword after begin case catch cond end fun if let of query receive when try
|
||||
syn keyword erlangExtra true false
|
||||
|
||||
|
||||
if !exists("g:erlang_highlight_bifs") || g:erlang_highlight_bifs == 1
|
||||
|
||||
" build-in-functions (BIFs)
|
||||
syn keyword erlangBIF abs alive apply atom_to_binary atom_to_list binary_part binary_to_atom binary_to_existing_atom binary_to_float binary_to_integer bitstring_to_list binary_to_list binary_to_term bit_size byte_size check_old_code check_process_code concat_binary date delete_module demonitor disconnect_node element erase error exit float float_to_binary float_to_list garbage_collect get get_keys group_leader halt hd integer_to_binary integer_to_list iolist_to_binary iolist_size is_alive is_atom is_binary is_bitstring is_boolean is_float is_function is_integer is_list is_number is_pid is_port is_process_alive is_record is_reference is_tuple length link list_to_atom list_to_binary list_to_bitstring list_to_existing_atom list_to_float list_to_integer list_to_pid list_to_tuple load_module make_ref max min module_loaded monitor monitor_node node nodes now open_port pid_to_list port_close port_command port_connect pre_loaded process_flag process_flag process_info process purge_module put register registered round self setelement size spawn spawn_link spawn_monitor spawn_opt split_binary statistics term_to_binary throw time tl trunc tuple_size tuple_to_list unlink unregister whereis
|
||||
|
||||
endif
|
||||
|
||||
|
||||
if exists("g:erlang_highlight_special_atoms") && g:erlang_highlight_special_atoms == 1
|
||||
|
||||
" Processes
|
||||
syn keyword erlangProcess creation current_function dictionary
|
||||
syn keyword erlangProcess group_leader heap_size high initial_call
|
||||
syn keyword erlangProcess linked low memory_in_use message_queue
|
||||
syn keyword erlangProcess net_kernel node normal priority
|
||||
syn keyword erlangProcess reductions registered_name runnable
|
||||
syn keyword erlangProcess running stack_trace status timer
|
||||
syn keyword erlangProcess trap_exit waiting
|
||||
|
||||
" Ports
|
||||
syn keyword erlangPort command count_in count_out creation in
|
||||
syn keyword erlangPort in_format linked node out owner packeting
|
||||
|
||||
" Nodes
|
||||
syn keyword erlangNode atom_tables communicating creation
|
||||
syn keyword erlangNode current_gc current_reductions current_runtime
|
||||
syn keyword erlangNode current_wall_clock distribution_port
|
||||
syn keyword erlangNode entry_points error_handler friends
|
||||
syn keyword erlangNode garbage_collection magic_cookie magic_cookies
|
||||
syn keyword erlangNode module_table monitored_nodes name next_ref
|
||||
syn keyword erlangNode ports preloaded processes reductions
|
||||
syn keyword erlangNode ref_state registry runtime wall_clock
|
||||
|
||||
" Reserved
|
||||
syn keyword erlangReserved apply_lambda module_info module_lambdas
|
||||
syn keyword erlangReserved record record_index record_info
|
||||
|
||||
" Extras
|
||||
syn keyword erlangExtra badarg nocookie
|
||||
|
||||
" Signals
|
||||
syn keyword erlangSignal badsig kill killed exit normal
|
||||
endif
|
||||
|
||||
" Sync at the beginning of functions: if this is not used, multiline string
|
||||
" are not always recognized
|
||||
syn sync match erlangSync grouphere NONE "^[a-z]\s*("
|
||||
|
||||
" 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_erlang_inits")
|
||||
if version < 508
|
||||
let did_erlang_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" erlang_characters
|
||||
HiLink erlangComment Comment
|
||||
HiLink erlangCommentAnnotation Special
|
||||
HiLink erlangTodo Todo
|
||||
HiLink erlangSeparator Normal
|
||||
HiLink erlangOperator Operator
|
||||
HiLink erlangRightArrow Operator
|
||||
|
||||
HiLink erlangStartString String
|
||||
HiLink erlangString String
|
||||
HiLink erlangStringModifier Special
|
||||
|
||||
HiLink erlangStartQuotedAtom Type
|
||||
HiLink erlangQuotedAtom Type
|
||||
HiLink erlangQuotedAtomModifier Special
|
||||
|
||||
HiLink erlangNumberInteger Number
|
||||
HiLink erlangNumberFloat Float
|
||||
HiLink erlangNumberHex Number
|
||||
|
||||
HiLink erlangModifier Special
|
||||
|
||||
" erlang_functions
|
||||
HiLink erlangFCall Function
|
||||
HiLink erlangBIF Function
|
||||
|
||||
" erlang_keywords
|
||||
HiLink erlangDirective Type
|
||||
HiLink erlangKeyword Keyword
|
||||
HiLink erlangProcess Special
|
||||
HiLink erlangPort Special
|
||||
HiLink erlangNode Special
|
||||
HiLink erlangReserved Statement
|
||||
HiLink erlangExtra Statement
|
||||
HiLink erlangSignal Statement
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
let b:current_syntax = "erlang"
|
||||
|
||||
" vim: sw=2 et
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: fstab file
|
||||
" Maintaner: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: http://ld.yi.org/vim/fstab.vim
|
||||
" Last Change: 2009 Feb 04
|
||||
" Version: 0.93
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 1.0
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
@@ -11,10 +11,13 @@
|
||||
" Georgi Georgiev <chutz@gg3.net>
|
||||
" James Vega <jamessan@debian.org>
|
||||
" Elias Probst <mail@eliasprobst.eu>
|
||||
"
|
||||
|
||||
" Options:
|
||||
" let fstab_unknown_fs_errors = 1
|
||||
" highlight unknown filesystems as errors
|
||||
"
|
||||
" let fstab_unknown_device_errors = 0
|
||||
" do not highlight unknown devices as errors
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -22,15 +25,18 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" General
|
||||
syn cluster fsGeneralCluster contains=fsComment
|
||||
syn match fsComment /\s*#.*/
|
||||
syn match fsComment /\s*#.*/ contains=@Spell
|
||||
syn match fsOperator /[,=:#]/
|
||||
|
||||
" Device
|
||||
syn cluster fsDeviceCluster contains=fsOperator,fsDeviceKeyword,fsDeviceError
|
||||
syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts sysfs usbfs
|
||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
||||
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
||||
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
||||
syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
||||
@@ -47,7 +53,7 @@ syn keyword fsMountPointKeyword contained none swap
|
||||
" Type
|
||||
syn cluster fsTypeCluster contains=fsTypeKeyword,fsTypeUnknown
|
||||
syn match fsTypeUnknown /\s\+\zs\w\+/ contained
|
||||
syn keyword fsTypeKeyword contained adfs ados affs atfs audiofs auto autofs befs bfs cd9660 cfs cifs coda cramfs devfs devpts e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse hfs hpfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix msdos ncpfs nfs none ntfs null nwfs overlay ovlfs portal proc procfs ptyfs qnx4 reiserfs romfs shm smbfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xfs zisofs
|
||||
syn keyword fsTypeKeyword contained adfs ados affs anon_inodefs atfs audiofs auto autofs bdev befs bfs btrfs binfmt_misc cd9660 cfs cgroup cifs coda configfs cpuset cramfs devfs devpts devtmpfs e2compr efs ext2 ext2fs ext3 ext4 fdesc ffs filecore fuse fuseblk fusectl hfs hpfs hugetlbfs iso9660 jffs jffs2 jfs kernfs lfs linprocfs mfs minix mqueue msdos ncpfs nfs nfsd nilfs2 none ntfs null nwfs overlay ovlfs pipefs portal proc procfs pstore ptyfs qnx4 reiserfs ramfs romfs securityfs shm smbfs squashfs sockfs sshfs std subfs swap sysfs sysv tcfs tmpfs udf ufs umap umsdos union usbfs userfs vfat vs3fs vxfs wrapfs wvfs xenfs xfs zisofs
|
||||
|
||||
" Options
|
||||
" -------
|
||||
@@ -71,6 +77,11 @@ syn match fsOptionsKeywords contained /\<\%(prefix\|volume\|root\)=/ nextgroup=f
|
||||
syn match fsOptionsKeywords contained /\<bs=/ nextgroup=fsOptionsSize
|
||||
syn keyword fsOptionsKeywords contained protect usemp verbose
|
||||
|
||||
" Options: btrfs
|
||||
syn match fsOptionsKeywords contained /\<\%(subvol\|subvolid\|subvolrootid\|device\|compress\|compress-force\|fatal_errors\)=/ nextgroup=fsOptionsString
|
||||
syn match fsOptionsKeywords contained /\<\%(max_inline\|alloc_start\|thread_pool\|metadata_ratio\|check_int_print_mask\)=/ nextgroup=fsOptionsNumber
|
||||
syn keyword fsOptionsKeywords contained degraded nodatasum nodatacow nobarrier ssd ssd_spread noacl notreelog flushoncommit space_cache nospace_cache clear_cache user_subvol_rm_allowed autodefrag inode_cache enospc_debug recovery check_int check_int_data skip_balance discard
|
||||
|
||||
" Options: cd9660
|
||||
syn keyword fsOptionsKeywords contained extatt gens norrip nostrictjoilet
|
||||
|
||||
@@ -84,7 +95,7 @@ syn match fsOptionsKeywords contained /\<\%(res[gu]id\|sb\)=/ nextgroup=fsOption
|
||||
syn keyword fsOptionsExt2Check contained none normal strict
|
||||
syn keyword fsOptionsExt2Errors contained continue panic
|
||||
syn match fsOptionsExt2Errors contained /\<remount-ro\>/
|
||||
syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf noacl nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr
|
||||
syn keyword fsOptionsKeywords contained acl bsddf minixdf debug grpid bsdgroups minixdf nocheck nogrpid oldalloc orlov sysvgroups nouid32 nobh user_xattr nouser_xattr
|
||||
|
||||
" Options: ext3
|
||||
syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt3Journal
|
||||
@@ -92,7 +103,7 @@ syn match fsOptionsKeywords contained /\<data=/ nextgroup=fsOptionsExt3Data
|
||||
syn match fsOptionsKeywords contained /\<commit=/ nextgroup=fsOptionsNumber
|
||||
syn keyword fsOptionsExt3Journal contained update inum
|
||||
syn keyword fsOptionsExt3Data contained journal ordered writeback
|
||||
syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl noacl
|
||||
syn keyword fsOptionsKeywords contained noload user_xattr nouser_xattr acl
|
||||
|
||||
" Options: ext4
|
||||
syn match fsOptionsKeywords contained /\<journal=/ nextgroup=fsOptionsExt4Journal
|
||||
@@ -216,7 +227,7 @@ syn match fsOptions /\s\+.\{-}\s/me=e-1 nextgroup=fsFreqPass contains=@fsOptions
|
||||
syn match fsFreqPass /\s\+.\{-}$/ contains=@fsFreqPassCluster,@fsGeneralCluster contained
|
||||
|
||||
" Whole line comments
|
||||
syn match fsCommentLine /^#.*$/
|
||||
syn match fsCommentLine /^#.*$/ contains=@Spell
|
||||
|
||||
if version >= 508 || !exists("did_config_syntax_inits")
|
||||
if version < 508
|
||||
@@ -241,7 +252,10 @@ if version >= 508 || !exists("did_config_syntax_inits")
|
||||
HiLink fsTypeUnknown Error
|
||||
endif
|
||||
|
||||
HiLink fsDeviceError Error
|
||||
if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
|
||||
HiLink fsDeviceError Error
|
||||
endif
|
||||
|
||||
HiLink fsMountPointError Error
|
||||
HiLink fsMountPointKeyword Keyword
|
||||
HiLink fsFreqPassError Error
|
||||
@@ -277,4 +291,7 @@ endif
|
||||
|
||||
let b:current_syntax = "fstab"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8 ft=vim
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.git/COMMIT_EDITMSG
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: git-rebase-todo
|
||||
" Last Change: 2012 April 7
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
|
||||
69
runtime/syntax/gprof.vim
Normal file
69
runtime/syntax/gprof.vim
Normal file
@@ -0,0 +1,69 @@
|
||||
" Vim syntax file
|
||||
" Language: Syntax for Gprof Output
|
||||
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
|
||||
" Last Change: 2012 May 20
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
syn sync minlines=100
|
||||
|
||||
" Flat profile
|
||||
syn match gprofFlatProfileTitle
|
||||
\ "^Flat profile:$"
|
||||
syn region gprofFlatProfileHeader
|
||||
\ start="^Each sample counts as.*"
|
||||
\ end="^ time.*name\s*$"
|
||||
syn region gprofFlatProfileTrailer
|
||||
\ start="^\s*%\s\+the percentage of the total running time.*"
|
||||
\ end="^\s*the gprof listing if it were to be printed\."
|
||||
|
||||
" Call graph
|
||||
syn match gprofCallGraphTitle "Call graph (explanation follows)"
|
||||
syn region gprofCallGraphHeader
|
||||
\ start="^granularity: each sample hit covers.*"
|
||||
\ end="^\s*index % time\s\+self\s\+children\s\+called\s\+name$"
|
||||
syn match gprofCallGraphFunction "\s\+\(\d\+\.\d\+\s\+\)\{3}\([0-9+]\+\)\?\s\+[a-zA-Z_<].*\ze\["
|
||||
syn match gprofCallGraphSeparator "^-\+$"
|
||||
syn region gprofCallGraphTrailer
|
||||
\ start="This table describes the call tree of the program"
|
||||
\ end="^\s*the cycle.$"
|
||||
|
||||
" Index
|
||||
syn region gprofIndex
|
||||
\ start="^Index by function name$"
|
||||
\ end="\%$"
|
||||
|
||||
syn match gprofIndexFunctionTitle "^Index by function name$"
|
||||
|
||||
syn match gprofNumbers "^\s\+[0-9 ./+]\+"
|
||||
syn match gprofFunctionIndex "\[\d\+\]"
|
||||
syn match gprofSpecial "<\(spontaneous\|cycle \d\+\)>"
|
||||
|
||||
hi def link gprofFlatProfileTitle Title
|
||||
hi def link gprofFlatProfileHeader Comment
|
||||
hi def link gprofFlatProfileFunction Number
|
||||
hi def link gprofFlatProfileTrailer Comment
|
||||
|
||||
hi def link gprofCallGraphTitle Title
|
||||
hi def link gprofCallGraphHeader Comment
|
||||
hi def link gprofFlatProfileFunction Number
|
||||
hi def link gprofCallGraphFunction Special
|
||||
hi def link gprofCallGraphTrailer Comment
|
||||
hi def link gprofCallGraphSeparator Label
|
||||
|
||||
hi def link gprofFunctionIndex Label
|
||||
hi def link gprofSpecial SpecialKey
|
||||
hi def link gprofNumbers Number
|
||||
|
||||
hi def link gprofIndexFunctionTitle Title
|
||||
|
||||
let b:current_syntax = "gprof"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Liquid
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.liquid
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
@@ -71,8 +71,9 @@ endif
|
||||
syn region liquidStatement matchgroup=liquidDelimiter start="{%" end="%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidExpression matchgroup=liquidDelimiter start="{{" end="}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidComment matchgroup=liquidDelimiter start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend
|
||||
syn region liquidRaw matchgroup=liquidDelimiter start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend
|
||||
|
||||
syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,@liquidStatement,liquidYamlHead
|
||||
syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,liquidRaw,@liquidStatement,liquidYamlHead
|
||||
syn cluster liquidStatement contains=liquidConditional,liquidRepeat,liquidKeyword,@liquidExpression
|
||||
syn cluster liquidExpression contains=liquidOperator,liquidString,liquidNumber,liquidFloat,liquidBoolean,liquidNull,liquidEmpty,liquidPipe,liquidForloop
|
||||
|
||||
|
||||
@@ -2,50 +2,66 @@
|
||||
" Language: Markdown
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.markdown
|
||||
" Last Change: 2010 May 21
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists('main_syntax')
|
||||
let main_syntax = 'markdown'
|
||||
endif
|
||||
|
||||
runtime! syntax/html.vim
|
||||
unlet! b:current_syntax
|
||||
|
||||
if !exists('g:markdown_fenced_languages')
|
||||
let g:markdown_fenced_languages = []
|
||||
endif
|
||||
for s:type in map(copy(g:markdown_fenced_languages),'matchstr(v:val,"[^=]*$")')
|
||||
if s:type =~ '\.'
|
||||
let b:{matchstr(s:type,'[^.]*')}_subtype = matchstr(s:type,'\.\zs.*')
|
||||
endif
|
||||
exe 'syn include @markdownHighlight'.substitute(s:type,'\.','','g').' syntax/'.matchstr(s:type,'[^.]*').'.vim'
|
||||
unlet! b:current_syntax
|
||||
endfor
|
||||
unlet! s:type
|
||||
|
||||
syn sync minlines=10
|
||||
syn case ignore
|
||||
|
||||
syn match markdownValid '[<>]\S\@!'
|
||||
syn match markdownValid '[<>]\c[a-z/$!]\@!'
|
||||
syn match markdownValid '&\%(#\=\w*;\)\@!'
|
||||
|
||||
syn match markdownLineStart "^[<@]\@!" nextgroup=@markdownBlock
|
||||
syn match markdownLineStart "^[<@]\@!" nextgroup=@markdownBlock,htmlSpecialChar
|
||||
|
||||
syn cluster markdownBlock contains=markdownH1,markdownH2,markdownH3,markdownH4,markdownH5,markdownH6,markdownBlockquote,markdownListMarker,markdownOrderedListMarker,markdownCodeBlock,markdownRule
|
||||
syn cluster markdownInline contains=markdownLineBreak,markdownLinkText,markdownItalic,markdownBold,markdownCode,markdownEscape,@htmlTop
|
||||
syn cluster markdownInline contains=markdownLineBreak,markdownLinkText,markdownItalic,markdownBold,markdownCode,markdownEscape,@htmlTop,markdownError
|
||||
|
||||
syn match markdownH1 ".\+\n=\+$" contained contains=@markdownInline,markdownHeadingRule
|
||||
syn match markdownH2 ".\+\n-\+$" contained contains=@markdownInline,markdownHeadingRule
|
||||
syn match markdownH1 "^.\+\n=\+$" contained contains=@markdownInline,markdownHeadingRule,markdownAutomaticLink
|
||||
syn match markdownH2 "^.\+\n-\+$" contained contains=@markdownInline,markdownHeadingRule,markdownAutomaticLink
|
||||
|
||||
syn match markdownHeadingRule "^[=-]\+$" contained
|
||||
|
||||
syn region markdownH1 matchgroup=markdownHeadingDelimiter start="##\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH2 matchgroup=markdownHeadingDelimiter start="###\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH3 matchgroup=markdownHeadingDelimiter start="####\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH4 matchgroup=markdownHeadingDelimiter start="#####\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH5 matchgroup=markdownHeadingDelimiter start="######\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH6 matchgroup=markdownHeadingDelimiter start="#######\@!" end="#*\s*$" keepend oneline contains=@markdownInline contained
|
||||
syn region markdownH1 matchgroup=markdownHeadingDelimiter start="##\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
syn region markdownH2 matchgroup=markdownHeadingDelimiter start="###\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
syn region markdownH3 matchgroup=markdownHeadingDelimiter start="####\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
syn region markdownH4 matchgroup=markdownHeadingDelimiter start="#####\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
syn region markdownH5 matchgroup=markdownHeadingDelimiter start="######\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
syn region markdownH6 matchgroup=markdownHeadingDelimiter start="#######\@!" end="#*\s*$" keepend oneline contains=@markdownInline,markdownAutomaticLink contained
|
||||
|
||||
syn match markdownBlockquote ">\s" contained nextgroup=@markdownBlock
|
||||
syn match markdownBlockquote ">\%(\s\|$\)" contained nextgroup=@markdownBlock
|
||||
|
||||
syn region markdownCodeBlock start=" \|\t" end="$" contained
|
||||
|
||||
" TODO: real nesting
|
||||
syn match markdownListMarker " \{0,4\}[-*+]\%(\s\+\S\)\@=" contained
|
||||
syn match markdownOrderedListMarker " \{0,4}\<\d\+\.\%(\s*\S\)\@=" contained
|
||||
syn match markdownListMarker "\%(\t\| \{0,4\}\)[-*+]\%(\s\+\S\)\@=" contained
|
||||
syn match markdownOrderedListMarker "\%(\t\| \{0,4}\)\<\d\+\.\%(\s\+\S\)\@=" contained
|
||||
|
||||
syn match markdownRule "\* *\* *\*[ *]*$" contained
|
||||
syn match markdownRule "- *- *-[ -]*$" contained
|
||||
|
||||
syn match markdownLineBreak "\s\{2,\}$"
|
||||
syn match markdownLineBreak " \{2,\}$"
|
||||
|
||||
syn region markdownIdDeclaration matchgroup=markdownLinkDelimiter start="^ \{0,3\}!\=\[" end="\]:" oneline keepend nextgroup=markdownUrl skipwhite
|
||||
syn match markdownUrl "\S\+" nextgroup=markdownUrlTitle skipwhite contained
|
||||
@@ -61,14 +77,23 @@ syn region markdownAutomaticLink matchgroup=markdownUrlDelimiter start="<\%(\w\+
|
||||
|
||||
syn region markdownItalic start="\S\@<=\*\|\*\S\@=" end="\S\@<=\*\|\*\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownItalic start="\S\@<=_\|_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownBold start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownBold start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownBold start="\S\@<=\*\*\|\*\*\S\@=" end="\S\@<=\*\*\|\*\*\S\@=" keepend contains=markdownLineStart,markdownItalic
|
||||
syn region markdownBold start="\S\@<=__\|__\S\@=" end="\S\@<=__\|__\S\@=" keepend contains=markdownLineStart,markdownItalic
|
||||
syn region markdownBoldItalic start="\S\@<=\*\*\*\|\*\*\*\S\@=" end="\S\@<=\*\*\*\|\*\*\*\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownBoldItalic start="\S\@<=___\|___\S\@=" end="\S\@<=___\|___\S\@=" keepend contains=markdownLineStart
|
||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`" end="`" transparent keepend contains=markdownLineStart
|
||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`" end="`" keepend contains=markdownLineStart
|
||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="`` \=" end=" \=``" keepend contains=markdownLineStart
|
||||
syn region markdownCode matchgroup=markdownCodeDelimiter start="^\s*```.*$" end="^\s*```\ze\s*$" keepend
|
||||
|
||||
if main_syntax ==# 'markdown'
|
||||
for s:type in g:markdown_fenced_languages
|
||||
exe 'syn region markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' matchgroup=markdownCodeDelimiter start="^\s*```'.matchstr(s:type,'[^=]*').'\>.*$" end="^\s*```\ze\s*$" keepend contains=@markdownHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
|
||||
endfor
|
||||
unlet! s:type
|
||||
endif
|
||||
|
||||
syn match markdownEscape "\\[][\\`*_{}()#+.!-]"
|
||||
syn match markdownError "\w\@<=_\w\@="
|
||||
|
||||
hi def link markdownH1 htmlH1
|
||||
hi def link markdownH2 htmlH2
|
||||
@@ -99,7 +124,11 @@ hi def link markdownBoldItalic htmlBoldItalic
|
||||
hi def link markdownCodeDelimiter Delimiter
|
||||
|
||||
hi def link markdownEscape Special
|
||||
hi def link markdownError Error
|
||||
|
||||
let b:current_syntax = "markdown"
|
||||
if main_syntax ==# 'markdown'
|
||||
unlet main_syntax
|
||||
endif
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
" Vim syntax file
|
||||
" Language: Perl 5
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" URL: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: 2010-08-10
|
||||
" Contributors: Andy Lester <andy@petdance.com>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Lukas Mai <l.mai.web.de>
|
||||
" Nick Hibma <nick@van-laarhoven.org>
|
||||
" Sonia Heimann <niania@netsurf.org>
|
||||
" and many others.
|
||||
" Language: Perl 5
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-11
|
||||
" Contributors: Andy Lester <andy@petdance.com>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Lukas Mai <l.mai.web.de>
|
||||
" Nick Hibma <nick@van-laarhoven.org>
|
||||
" Sonia Heimann <niania@netsurf.org>
|
||||
" Rob Hoelz <rob@hoelz.ro>
|
||||
" and many others.
|
||||
"
|
||||
" Please download most recent version first before mailing
|
||||
" Please download the most recent version first, before mailing
|
||||
" any comments.
|
||||
"
|
||||
" The following parameters are available for tuning the
|
||||
" perl syntax highlighting, with defaults given:
|
||||
"
|
||||
" unlet perl_include_pod
|
||||
" let perl_include_pod = 1
|
||||
" unlet perl_no_scope_in_variables
|
||||
" unlet perl_no_extended_vars
|
||||
" unlet perl_string_as_statement
|
||||
@@ -27,21 +29,29 @@
|
||||
" unlet perl_fold_blocks
|
||||
" let perl_nofold_packages = 1
|
||||
" let perl_nofold_subs = 1
|
||||
" unlet perl_fold_anonymous_subs
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists('®expengine')
|
||||
let s:regexpengine=®expengine
|
||||
set regexpengine=1
|
||||
endif
|
||||
|
||||
" POD starts with ^=<word> and ends with ^=cut
|
||||
|
||||
if exists("perl_include_pod")
|
||||
if !exists("perl_include_pod") || perl_include_pod == 1
|
||||
" Include a while extra syntax file
|
||||
syn include @Pod syntax/pod.vim
|
||||
unlet b:current_syntax
|
||||
if exists("perl_fold")
|
||||
syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold
|
||||
syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold
|
||||
syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold extend
|
||||
syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold extend
|
||||
else
|
||||
syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend
|
||||
syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend
|
||||
@@ -63,10 +73,13 @@ syn region perlGenericBlock matchgroup=perlGenericBlock start="{" end="}" conta
|
||||
" All keywords
|
||||
"
|
||||
syn match perlConditional "\<\%(if\|elsif\|unless\|given\|when\|default\)\>"
|
||||
syn match perlConditional "\<else\>" nextgroup=perlElseIfError skipwhite skipnl skipempty
|
||||
syn match perlConditional "\<else\%(\%(\_s\*if\>\)\|\>\)" contains=perlElseIfError skipwhite skipnl skipempty
|
||||
syn match perlRepeat "\<\%(while\|for\%(each\)\=\|do\|until\|continue\)\>"
|
||||
syn match perlOperator "\<\%(defined\|undef\|eq\|ne\|[gl][et]\|cmp\|not\|and\|or\|xor\|not\|bless\|ref\|do\)\>"
|
||||
syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>"
|
||||
" for some reason, adding this as the nextgroup for perlControl fixes BEGIN
|
||||
" folding issues...
|
||||
syn match perlFakeGroup "" contained
|
||||
syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*" nextgroup=perlFakeGroup
|
||||
|
||||
syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>"
|
||||
syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>"
|
||||
@@ -93,9 +106,9 @@ syn match perlStatementTime "\<\%(gmtime\|localtime\|time\)\>"
|
||||
|
||||
syn match perlStatementMisc "\<\%(warn\|formline\|reset\|scalar\|prototype\|lock\|tied\=\|untie\)\>"
|
||||
|
||||
syn keyword perlTodo TODO TBD FIXME XXX NOTE contained
|
||||
syn keyword perlTodo TODO TODO: TBD TBD: FIXME FIXME: XXX XXX: NOTE NOTE: contained
|
||||
|
||||
syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|print\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlGenericBlock
|
||||
syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlGenericBlock extend
|
||||
|
||||
syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!"
|
||||
|
||||
@@ -146,14 +159,14 @@ if !exists("perl_no_extended_vars")
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
||||
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained extend
|
||||
syn match perlVarSimpleMemberName "\I\i*" contained
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
||||
syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod
|
||||
syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod
|
||||
endif
|
||||
@@ -168,13 +181,13 @@ syn match perlFiledescStatement "\u\w*" contained
|
||||
|
||||
" Special characters in strings and matches
|
||||
syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend
|
||||
syn match perlSpecialStringU2 "\\." extend contained transparent contains=NONE
|
||||
syn match perlSpecialStringU2 "\\." extend contained contains=NONE
|
||||
syn match perlSpecialStringU "\\\\" contained
|
||||
syn match perlSpecialMatch "\\[1-9]" contained extend
|
||||
syn match perlSpecialMatch "\\g\%(\d\+\|{\%(-\=\d\+\|\h\w*\)}\)" contained
|
||||
syn match perlSpecialMatch "\\k\%(<\h\w*>\|'\h\w*'\)" contained
|
||||
syn match perlSpecialMatch "{\d\+\%(,\%(\d\+\)\=\)\=}" contained
|
||||
syn match perlSpecialMatch "\[[]-]\=[^\[\]]*[]-]\=\]" contained
|
||||
syn match perlSpecialMatch "\[[]-]\=[^\[\]]*[]-]\=\]" contained extend
|
||||
syn match perlSpecialMatch "[+*()?.]" contained
|
||||
syn match perlSpecialMatch "(?[#:=!]" contained
|
||||
syn match perlSpecialMatch "(?[impsx]*\%(-[imsx]\+\)\=)" contained
|
||||
@@ -186,10 +199,9 @@ syn match perlSpecialMatch "(\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\=\|\%(MARK\
|
||||
"
|
||||
" Highlight lines with only whitespace (only in blank delimited here documents) as errors
|
||||
syn match perlNotEmptyLine "^\s\+$" contained
|
||||
" Highlight '} else if (...) {', it should be '} else { if (...) { ' or
|
||||
" '} elsif (...) {'.
|
||||
syn match perlElseIfError "\s\+if" contained
|
||||
syn keyword perlElseIfError elseif
|
||||
" Highlight "} else if (...) {", it should be "} else { if (...) { " or "} elsif (...) {"
|
||||
syn match perlElseIfError "else\_s*if" containedin=perlConditional
|
||||
syn keyword perlElseIfError elseif containedin=perlConditional
|
||||
|
||||
" Variable interpolation
|
||||
"
|
||||
@@ -217,32 +229,32 @@ syn match perlString "\<\%(v\d\+\%(\.\d\+\)*\|\d\+\%(\.\d\+\)\{2,}\)\>" contain
|
||||
syn match perlVStringV "\<v" contained
|
||||
|
||||
|
||||
syn region perlParensSQ start=+(+ end=+)+ extend contained transparent contains=perlParensSQ,@perlInterpSQ keepend
|
||||
syn region perlBracketsSQ start=+\[+ end=+\]+ extend contained transparent contains=perlBracketsSQ,@perlInterpSQ keepend
|
||||
syn region perlBracesSQ start=+{+ end=+}+ extend contained transparent contains=perlBracesSQ,@perlInterpSQ keepend
|
||||
syn region perlAnglesSQ start=+<+ end=+>+ extend contained transparent contains=perlAnglesSQ,@perlInterpSQ keepend
|
||||
syn region perlParensSQ start=+(+ end=+)+ extend contained contains=perlParensSQ,@perlInterpSQ keepend
|
||||
syn region perlBracketsSQ start=+\[+ end=+\]+ extend contained contains=perlBracketsSQ,@perlInterpSQ keepend
|
||||
syn region perlBracesSQ start=+{+ end=+}+ extend contained contains=perlBracesSQ,@perlInterpSQ keepend
|
||||
syn region perlAnglesSQ start=+<+ end=+>+ extend contained contains=perlAnglesSQ,@perlInterpSQ keepend
|
||||
|
||||
syn region perlParensDQ start=+(+ end=+)+ extend contained transparent contains=perlParensDQ,@perlInterpDQ keepend
|
||||
syn region perlBracketsDQ start=+\[+ end=+\]+ extend contained transparent contains=perlBracketsDQ,@perlInterpDQ keepend
|
||||
syn region perlBracesDQ start=+{+ end=+}+ extend contained transparent contains=perlBracesDQ,@perlInterpDQ keepend
|
||||
syn region perlAnglesDQ start=+<+ end=+>+ extend contained transparent contains=perlAnglesDQ,@perlInterpDQ keepend
|
||||
syn region perlParensDQ start=+(+ end=+)+ extend contained contains=perlParensDQ,@perlInterpDQ keepend
|
||||
syn region perlBracketsDQ start=+\[+ end=+\]+ extend contained contains=perlBracketsDQ,@perlInterpDQ keepend
|
||||
syn region perlBracesDQ start=+{+ end=+}+ extend contained contains=perlBracesDQ,@perlInterpDQ keepend
|
||||
syn region perlAnglesDQ start=+<+ end=+>+ extend contained contains=perlAnglesDQ,@perlInterpDQ keepend
|
||||
|
||||
|
||||
" Simple version of searches and matches
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[cgimopsx]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[cgimopsx]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[cgimopsx]*+ contains=@perlInterpSQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[cgimopsx]*+ contains=@perlInterpSlash keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[cgimopsx]*+ contains=@perlInterpMatch,perlParensDQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgc]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgc]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgc]*+ contains=@perlInterpSQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgc]*+ contains=@perlInterpMatch,perlParensDQ keepend
|
||||
|
||||
" A special case for m{}, m<> and m[] which allows for comments and extra whitespace in the pattern
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[cgimopsx]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[cgimopsx]*+ contains=@perlInterpMatch,perlAnglesDQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][cgimopsx]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgc]*+ contains=@perlInterpMatch,perlAnglesDQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend
|
||||
|
||||
" Below some hacks to recognise the // variant. This is virtually impossible to catch in all
|
||||
" cases as the / is used in so many other ways, but these should be the most obvious ones.
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[cgimopsx]*+ contains=@perlInterpSlash
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash
|
||||
|
||||
|
||||
" Substitutions
|
||||
@@ -254,13 +266,13 @@ syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s#+
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*(+ end=+)+ contains=@perlInterpMatch,perlParensDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[ecgimopsx]*+ keepend contained contains=@perlInterpDQ
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[ecgimopsx]*+ contained contains=@perlInterpDQ,perlParensDQ keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][ecgimopsx]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[ecgimopsx]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[ecgimopsx]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend
|
||||
syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[ecgimopsx]*+ contained contains=@perlInterpSQ keepend
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcer]*+ keepend contained contains=@perlInterpDQ
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlParensDQ keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend
|
||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend
|
||||
syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcer]*+ contained contains=@perlInterpSQ keepend
|
||||
|
||||
" Translations
|
||||
" perlMatch is the first part, perlTranslation* is the second, translator part.
|
||||
@@ -270,48 +282,48 @@ syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
|
||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1[cds]*+ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+(+ end=+)[cds]*+ contains=perlParensSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][cds]*+ contains=perlBracketsSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+{+ end=+}[cds]*+ contains=perlBracesSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+<+ end=+>[cds]*+ contains=perlAnglesSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1[cdsr]*+ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+(+ end=+)[cdsr]*+ contains=perlParensSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][cdsr]*+ contains=perlBracketsSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+{+ end=+}[cdsr]*+ contains=perlBracesSQ contained
|
||||
syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+<+ end=+>[cdsr]*+ contains=perlAnglesSQ contained
|
||||
|
||||
|
||||
" Strings and q, qq, qw and qr expressions
|
||||
|
||||
syn region perlStringUnexpanded matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ keepend
|
||||
syn region perlString matchgroup=perlStringStartEnd start=+"+ end=+"+ contains=@perlInterpDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend
|
||||
syn region perlStringUnexpanded matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ keepend extend
|
||||
syn region perlString matchgroup=perlStringStartEnd start=+"+ end=+"+ contains=@perlInterpDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
|
||||
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]#+ end=+#+ contains=@perlInterpDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*(+ end=+)+ contains=@perlInterpDQ,perlParensDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*\[+ end=+\]+ contains=@perlInterpDQ,perlBracketsDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*{+ end=+}+ contains=@perlInterpDQ,perlBracesDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*<+ end=+>+ contains=@perlInterpDQ,perlAnglesDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]#+ end=+#+ contains=@perlInterpDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*(+ end=+)+ contains=@perlInterpDQ,perlParensDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*\[+ end=+\]+ contains=@perlInterpDQ,perlBracketsDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*{+ end=+}+ contains=@perlInterpDQ,perlBracesDQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*<+ end=+>+ contains=@perlInterpDQ,perlAnglesDQ keepend extend
|
||||
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+ end=+#+ contains=@perlInterpSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+ end=+#+ contains=@perlInterpSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
|
||||
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
|
||||
|
||||
" A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend
|
||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend
|
||||
|
||||
" Constructs such as print <<EOF [...] EOF, 'here' documents
|
||||
"
|
||||
@@ -319,14 +331,14 @@ syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s
|
||||
" 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it
|
||||
" seems due to the 'auto-extending nature' of regions.
|
||||
if exists("perl_fold")
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold
|
||||
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold extend
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold extend
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold extend
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold extend
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold extend
|
||||
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend
|
||||
else
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\)+ end=+^\z1$+ contains=@perlInterpDQ
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ
|
||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine
|
||||
@@ -349,13 +361,13 @@ if v:version == 701 && !has('patch221') " XXX I hope that's the right one
|
||||
else
|
||||
syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained
|
||||
syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ
|
||||
syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError
|
||||
syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup
|
||||
syn match perlSubAttributes "" contained nextgroup=perlSubError
|
||||
syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
|
||||
endif
|
||||
syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
|
||||
syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes contained contains=perlSubPrototypeError
|
||||
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype
|
||||
syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
|
||||
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment
|
||||
|
||||
syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
|
||||
|
||||
@@ -371,7 +383,7 @@ endif
|
||||
syn match perlString "\I\@<!-\?\I\i*\%(\s*=>\)\@="
|
||||
|
||||
" All other # are comments, except ^#!
|
||||
syn match perlComment "#.*" contains=perlTodo,@Spell
|
||||
syn match perlComment "#.*" contains=perlTodo,@Spell extend
|
||||
syn match perlSharpBang "^#!.*"
|
||||
|
||||
" Formats
|
||||
@@ -385,9 +397,11 @@ syn match perlFormatField "@$" contained
|
||||
|
||||
" __END__ and __DATA__ clauses
|
||||
if exists("perl_fold")
|
||||
syntax region perlDATA start="^__\%(DATA\|END\)__$" skip="." end="." contains=perlPOD,@perlDATA fold
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="." fold
|
||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
|
||||
else
|
||||
syntax region perlDATA start="^__\%(DATA\|END\)__$" skip="." end="." contains=perlPOD,@perlDATA
|
||||
syntax region perlDATA start="^__DATA__$" skip="." end="."
|
||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
|
||||
endif
|
||||
|
||||
"
|
||||
@@ -400,8 +414,15 @@ if exists("perl_fold")
|
||||
syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend
|
||||
endif
|
||||
if !exists("perl_nofold_subs")
|
||||
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
||||
syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
|
||||
if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
|
||||
syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
|
||||
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
||||
|
||||
syn region perlBraces start="{" end="}" transparent extend
|
||||
else
|
||||
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
||||
syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("perl_fold_blocks")
|
||||
@@ -418,6 +439,9 @@ endif
|
||||
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
|
||||
" NOTE: If you're linking new highlight groups to perlString, please also put
|
||||
" them into b:match_skip in ftplugin/perl.vim.
|
||||
|
||||
" The default highlighting.
|
||||
HiLink perlSharpBang PreProc
|
||||
HiLink perlControl PreProc
|
||||
@@ -505,6 +529,22 @@ HiLink perlSpecialStringU perlSpecial
|
||||
HiLink perlSpecialMatch perlSpecial
|
||||
HiLink perlDATA perlComment
|
||||
|
||||
" NOTE: Due to a bug in Vim (or more likely, a misunderstanding on my part),
|
||||
" I had to remove the transparent property from the following regions
|
||||
" in order to get them to highlight correctly. Feel free to remove
|
||||
" these and reinstate the transparent property if you know how.
|
||||
HiLink perlParensSQ perlString
|
||||
HiLink perlBracketsSQ perlString
|
||||
HiLink perlBracesSQ perlString
|
||||
HiLink perlAnglesSQ perlString
|
||||
|
||||
HiLink perlParensDQ perlString
|
||||
HiLink perlBracketsDQ perlString
|
||||
HiLink perlBracesDQ perlString
|
||||
HiLink perlAnglesDQ perlString
|
||||
|
||||
HiLink perlSpecialStringU2 perlString
|
||||
|
||||
" Possible errors
|
||||
HiLink perlNotEmptyLine Error
|
||||
HiLink perlElseIfError Error
|
||||
@@ -539,5 +579,13 @@ syn sync match perlSyncPOD grouphere NONE "^=cut"
|
||||
|
||||
let b:current_syntax = "perl"
|
||||
|
||||
if exists('®expengine')
|
||||
let ®expengine=s:regexpengine
|
||||
unlet s:regexpengine
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" XXX Change to sts=4:sw=4
|
||||
" vim:ts=8:sts=2:sw=2:expandtab:ft=vim
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
" Vim syntax file
|
||||
" Language: Perl 6
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" Homepage: http://github.com/petdance/vim-perl/tree/master
|
||||
" Last Change: 2012 Apr 30
|
||||
" Language: Perl 6
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2009-07-04
|
||||
|
||||
" Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
|
||||
" Moritz Lenz <moritz@faui2k3.org>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
" Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
|
||||
" Moritz Lenz <moritz@faui2k3.org>
|
||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||
"
|
||||
" This is a big undertaking. Perl 6 is the sort of language that only Perl
|
||||
" can parse. But I'll do my best to get vim to.
|
||||
@@ -1023,7 +1024,7 @@ syn match p6PackageScope display "\%(\K\%(\k\|[-']\K\@=\)*\)\?::" nextgroup=p6Pa
|
||||
" TODO: mostly stolen from perl.vim, might need more work
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%([$@%&*]\@<!\%(\<\%(split\|while\|until\|if\|unless\)\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=//\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\%(\<\%(split\|while\|until\|if\|unless\)\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=//\@!"
|
||||
\ start="^//\@!"
|
||||
\ start=+\s\@<=/[^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!/\@!+
|
||||
\ skip="\\/"
|
||||
@@ -1033,7 +1034,7 @@ syn region p6Match
|
||||
" m/foo/, mm/foo/, rx/foo/
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=//\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=//\@!"
|
||||
\ skip="\\/"
|
||||
\ end="/"
|
||||
\ keepend
|
||||
@@ -1042,7 +1043,7 @@ syn region p6Match
|
||||
" m!foo!, mm!foo!, rx!foo!
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=!!\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=!!\@!"
|
||||
\ skip="\\!"
|
||||
\ end="!"
|
||||
\ keepend
|
||||
@@ -1051,7 +1052,7 @@ syn region p6Match
|
||||
" m$foo$, mm$foo$, rx$foo$, m|foo|, mm|foo|, rx|foo|, etc
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([\"'`|,$]\)\$\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([\"'`|,$]\)\$\@!"
|
||||
\ skip="\\\z1"
|
||||
\ end="\z1"
|
||||
\ keepend
|
||||
@@ -1060,7 +1061,7 @@ syn region p6Match
|
||||
" m (foo), mm (foo), rx (foo)
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s\+\)\@<=()\@!)\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s\+\)\@<=()\@!)\@!"
|
||||
\ skip="\\)"
|
||||
\ end=")"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1068,7 +1069,7 @@ syn region p6Match
|
||||
" m[foo], mm[foo], rx[foo]
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\[]\@!]\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\[]\@!]\@!"
|
||||
\ skip="\\]"
|
||||
\ end="]"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1076,7 +1077,7 @@ syn region p6Match
|
||||
" m{foo}, mm{foo}, rx{foo}
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<={}\@!}\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<={}\@!}\@!"
|
||||
\ skip="\\}"
|
||||
\ end="}"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1084,7 +1085,7 @@ syn region p6Match
|
||||
" m<foo>, mm<foo>, rx<foo>
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=<>\@!>\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=<>\@!>\@!"
|
||||
\ skip="\\>"
|
||||
\ end=">"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1092,7 +1093,7 @@ syn region p6Match
|
||||
" m«foo», mm«foo», rx«foo»
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=«»\@!»\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<\%(mm\?\|rx\)\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=«»\@!»\@!"
|
||||
\ skip="\\»"
|
||||
\ end="»"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1102,7 +1103,7 @@ syn region p6Match
|
||||
" s/foo/bar/
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=/"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=/"
|
||||
\ skip="\\/"
|
||||
\ end="/"me=e-1
|
||||
\ keepend
|
||||
@@ -1121,7 +1122,7 @@ syn region p6Substitution
|
||||
" s!foo!bar!
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=!"
|
||||
\ skip="\\!"
|
||||
\ end="!"me=e-1
|
||||
\ keepend
|
||||
@@ -1140,7 +1141,7 @@ syn region p6Substitution
|
||||
" s$foo$bar$, s|foo|bar, etc
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([\"'`|,$]\)"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([\"'`|,$]\)"
|
||||
\ skip="\\\z1"
|
||||
\ end="\z1"me=e-1
|
||||
\ keepend
|
||||
@@ -1159,7 +1160,7 @@ syn region p6Substitution
|
||||
" s{foo}
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<={}\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<={}\@!"
|
||||
\ skip="\\}"
|
||||
\ end="}"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1167,7 +1168,7 @@ syn region p6Match
|
||||
" s[foo]
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\[]\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\[]\@!"
|
||||
\ skip="\\]"
|
||||
\ end="]"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1175,7 +1176,7 @@ syn region p6Match
|
||||
" s<foo>
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=<>\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=<>\@!"
|
||||
\ skip="\\>"
|
||||
\ end=">"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1183,7 +1184,7 @@ syn region p6Match
|
||||
" s«foo»
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=«»\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=«»\@!"
|
||||
\ skip="\\»"
|
||||
\ end="»"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1191,7 +1192,7 @@ syn region p6Match
|
||||
" s (foo)
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s\+\)\@<=()\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<s\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s\+\)\@<=()\@!"
|
||||
\ skip="\\)"
|
||||
\ end=")"
|
||||
\ contains=@p6Regexen,@p6Variables
|
||||
@@ -1201,7 +1202,7 @@ syn region p6Match
|
||||
" m:P5//
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=/"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=/"
|
||||
\ skip="\\/"
|
||||
\ end="/"
|
||||
\ contains=@p6RegexP5,p6Variable,p6VarExclam,p6VarMatch,p6VarNum
|
||||
@@ -1209,7 +1210,7 @@ syn region p6Match
|
||||
" m:P5!!
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=!"
|
||||
\ skip="\\!"
|
||||
\ end="!"
|
||||
\ contains=@p6RegexP5,p6Variable,p6VarSlash,p6VarMatch,p6VarNum
|
||||
@@ -1217,7 +1218,7 @@ syn region p6Match
|
||||
" m:P5$$, m:P5||, etc
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=\z([\"'`|,$]\)"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=\z([\"'`|,$]\)"
|
||||
\ skip="\\\z1"
|
||||
\ end="\z1"
|
||||
\ contains=@p6RegexP5,@p6Variables
|
||||
@@ -1225,7 +1226,7 @@ syn region p6Match
|
||||
" m:P5 ()
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s\+\)\@<=()\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s\+\)\@<=()\@!"
|
||||
\ skip="\\)"
|
||||
\ end=")"
|
||||
\ contains=@p6RegexP5,@p6Variables
|
||||
@@ -1233,7 +1234,7 @@ syn region p6Match
|
||||
" m:P5[]
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=[]\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=[]\@!"
|
||||
\ skip="\\]"
|
||||
\ end="]"
|
||||
\ contains=@p6RegexP5,@p6Variables
|
||||
@@ -1241,7 +1242,7 @@ syn region p6Match
|
||||
" m:P5{}
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<={}\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<={}\@!"
|
||||
\ skip="\\}"
|
||||
\ end="}"
|
||||
\ contains=@p6RegexP5,p6Variables
|
||||
@@ -1249,7 +1250,7 @@ syn region p6Match
|
||||
" m:P5<>
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=<>\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=<>\@!"
|
||||
\ skip="\\>"
|
||||
\ end=">"
|
||||
\ contains=@p6RegexP5,p6Variables
|
||||
@@ -1257,7 +1258,7 @@ syn region p6Match
|
||||
" m:P5«»
|
||||
syn region p6Match
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<m\s*:P\%(erl\)\?5\s*\)\@<=«»\@!"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<m\s*:P\%(erl\)\?5\s*\)\@<=«»\@!"
|
||||
\ skip="\\»"
|
||||
\ end="»"
|
||||
\ contains=@p6RegexP5,p6Variables
|
||||
@@ -1267,7 +1268,7 @@ syn region p6Match
|
||||
" tr/foo/bar/, tr|foo|bar, etc
|
||||
syn region p6String
|
||||
\ matchgroup=p6Quote
|
||||
\ start="\%(\<tr\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([/\"'`|!,$]\)"
|
||||
\ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@<!\<tr\%(\s*:!\?\k\%(\k\|[-']\K\@=\)*\%(([^)]*)\)\?\)*\s*\)\@<=\z([/\"'`|!,$]\)"
|
||||
\ skip="\\\z1"
|
||||
\ end="\z1"me=e-1
|
||||
\ contains=p6RxRange
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Perl POD format
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" Previously: Scott Bigham <dsb@killerbunnies.org>
|
||||
" URL: http://github.com/petdance/vim-perl
|
||||
" Last Change: 2009-08-14
|
||||
" Language: Perl POD format
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Previously: Scott Bigham <dsb@killerbunnies.org>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
" To add embedded POD documentation highlighting to your syntax file, add
|
||||
" the commands:
|
||||
@@ -26,7 +27,11 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" POD commands
|
||||
syn match podCommand "^=encoding" nextgroup=podCmdText contains=@NoSpell
|
||||
syn match podCommand "^=head[1234]" nextgroup=podCmdText contains=@NoSpell
|
||||
syn match podCommand "^=item" nextgroup=podCmdText contains=@NoSpell
|
||||
syn match podCommand "^=over" nextgroup=podOverIndent skipwhite contains=@NoSpell
|
||||
@@ -85,6 +90,100 @@ if version >= 508 || !exists("did_pod_syntax_inits")
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
if exists("perl_pod_spellcheck_headings")
|
||||
" Spell-check headings
|
||||
syn clear podCmdText
|
||||
syn match podCmdText ".*$" contained contains=podFormat
|
||||
endif
|
||||
|
||||
if exists("perl_pod_formatting")
|
||||
" By default, escapes like C<> are not checked for spelling. Remove B<>
|
||||
" and I<> from the list of escapes.
|
||||
syn clear podFormat
|
||||
syn region podFormat start="[CLF]<[^<]"me=e-1 end=">" oneline contains=podFormat,@NoSpell
|
||||
syn region podFormat start="[CLF]<<\s" end="\s>>" oneline contains=podFormat,@NoSpell
|
||||
|
||||
" Don't spell-check inside E<>, but ensure that the E< itself isn't
|
||||
" marked as a spelling mistake.
|
||||
syn match podFormat "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2,@NoSpell
|
||||
|
||||
" Z<> is a mock formatting code. Ensure Z<> on its own isn't marked as a
|
||||
" spelling mistake.
|
||||
syn match podFormat "Z<>" contains=podEscape,podEscape2,@NoSpell
|
||||
|
||||
" These are required so that whatever is *within* B<...>, I<...>, etc. is
|
||||
" spell-checked, but not the B, I, ... itself.
|
||||
syn match podBoldOpen "B<" contains=@NoSpell
|
||||
syn match podItalicOpen "I<" contains=@NoSpell
|
||||
syn match podNoSpaceOpen "S<" contains=@NoSpell
|
||||
syn match podIndexOpen "X<" contains=@NoSpell
|
||||
|
||||
" Same as above but for the << >> syntax.
|
||||
syn match podBoldAlternativeDelimOpen "B<< " contains=@NoSpell
|
||||
syn match podItalicAlternativeDelimOpen "I<< " contains=@NoSpell
|
||||
syn match podNoSpaceAlternativeDelimOpen "S<< " contains=@NoSpell
|
||||
syn match podIndexAlternativeDelimOpen "X<< " contains=@NoSpell
|
||||
|
||||
" Add support for spell checking text inside B<>, I<>, S<> and X<>.
|
||||
syn region podBold start="B<[^<]"me=e end=">" oneline contains=podBoldItalic,podBoldOpen
|
||||
syn region podBoldAlternativeDelim start="B<<\s" end="\s>>" oneline contains=podBoldAlternativeDelimOpen
|
||||
|
||||
syn region podItalic start="I<[^<]"me=e end=">" oneline contains=podItalicBold,podItalicOpen
|
||||
syn region podItalicAlternativeDelim start="I<<\s" end="\s>>" oneline contains=podItalicAlternativeDelimOpen
|
||||
|
||||
" Nested bold/italic and vice-versa
|
||||
syn region podBoldItalic contained start="I<[^<]"me=e end=">" oneline
|
||||
syn region podItalicBold contained start="B<[^<]"me=e end=">" oneline
|
||||
|
||||
syn region podNoSpace start="S<[^<]"ms=s-2 end=">"me=e oneline contains=podNoSpaceOpen
|
||||
syn region podNoSpaceAlternativeDelim start="S<<\s"ms=s-2 end="\s>>"me=e oneline contains=podNoSpaceAlternativeDelimOpen
|
||||
|
||||
syn region podIndex start="X<[^<]"ms=s-2 end=">"me=e oneline contains=podIndexOpen
|
||||
syn region podIndexAlternativeDelim start="X<<\s"ms=s-2 end="\s>>"me=e oneline contains=podIndexAlternativeDelimOpen
|
||||
|
||||
" Restore this (otherwise B<> is shown as bold inside verbatim)
|
||||
syn match podVerbatimLine "^\s.*$" contains=@NoSpell
|
||||
|
||||
" Ensure formatted text can be displayed in headings and items
|
||||
syn clear podCmdText
|
||||
|
||||
if exists("perl_pod_spellcheck_headings")
|
||||
syn match podCmdText ".*$" contained contains=podFormat,podBold,
|
||||
\podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,
|
||||
\podBoldOpen,podItalicOpen,podBoldAlternativeDelimOpen,
|
||||
\podItalicAlternativeDelimOpen,podNoSpaceOpen
|
||||
else
|
||||
syn match podCmdText ".*$" contained contains=podFormat,podBold,
|
||||
\podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,
|
||||
\@NoSpell
|
||||
endif
|
||||
|
||||
" Specify how to display these
|
||||
hi def podBold term=bold cterm=bold gui=bold
|
||||
|
||||
hi link podBoldAlternativeDelim podBold
|
||||
hi link podBoldAlternativeDelimOpen podBold
|
||||
hi link podBoldOpen podBold
|
||||
|
||||
hi link podNoSpace Identifier
|
||||
hi link podNoSpaceAlternativeDelim Identifier
|
||||
|
||||
hi link podIndex Identifier
|
||||
hi link podIndexAlternativeDelim Identifier
|
||||
|
||||
hi def podItalic term=italic cterm=italic gui=italic
|
||||
|
||||
hi link podItalicAlternativeDelim podItalic
|
||||
hi link podItalicAlternativeDelimOpen podItalic
|
||||
hi link podItalicOpen podItalic
|
||||
|
||||
hi def podBoldItalic term=italic,bold cterm=italic,bold gui=italic,bold
|
||||
hi def podItalicBold term=italic,bold cterm=italic,bold gui=italic,bold
|
||||
endif
|
||||
|
||||
let b:current_syntax = "pod"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: PROLOG
|
||||
" Maintainers: Thomas Koehler <jean-luc@picard.franken.de>
|
||||
" Last Change: 2009 Dec 04
|
||||
" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
|
||||
" Last Change: 2013 May 23
|
||||
" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim
|
||||
|
||||
" There are two sets of highlighting in here:
|
||||
" If the "prolog_highlighting_clean" variable exists, it is rather sparse.
|
||||
@@ -21,14 +21,14 @@ syn case match
|
||||
" Very simple highlighting for comments, clause heads and
|
||||
" character codes. It respects prolog strings and atoms.
|
||||
|
||||
syn region prologCComment start=+/\*+ end=+\*/+
|
||||
syn match prologComment +%.*+
|
||||
syn region prologCComment start=+/\*+ end=+\*/+
|
||||
syn match prologComment +%.*+
|
||||
|
||||
syn keyword prologKeyword module meta_predicate multifile dynamic
|
||||
syn match prologCharCode +0'\\\=.+
|
||||
syn region prologString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn region prologAtom start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||
syn region prologClauseHead start=+^[a-z][^(]*(+ skip=+\.[^ ]+ end=+:-\|\.$\|\.[ ]\|-->+ contains=prologComment,prologCComment,prologString
|
||||
syn keyword prologKeyword module meta_predicate multifile dynamic
|
||||
syn match prologCharCode +0'\\\=.+
|
||||
syn region prologString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn region prologAtom start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||
syn region prologClause matchgroup=prologClauseHead start=+^\s*[a-z]\w*+ matchgroup=Normal end=+\.\s\|\.$+ contains=ALLBUT,prologClause
|
||||
|
||||
if !exists("prolog_highlighting_clean")
|
||||
|
||||
@@ -40,12 +40,12 @@ if !exists("prolog_highlighting_clean")
|
||||
syn keyword prologKeyword arg current_prolog_flag put_char
|
||||
syn keyword prologKeyword asserta fail put_code
|
||||
syn keyword prologKeyword assertz findall read
|
||||
syn keyword prologKeyword at_end_of_stream float read_term
|
||||
syn keyword prologKeyword at_end_of_stream float read_term
|
||||
syn keyword prologKeyword atom flush_output repeat
|
||||
syn keyword prologKeyword atom_chars functor retract
|
||||
syn keyword prologKeyword atom_codes get_byte set_input
|
||||
syn keyword prologKeyword atom_concat get_char set_output
|
||||
syn keyword prologKeyword atom_length get_code set_prolog_flag
|
||||
syn keyword prologKeyword atom_codes get_byte set_input
|
||||
syn keyword prologKeyword atom_concat get_char set_output
|
||||
syn keyword prologKeyword atom_length get_code set_prolog_flag
|
||||
syn keyword prologKeyword atomic halt set_stream_position
|
||||
syn keyword prologKeyword bagof integer setof
|
||||
syn keyword prologKeyword call is stream_property
|
||||
@@ -54,7 +54,7 @@ if !exists("prolog_highlighting_clean")
|
||||
syn keyword prologKeyword char_conversion number true
|
||||
syn keyword prologKeyword clause number_chars unify_with_occurs_check
|
||||
syn keyword prologKeyword close number_codes var
|
||||
syn keyword prologKeyword compound once write
|
||||
syn keyword prologKeyword compound once write
|
||||
syn keyword prologKeyword copy_term op write_canonical
|
||||
syn keyword prologKeyword current_char_conversion open write_term
|
||||
syn keyword prologKeyword current_input peek_byte writeq
|
||||
@@ -63,11 +63,13 @@ if !exists("prolog_highlighting_clean")
|
||||
syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|="
|
||||
syn match prologAsIs "===\|\\===\|<=\|=>"
|
||||
|
||||
syn match prologNumber "\<[0123456789]*\>'\@!"
|
||||
syn match prologNumber "\<[0123456789]*\>'\@!"
|
||||
syn match prologCommentError "\*/"
|
||||
syn match prologSpecialCharacter ";"
|
||||
syn match prologSpecialCharacter "!"
|
||||
syn match prologQuestion "?-.*\." contains=prologNumber
|
||||
syn match prologSpecialCharacter ":-"
|
||||
syn match prologSpecialCharacter "-->"
|
||||
syn match prologQuestion "?-.*\." contains=prologNumber
|
||||
|
||||
|
||||
endif
|
||||
@@ -87,27 +89,29 @@ if version >= 508 || !exists("did_prolog_syn_inits")
|
||||
endif
|
||||
|
||||
" The default highlighting.
|
||||
HiLink prologComment Comment
|
||||
HiLink prologCComment Comment
|
||||
HiLink prologCharCode Special
|
||||
HiLink prologComment Comment
|
||||
HiLink prologCComment Comment
|
||||
HiLink prologCharCode Special
|
||||
|
||||
if exists ("prolog_highlighting_clean")
|
||||
|
||||
HiLink prologKeyword Statement
|
||||
HiLink prologClauseHead Statement
|
||||
HiLink prologKeyword Statement
|
||||
HiLink prologClauseHead Statement
|
||||
HiLink prologClause Normal
|
||||
|
||||
else
|
||||
|
||||
HiLink prologKeyword Keyword
|
||||
HiLink prologClauseHead Constant
|
||||
HiLink prologQuestion PreProc
|
||||
HiLink prologKeyword Keyword
|
||||
HiLink prologClauseHead Constant
|
||||
HiLink prologClause Normal
|
||||
HiLink prologQuestion PreProc
|
||||
HiLink prologSpecialCharacter Special
|
||||
HiLink prologNumber Number
|
||||
HiLink prologAsIs Normal
|
||||
HiLink prologCommentError Error
|
||||
HiLink prologAtom String
|
||||
HiLink prologString String
|
||||
HiLink prologOperator Operator
|
||||
HiLink prologNumber Number
|
||||
HiLink prologAsIs Normal
|
||||
HiLink prologCommentError Error
|
||||
HiLink prologAtom String
|
||||
HiLink prologString String
|
||||
HiLink prologOperator Operator
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -102,12 +102,11 @@ syn match rComplex "\<\d\+[Ee][-+]\=\d\+i"
|
||||
|
||||
syn match rOperator "&"
|
||||
syn match rOperator '-'
|
||||
syn match rOperator '*'
|
||||
syn match rOperator '\*'
|
||||
syn match rOperator '+'
|
||||
syn match rOperator '='
|
||||
syn match rOperator "[|!<>^~`/:@]"
|
||||
syn match rOperator "%\{2}\|%\*%\|%\/%\|%in%\|%o%\|%x%"
|
||||
syn match rOpError '*\{3}'
|
||||
syn match rOpError '//'
|
||||
syn match rOpError '&&&'
|
||||
syn match rOpError '|||'
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
" Vim syntax file
|
||||
" Language: resolver configuration file
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" Original Maintaner: Radu Dineiu <littledragon@altern.org>
|
||||
" License: This file can be redistributed and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Last Change: 2012-05-24
|
||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||
" URL: https://raw.github.com/rid9/vim-resolv/master/resolv.vim
|
||||
" Last Change: 2013 May 21
|
||||
" Version: 1.0
|
||||
"
|
||||
" Credits:
|
||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -14,18 +17,18 @@ endif
|
||||
|
||||
" Errors, comments and operators
|
||||
syn match resolvError /./
|
||||
syn match resolvComment /\s*[#;].*$/ contains=@Spell
|
||||
syn match resolvOperator /[/:]/ contained
|
||||
syn match resolvComment /\s*[#;].*$/
|
||||
syn match resolvOperator /[\/:]/ contained
|
||||
|
||||
" IP
|
||||
syn cluster resolvIPCluster contains=resolvIPError,resolvIPSpecial
|
||||
syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[.0-9]*/ contained
|
||||
syn match resolvIPError /\%(\d\{4,}\|25[6-9]\|2[6-9]\d\|[3-9]\d\{2}\)[\.0-9]*/ contained
|
||||
syn match resolvIPSpecial /\%(127\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)/ contained
|
||||
|
||||
" General
|
||||
syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster
|
||||
syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
|
||||
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/
|
||||
syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
|
||||
|
||||
" Particular
|
||||
syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
|
||||
@@ -41,8 +44,6 @@ syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skip
|
||||
syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
|
||||
|
||||
" Options
|
||||
" FIXME: The manual page and the source code do not exactly agree on the set
|
||||
" of allowed options
|
||||
syn match resolvOption /\<\%(debug\|no_tld_query\|rotate\|no-check-names\|inet6\)\>/ contained nextgroup=resolvOption skipwhite
|
||||
syn match resolvOption /\<\%(ndots\|timeout\|attempts\):\d\+\>/ contained contains=resolvOperator nextgroup=resolvOption skipwhite
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Filenames: *.sass
|
||||
" Last Change: 2010 Aug 9
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -17,8 +17,8 @@ syn cluster sassCssAttributes contains=css.*Attr,scssComment,cssValue.*,cssColor
|
||||
|
||||
syn region sassDefinition matchgroup=cssBraces start="{" end="}" contains=TOP
|
||||
|
||||
syn match sassProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+:" contains=css.*Prop skipwhite nextgroup=sassCssAttribute contained containedin=sassDefinition
|
||||
syn match sassProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
|
||||
syn match sassProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:" contains=css.*Prop skipwhite nextgroup=sassCssAttribute contained containedin=sassDefinition
|
||||
syn match sassProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
|
||||
syn match sassProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
|
||||
syn match sassCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@sassCssAttributes,sassVariable,sassFunction,sassInterpolation
|
||||
syn match sassDefault "!default\>" contained
|
||||
@@ -34,14 +34,19 @@ syn match sassFunction "\<\%(unquote\|quote\)\>(\@=" contained
|
||||
syn match sassFunction "\<\%(percentage\|round\|ceil\|floor\|abs\)\>(\@=" contained
|
||||
syn match sassFunction "\<\%(type-of\|unit\|unitless\|comparable\)\>(\@=" contained
|
||||
|
||||
syn region sassInterpolation matchgroup=sassInterpolationDelimiter start="#{" end="}" contains=@sassCssAttributes,sassVariable,sassFunction containedin=cssStringQ,cssStringQQ,sassProperty
|
||||
syn region sassInterpolation matchgroup=sassInterpolationDelimiter start="#{" end="}" contains=@sassCssAttributes,sassVariable,sassFunction containedin=cssStringQ,cssStringQQ,cssPseudoClass,sassProperty
|
||||
|
||||
syn match sassMixinName "[[:alnum:]_-]\+" contained nextgroup=sassCssAttribute
|
||||
syn match sassMixin "^=" nextgroup=sassMixinName
|
||||
syn match sassMixin "^=" nextgroup=sassMixinName skipwhite
|
||||
syn match sassMixin "\%([{};]\s*\|^\s*\)\@<=@mixin" nextgroup=sassMixinName skipwhite
|
||||
syn match sassMixing "^\s\+\zs+" nextgroup=sassMixinName
|
||||
syn match sassMixing "\%([{};]\s*\|^\s*\)\@<=@include" nextgroup=sassMixinName skipwhite
|
||||
syn match sassExtend "\%([{};]\s*\|^\s*\)\@<=@extend"
|
||||
syn match sassPlaceholder "\%([{};]\s*\|^\s*\)\@<=%" nextgroup=sassMixinName skipwhite
|
||||
|
||||
syn match sassFunctionName "[[:alnum:]_-]\+" contained nextgroup=sassCssAttribute
|
||||
syn match sassFunctionDecl "\%([{};]\s*\|^\s*\)\@<=@function" nextgroup=sassFunctionName skipwhite
|
||||
syn match sassReturn "\%([{};]\s*\|^\s*\)\@<=@return"
|
||||
|
||||
syn match sassEscape "^\s*\zs\\"
|
||||
syn match sassIdChar "#[[:alnum:]_-]\@=" nextgroup=sassId
|
||||
@@ -53,11 +58,11 @@ syn match sassAmpersand "&"
|
||||
" TODO: Attribute namespaces
|
||||
" TODO: Arithmetic (including strings and concatenation)
|
||||
|
||||
syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssURL,cssUnicodeEscape,cssMediaType
|
||||
syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType
|
||||
syn region sassDebugLine end=";\|$" matchgroup=sassDebug start="@debug\>" contains=@sassCssAttributes,sassVariable,sassFunction
|
||||
syn region sassWarnLine end=";\|$" matchgroup=sassWarn start="@warn\>" contains=@sassCssAttributes,sassVariable,sassFunction
|
||||
syn region sassControlLine matchgroup=sassControl start="@\%(if\|else\%(\s\+if\)\=\|while\|for\)\>" end="[{};]\@=\|$" contains=sassFor,@sassCssAttributes,sassVariable,sassFunction
|
||||
syn keyword sassFor from to through contained
|
||||
syn region sassControlLine matchgroup=sassControl start="@\%(if\|else\%(\s\+if\)\=\|while\|for\|each\)\>" end="[{};]\@=\|$" contains=sassFor,@sassCssAttributes,sassVariable,sassFunction
|
||||
syn keyword sassFor from to through in contained
|
||||
|
||||
syn keyword sassTodo FIXME NOTE TODO OPTIMIZE XXX contained
|
||||
syn region sassComment start="^\z(\s*\)//" end="^\%(\z1 \)\@!" contains=sassTodo,@Spell
|
||||
@@ -70,7 +75,10 @@ hi def link sassVariable Identifier
|
||||
hi def link sassFunction Function
|
||||
hi def link sassMixing PreProc
|
||||
hi def link sassMixin PreProc
|
||||
hi def link sassPlaceholder PreProc
|
||||
hi def link sassExtend PreProc
|
||||
hi def link sassFunctionDecl PreProc
|
||||
hi def link sassReturn PreProc
|
||||
hi def link sassTodo Todo
|
||||
hi def link sassInclude Include
|
||||
hi def link sassDebug sassControl
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: SGML-linuxdoc (supported by old sgmltools-1.x)
|
||||
" (for more information, visit www.sgmltools.org)
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2008 Sep 17
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -29,7 +28,7 @@ syn region sgmllnxSpecial oneline start="&" end=";"
|
||||
syn keyword sgmllnxTagName contained article author date toc title sect verb
|
||||
syn keyword sgmllnxTagName contained abstract tscreen p itemize item enum
|
||||
syn keyword sgmllnxTagName contained descrip quote htmlurl code ref
|
||||
syn keyword sgmllnxTagName contained tt tag bf
|
||||
syn keyword sgmllnxTagName contained tt tag bf it url
|
||||
syn match sgmllnxTagName contained "sect\d\+"
|
||||
|
||||
" Comments
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" SiSU Vim syntax file
|
||||
" SiSU Maintainer: Ralph Amissah <ralph@amissah.com>
|
||||
" SiSU Markup: SiSU (sisu-3.1.0)
|
||||
" Last Change: 2011-10-03
|
||||
" URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
|
||||
" SiSU Markup: SiSU (sisu-4.0.9)
|
||||
" Last Change: 2013-02-22
|
||||
" URL (sisu-4.1.0): <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD>
|
||||
"(originally looked at Ruby Vim by Mirko Nasato)
|
||||
|
||||
if version < 600
|
||||
@@ -20,14 +20,9 @@ syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>"
|
||||
"% "Markers Identifiers:
|
||||
if !exists("sisu_no_identifiers")
|
||||
syn match sisu_mark_endnote "\~^"
|
||||
syn match sisu_break contains=@NoSpell " \\\\\( \|$\)"
|
||||
syn match sisu_break contains=@NoSpell "<br>\|<br />"
|
||||
syn match sisu_control contains=@NoSpell "^<:p[bn]>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pg\|pgn\|pn\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pg\|pgn\|pn\)\]\s*$"
|
||||
syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|<br>\|<br />"
|
||||
syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$"
|
||||
syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^<\(br\)\?:\(pr\|o\)>\s*$"
|
||||
"syn match sisu_control contains=@NoSpell "^\[\(br\)\?:\(pr\|o\)\]\s*$"
|
||||
syn match sisu_marktail "[~-]#"
|
||||
syn match sisu_control "\""
|
||||
syn match sisu_underline "\(^\| \)_[a-zA-Z0-9]\+_\([ .,]\|$\)"
|
||||
@@ -43,11 +38,12 @@ if !exists("sisu_no_identifiers")
|
||||
syn match sisu_sub_header_title "^\s\+:\(subtitle\|short\|edition\|language\|lang_char\|note\):\s" "group=sisu_header_content
|
||||
syn match sisu_sub_header_creator "^\s\+:\(author\|editor\|contributor\|illustrator\|photographer\|translator\|digitized_by\|prepared_by\|audio\|video\):\s" " &hon &institution
|
||||
syn match sisu_sub_header_rights "^\s\+:\(copyright\|text\|translation\|illustrations\|photographs\|preparation\|digitization\|audio\|video\|license\|all\):\s" " access_rights license
|
||||
syn match sisu_sub_header_classify "^\s\+:\(topic_register\|coverage\|format\|identifier\|keywords\|relation\|subject\|type\|dewey\|loc\|oclc\|pg\|isbn\):\s"
|
||||
syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
|
||||
syn match sisu_sub_header_classify "^\s\+:\(topic_register\|keywords\|subject\|dewey\|loc\):\s"
|
||||
syn match sisu_sub_header_identifier "^\s\+:\(oclc\|isbn\):\s"
|
||||
syn match sisu_sub_header_date "^\s\+:\(added_to_site\|available\|created\|issued\|modified\|published\|valid\|translated\|original_publication\):\s"
|
||||
syn match sisu_sub_header_original "^\s\+:\(publisher\|date\|language\|lang_char\|institution\|nationality\|source\):\s"
|
||||
syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|skin\|stamp\|promo\|ad\|manpage\):\s"
|
||||
syn match sisu_sub_header_notes "^\s\+:\(abstract\|comment\|description\|history\|prefix\|prefix_[ab]\|suffix\):\s"
|
||||
syn match sisu_sub_header_make "^\s\+:\(headings\|num_top\|breaks\|language\|italics\|bold\|emphasis\|substitute\|omit\|plaintext_wrap\|texpdf_font_mono\|texpdf_font\|stamp\|promo\|ad\|manpage\|home_button_text\|home_button_image\|cover_image\|footer\):\s"
|
||||
syn match sisu_sub_header_notes "^\s\+:\(description\|abstract\|comment\|coverage\|relation\|source\|history\|type\|format\|prefix\|prefix_[ab]\|suffix\):\s"
|
||||
|
||||
"% "semantic markers: (ignore)
|
||||
syn match sisu_sem_marker ";{\|};[a-z._]*[a-z]"
|
||||
@@ -85,6 +81,8 @@ syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_rights matchgroup=sisu_header start="^[@]rights:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" classify document
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_classify matchgroup=sisu_header start="^[@]classify:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" identifier document
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_identifier matchgroup=sisu_header start="^[@]identifier:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" original language (depreciated)
|
||||
syn region sisu_header_content contains=sisu_error,sisu_comment,sisu_break,sisu_link,sisu_sub_header_original matchgroup=sisu_header start="^[@]original:[+-]\?\(\s\|\n\)"rs=e-1 end="\n$"
|
||||
" notes
|
||||
@@ -219,6 +217,7 @@ hi def link sisu_sub_header_date Statement
|
||||
hi def link sisu_sub_header_publisher Statement
|
||||
hi def link sisu_sub_header_rights Statement
|
||||
hi def link sisu_sub_header_classify Statement
|
||||
hi def link sisu_sub_header_identifier Statement
|
||||
hi def link sisu_sub_header_original Statement
|
||||
hi def link sisu_sub_header_links Statement
|
||||
hi def link sisu_sub_header_notes Statement
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
|
||||
" Vim syntax file
|
||||
" Language: SQL, Adaptive Server Anywhere
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Last Change: 2012 Jan 23
|
||||
" Version: 12.0.1
|
||||
" Last Change: 2013 May 13
|
||||
" Version: 16.0.0
|
||||
|
||||
" Description: Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
|
||||
" Description: Updated to Adaptive Server Anywhere 16.0.0
|
||||
" Updated to Adaptive Server Anywhere 12.0.1 (including spatial data)
|
||||
" Updated to Adaptive Server Anywhere 11.0.1
|
||||
" Updated to Adaptive Server Anywhere 10.0.1
|
||||
" Updated to Adaptive Server Anywhere 9.0.2
|
||||
@@ -27,33 +27,34 @@ syn case ignore
|
||||
syn keyword sqlSpecial false null true
|
||||
|
||||
" common functions
|
||||
syn keyword sqlFunction count sum avg min max debug_eng isnull
|
||||
syn keyword sqlFunction greater lesser argn string ymd todate
|
||||
syn keyword sqlFunction totimestamp date today now utc_now
|
||||
syn keyword sqlFunction number identity years months weeks days
|
||||
syn keyword sqlFunction hours minutes seconds second minute hour
|
||||
syn keyword sqlFunction day month year dow date_format substr
|
||||
syn keyword sqlFunction substring byte_substr length byte_length
|
||||
syn keyword sqlFunction datalength ifnull evaluate list
|
||||
syn keyword sqlFunction soundex similar difference like_start
|
||||
syn keyword sqlFunction like_end regexp_compile
|
||||
syn keyword sqlFunction regexp_compile_patindex remainder abs
|
||||
syn keyword sqlFunction graphical_plan plan explanation ulplan
|
||||
syn keyword sqlFunction graphical_ulplan long_ulplan
|
||||
syn keyword sqlFunction short_ulplan rewrite watcomsql
|
||||
syn keyword sqlFunction transactsql dialect estimate
|
||||
syn keyword sqlFunction estimate_source index_estimate
|
||||
syn keyword sqlFunction experience_estimate traceback wsql_state
|
||||
syn keyword sqlFunction lang_message dateadd datediff datepart
|
||||
syn keyword sqlFunction datename dayname monthname quarter
|
||||
syn keyword sqlFunction tsequal hextoint inttohex rand textptr
|
||||
syn keyword sqlFunction rowid grouping stddev variance rank
|
||||
syn keyword sqlFunction dense_rank density percent_rank user_name
|
||||
syn keyword sqlFunction user_id str stuff char_length nullif
|
||||
syn keyword sqlFunction sortkey compare ts_index_statistics
|
||||
syn keyword sqlFunction ts_table_statistics isdate isnumeric
|
||||
syn keyword sqlFunction get_identity lookup newid uuidtostr
|
||||
syn keyword sqlFunction strtouuid varexists
|
||||
syn keyword sqlFunction abs argn avg bintohex bintostr
|
||||
syn keyword sqlFunction byte_length byte_substr char_length
|
||||
syn keyword sqlFunction compare count count_big datalength date
|
||||
syn keyword sqlFunction date_format dateadd datediff datename
|
||||
syn keyword sqlFunction datepart day dayname days debug_eng
|
||||
syn keyword sqlFunction dense_rank density dialect difference
|
||||
syn keyword sqlFunction dow estimate estimate_source evaluate
|
||||
syn keyword sqlFunction experience_estimate explanation
|
||||
syn keyword sqlFunction get_identity graphical_plan
|
||||
syn keyword sqlFunction graphical_ulplan greater grouping
|
||||
syn keyword sqlFunction hextobin hextoint hour hours identity
|
||||
syn keyword sqlFunction ifnull index_estimate inttohex isdate
|
||||
syn keyword sqlFunction isencrypted isnull isnumeric
|
||||
syn keyword sqlFunction lang_message length lesser like_end
|
||||
syn keyword sqlFunction like_start list long_ulplan lookup max
|
||||
syn keyword sqlFunction min minute minutes month monthname
|
||||
syn keyword sqlFunction months newid now nullif number
|
||||
syn keyword sqlFunction percent_rank plan quarter rand rank
|
||||
syn keyword sqlFunction regexp_compile regexp_compile_patindex
|
||||
syn keyword sqlFunction remainder rewrite rowid second seconds
|
||||
syn keyword sqlFunction short_ulplan similar sortkey soundex
|
||||
syn keyword sqlFunction stddev stack_trace str string strtobin strtouuid stuff
|
||||
syn keyword sqlFunction subpartition substr substring sum switchoffset sysdatetimeoffset
|
||||
syn keyword sqlFunction textptr todate todatetimeoffset today totimestamp traceback transactsql
|
||||
syn keyword sqlFunction ts_index_statistics ts_table_statistics
|
||||
syn keyword sqlFunction tsequal ulplan user_id user_name utc_now
|
||||
syn keyword sqlFunction uuidtostr varexists variance watcomsql
|
||||
syn keyword sqlFunction weeks wsql_state year years ymd
|
||||
|
||||
" 9.0.1 functions
|
||||
syn keyword sqlFunction acos asin atan atn2 cast ceiling convert cos cot
|
||||
@@ -473,31 +474,36 @@ syn keyword sqlFunction ST_ToPoint
|
||||
syn keyword sqlFunction ST_ToPolygon
|
||||
syn keyword sqlFunction ST_ToSurface
|
||||
|
||||
" Array functions 16.x
|
||||
syn keyword sqlFunction array array_agg array_max_cardinality trim_array
|
||||
syn keyword sqlFunction error_line error_message error_procedure
|
||||
syn keyword sqlFunction error_sqlcode error_sqlstate error_stack_trace
|
||||
|
||||
|
||||
" keywords
|
||||
syn keyword sqlKeyword absolute accent action active add address admin aes_decrypt
|
||||
syn keyword sqlKeyword after aggregate algorithm allow_dup_row allow allowed alter
|
||||
syn keyword sqlKeyword and angular ansi_substring any as append apply
|
||||
syn keyword sqlKeyword arbiter asc ascii ase
|
||||
syn keyword sqlKeyword assign at atan2 atomic attended
|
||||
syn keyword sqlKeyword audit auditing authorization axis
|
||||
syn keyword sqlKeyword absolute accent access account action active activate add address admin
|
||||
syn keyword sqlKeyword aes_decrypt after aggregate algorithm allow_dup_row allow allowed alter
|
||||
syn keyword sqlKeyword always and angular ansi_substring any as append apply
|
||||
syn keyword sqlKeyword arbiter array asc ascii ase
|
||||
syn keyword sqlKeyword assign at atan2 atomic attended
|
||||
syn keyword sqlKeyword audit auditing authentication authorization axis
|
||||
syn keyword sqlKeyword autoincrement autostop batch bcp before
|
||||
syn keyword sqlKeyword between bit_and bit_length bit_or bit_substr bit_xor
|
||||
syn keyword sqlKeyword blank blanks block
|
||||
syn keyword sqlKeyword both bottom unbounded breaker bufferpool
|
||||
syn keyword sqlKeyword build bulk by byte bytes cache calibrate calibration
|
||||
syn keyword sqlKeyword cancel capability cascade cast
|
||||
syn keyword sqlKeyword catalog ceil change changes char char_convert check checksum
|
||||
syn keyword sqlKeyword class classes client cmp
|
||||
syn keyword sqlKeyword cancel capability cardinality cascade cast
|
||||
syn keyword sqlKeyword catalog catch ceil change changes char char_convert
|
||||
syn keyword sqlKeyword check checkpointlog checksum class classes client cmp
|
||||
syn keyword sqlKeyword cluster clustered collation
|
||||
syn keyword sqlKeyword column columns
|
||||
syn keyword sqlKeyword command comments committed comparisons
|
||||
syn keyword sqlKeyword command comments committed commitid comparisons
|
||||
syn keyword sqlKeyword compatible component compressed compute computes
|
||||
syn keyword sqlKeyword concat configuration confirm conflict connection
|
||||
syn keyword sqlKeyword console consolidate consolidated
|
||||
syn keyword sqlKeyword constraint constraints content
|
||||
syn keyword sqlKeyword constraint constraints content
|
||||
syn keyword sqlKeyword convert coordinate coordinator copy count count_set_bits
|
||||
syn keyword sqlKeyword crc createtime cross cube cume_dist
|
||||
syn keyword sqlKeyword crc createtime critical cross cube cume_dist
|
||||
syn keyword sqlKeyword current cursor data data database
|
||||
syn keyword sqlKeyword current_timestamp current_user cycle
|
||||
syn keyword sqlKeyword databases datatype dba dbfile
|
||||
@@ -506,83 +512,86 @@ syn keyword sqlKeyword decrypted default defaults default_dbspace deferred
|
||||
syn keyword sqlKeyword definer definition
|
||||
syn keyword sqlKeyword delay deleting delimited dependencies desc
|
||||
syn keyword sqlKeyword description deterministic directory
|
||||
syn keyword sqlKeyword disable disabled disallow distinct do domain download duplicate
|
||||
syn keyword sqlKeyword dsetpass dttm dynamic each earth editproc ejb
|
||||
syn keyword sqlKeyword elimination ellipsoid
|
||||
syn keyword sqlKeyword else elseif empty enable encapsulated encrypted end
|
||||
syn keyword sqlKeyword encoding endif engine environment erase error escape escapes event
|
||||
syn keyword sqlKeyword disable disabled disallow distinct disksandbox disk_sandbox
|
||||
syn keyword sqlKeyword dn do domain download duplicate
|
||||
syn keyword sqlKeyword dsetpass dttm dynamic each earth editproc effective ejb
|
||||
syn keyword sqlKeyword elimination ellipsoid else elseif
|
||||
syn keyword sqlKeyword email empty enable encapsulated encrypted encryption end
|
||||
syn keyword sqlKeyword encoding endif engine environment erase error errors escape escapes event
|
||||
syn keyword sqlKeyword event_parameter every exception exclude excluded exclusive exec
|
||||
syn keyword sqlKeyword existing exists expanded expiry express exprtype extended_property
|
||||
syn keyword sqlKeyword external externlogin factor failover false
|
||||
syn keyword sqlKeyword fastfirstrow feature fieldproc file files filler
|
||||
syn keyword sqlKeyword fillfactor final finish first first_keyword first_value
|
||||
syn keyword sqlKeyword flattening
|
||||
syn keyword sqlKeyword following force foreign format forxml forxml_sep fp frame
|
||||
syn keyword sqlKeyword free freepage french fresh full function
|
||||
syn keyword sqlKeyword following force foreign format forjson forxml forxml_sep fp frame
|
||||
syn keyword sqlKeyword free freepage french fresh full function
|
||||
syn keyword sqlKeyword gb generic get_bit go global grid
|
||||
syn keyword sqlKeyword group handler hash having header hexadecimal
|
||||
syn keyword sqlKeyword hidden high history hg hng hold holdlock host
|
||||
syn keyword sqlKeyword hours http_body http_session_timeout id identified identity ignore
|
||||
syn keyword sqlKeyword ignore_dup_key ignore_dup_row immediate
|
||||
syn keyword sqlKeyword in inactiv inactive inactivity included increment incremental
|
||||
syn keyword sqlKeyword index index_enabled index_lparen indexonly info
|
||||
syn keyword sqlKeyword inline inner inout insensitive inserting
|
||||
syn keyword sqlKeyword instead integrated
|
||||
syn keyword sqlKeyword internal intersection into introduced inverse invoker
|
||||
syn keyword sqlKeyword index index_enabled index_lparen indexonly info information
|
||||
syn keyword sqlKeyword inheritance inline inner inout insensitive inserting
|
||||
syn keyword sqlKeyword instead
|
||||
syn keyword sqlKeyword internal intersection into introduced inverse invoker
|
||||
syn keyword sqlKeyword iq is isolation
|
||||
syn keyword sqlKeyword jar java java_location java_main_userid java_vm_options
|
||||
syn keyword sqlKeyword jconnect jdk join kb key keep kerberos language last
|
||||
syn keyword sqlKeyword jconnect jdk join json kb key keys keep language last
|
||||
syn keyword sqlKeyword last_keyword last_value lateral latitude
|
||||
syn keyword sqlKeyword ld left len linear lf ln level like
|
||||
syn keyword sqlKeyword limit local location log
|
||||
syn keyword sqlKeyword ld ldap left len linear lf ln level like
|
||||
syn keyword sqlKeyword limit local location log
|
||||
syn keyword sqlKeyword logging logical login logscan long longitude low lru ls
|
||||
syn keyword sqlKeyword main major manual mark
|
||||
syn keyword sqlKeyword match matched materialized max maxvalue maximum mb measure membership
|
||||
syn keyword sqlKeyword merge metadata methods minimum minor minutes minvalue mirror
|
||||
syn keyword sqlKeyword mode modify monitor move mru multiplex
|
||||
syn keyword sqlKeyword name named namespaces national native natural new next nextval
|
||||
syn keyword sqlKeyword main major manage manual mark master
|
||||
syn keyword sqlKeyword match matched materialized max maxvalue maximum mb measure median membership
|
||||
syn keyword sqlKeyword merge metadata methods migrate minimum minor minutes minvalue mirror
|
||||
syn keyword sqlKeyword mode modify monitor move mru multiplex
|
||||
syn keyword sqlKeyword name named namespaces national native natural new next nextval
|
||||
syn keyword sqlKeyword ngram no noholdlock nolock nonclustered none normal not
|
||||
syn keyword sqlKeyword notify null nullable_constant nulls
|
||||
syn keyword sqlKeyword object oem_string of off offline offset olap
|
||||
syn keyword sqlKeyword notify null nullable_constant nulls
|
||||
syn keyword sqlKeyword object objects oem_string of off offline offset olap
|
||||
syn keyword sqlKeyword old on online only openstring operator
|
||||
syn keyword sqlKeyword optimization optimizer option
|
||||
syn keyword sqlKeyword or order organization others out outer over
|
||||
syn keyword sqlKeyword or order ordinality organization others out outer over owner
|
||||
syn keyword sqlKeyword package packetsize padding page pages
|
||||
syn keyword sqlKeyword paglock parallel parameter parent part
|
||||
syn keyword sqlKeyword partition partitions partner password path pctfree
|
||||
syn keyword sqlKeyword perms plan planar policy polygon populate port postfilter preceding
|
||||
syn keyword sqlKeyword paglock parallel parameter parent part partial
|
||||
syn keyword sqlKeyword partition partitions partner password path pctfree
|
||||
syn keyword sqlKeyword permissions perms plan planar policy polygon populate port postfilter preceding
|
||||
syn keyword sqlKeyword precisionprefetch prefilter prefix preserve preview previous
|
||||
syn keyword sqlKeyword primary prior priority priqty private privileges procedure profile
|
||||
syn keyword sqlKeyword primary prior priority priqty private privilege privileges procedure profile profiling
|
||||
syn keyword sqlKeyword property_is_cumulative property_is_numeric public publication publish publisher
|
||||
syn keyword sqlKeyword quiesce quote quotes range readclientfile readcommitted reader readfile readonly
|
||||
syn keyword sqlKeyword readpast readuncommitted readwrite rebuild
|
||||
syn keyword sqlKeyword received recompile recover recursive references
|
||||
syn keyword sqlKeyword referencing regex regexp regexp_substr relative relocate
|
||||
syn keyword sqlKeyword rename repeatable repeatableread replicate
|
||||
syn keyword sqlKeyword rename repeatable repeatableread replicate replication
|
||||
syn keyword sqlKeyword requests request_timeout required rereceive resend reserve reset
|
||||
syn keyword sqlKeyword resizing resolve resource respect restart
|
||||
syn keyword sqlKeyword restrict result retain
|
||||
syn keyword sqlKeyword returns reverse right role
|
||||
syn keyword sqlKeyword rollup root row row_number rowlock rows
|
||||
syn keyword sqlKeyword restrict result retain retries
|
||||
syn keyword sqlKeyword returns reverse right role roles
|
||||
syn keyword sqlKeyword rollup root row row_number rowlock rows rowtype
|
||||
syn keyword sqlKeyword sa_index_hash sa_internal_fk_verify sa_internal_termbreak
|
||||
syn keyword sqlKeyword sa_order_preserving_hash sa_order_preserving_hash_big sa_order_preserving_hash_prefix
|
||||
syn keyword sqlKeyword scale schedule schema scope scripted scroll seconds secqty security
|
||||
syn keyword sqlKeyword sa_file_free_pages sa_internal_type_from_catalog sa_internal_valid_hash
|
||||
syn keyword sqlKeyword sa_internal_validate_value sa_json_element
|
||||
syn keyword sqlKeyword scale schedule schema scope script scripted scroll search seconds secqty security
|
||||
syn keyword sqlKeyword semi send sensitive sent sequence serializable
|
||||
syn keyword sqlKeyword server server session set_bit set_bits sets
|
||||
syn keyword sqlKeyword server severity session set_bit set_bits sets
|
||||
syn keyword sqlKeyword shapefile share side simple since site size skip
|
||||
syn keyword sqlKeyword snap snapshot soapheader soap_header
|
||||
syn keyword sqlKeyword snap snapshot soapheader soap_header
|
||||
syn keyword sqlKeyword spatial split some sorted_data
|
||||
syn keyword sqlKeyword sql sqlcode sqlid sqlflagger sqlstate sqrt square
|
||||
syn keyword sqlKeyword stacker stale statement statistics status stddev_pop stddev_samp
|
||||
syn keyword sqlKeyword stacker stale state statement statistics status stddev_pop stddev_samp
|
||||
syn keyword sqlKeyword stemmer stogroup stoplist storage store
|
||||
syn keyword sqlKeyword strip stripesizekb striping subpages subscribe subscription
|
||||
syn keyword sqlKeyword subtransaction suser_id suser_name synchronization
|
||||
syn keyword sqlKeyword subtransaction suser_id suser_name suspend synchronization
|
||||
syn keyword sqlKeyword syntax_error table tables tablock
|
||||
syn keyword sqlKeyword tablockx tb temp template temporary term then ties
|
||||
syn keyword sqlKeyword timezone timeout to to_char to_nchar tolerance top
|
||||
syn keyword sqlKeyword traced_plan tracing
|
||||
syn keyword sqlKeyword transfer transform transaction transactional treat tries
|
||||
syn keyword sqlKeyword true tsequal type tune uncommitted unconditionally
|
||||
syn keyword sqlKeyword tablockx target tb temp template temporary term then ties
|
||||
syn keyword sqlKeyword timezone timeout tls to to_char to_nchar tolerance top
|
||||
syn keyword sqlKeyword trace traced_plan tracing
|
||||
syn keyword sqlKeyword transfer transform transaction transactional treat tries
|
||||
syn keyword sqlKeyword true try tsequal type tune uncommitted unconditionally
|
||||
syn keyword sqlKeyword unenforced unicode unique unistr unit unknown unlimited unload
|
||||
syn keyword sqlKeyword unpartition unquiesce updatetime updating updlock upgrade upload
|
||||
syn keyword sqlKeyword upper usage use user
|
||||
@@ -593,14 +602,14 @@ syn keyword sqlKeyword verify versions view virtual wait
|
||||
syn keyword sqlKeyword warning wd web when where with with_auto
|
||||
syn keyword sqlKeyword with_auto with_cube with_rollup without
|
||||
syn keyword sqlKeyword with_lparen within word work workload write writefile
|
||||
syn keyword sqlKeyword writeclientfile writer writers writeserver xlock
|
||||
syn keyword sqlKeyword zeros zone
|
||||
" XML
|
||||
syn keyword sqlKeyword writeclientfile writer writers writeserver xlock
|
||||
syn keyword sqlKeyword war xml zeros zone
|
||||
" XML
|
||||
syn keyword sqlKeyword raw auto elements explicit
|
||||
" HTTP support
|
||||
syn keyword sqlKeyword authorization secure url service next_soap_header
|
||||
" HTTP 9.0.2 new procedure keywords
|
||||
syn keyword sqlKeyword namespace certificate clientport proxy
|
||||
syn keyword sqlKeyword namespace certificate certificates clientport proxy trusted_certificates_file
|
||||
" OLAP support 9.0.0
|
||||
syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept
|
||||
syn keyword sqlKeyword regr_count regr_r2 regr_avgx regr_avgy
|
||||
@@ -610,6 +619,10 @@ syn keyword sqlKeyword regr_sxx regr_syy regr_sxy
|
||||
syn keyword sqlKeyword character dec options proc reference
|
||||
syn keyword sqlKeyword subtrans tran syn keyword
|
||||
|
||||
" Login Mode Options
|
||||
syn keyword sqlKeywordLogin standard integrated kerberos LDAPUA
|
||||
syn keyword sqlKeywordLogin cloudadmin mixed
|
||||
|
||||
" Spatial Predicates
|
||||
syn keyword sqlKeyword ST_Contains
|
||||
syn keyword sqlKeyword ST_ContainsFilter
|
||||
@@ -692,9 +705,9 @@ syn keyword sqlKeyword ST_LinearUnHash
|
||||
syn keyword sqlOperator in any some all between exists
|
||||
syn keyword sqlOperator like escape not is and or
|
||||
syn keyword sqlOperator minus
|
||||
syn keyword sqlOperator prior distinct
|
||||
syn keyword sqlOperator prior distinct unnest
|
||||
|
||||
syn keyword sqlStatement allocate alter attach backup begin break call case
|
||||
syn keyword sqlStatement allocate alter attach backup begin break call case catch
|
||||
syn keyword sqlStatement checkpoint clear close comment commit configure connect
|
||||
syn keyword sqlStatement continue create deallocate declare delete describe
|
||||
syn keyword sqlStatement detach disconnect drop except execute exit explain fetch
|
||||
@@ -705,7 +718,7 @@ syn keyword sqlStatement prepare print put raiserror read readtext refresh relea
|
||||
syn keyword sqlStatement remote remove reorganize resignal restore resume
|
||||
syn keyword sqlStatement return revoke rollback save savepoint select
|
||||
syn keyword sqlStatement set setuser signal start stop synchronize
|
||||
syn keyword sqlStatement system trigger truncate union unload update
|
||||
syn keyword sqlStatement system trigger truncate try union unload update
|
||||
syn keyword sqlStatement validate waitfor whenever while window writetext
|
||||
|
||||
|
||||
@@ -715,7 +728,7 @@ syn keyword sqlType float int integer numeric
|
||||
syn keyword sqlType smallint tinyint real
|
||||
syn keyword sqlType money smallmoney
|
||||
syn keyword sqlType date datetime datetimeoffset smalldatetime time timestamp
|
||||
syn keyword sqlType binary image varbinary uniqueidentifier
|
||||
syn keyword sqlType binary image varray varbinary uniqueidentifier
|
||||
syn keyword sqlType unsigned
|
||||
" Spatial types
|
||||
syn keyword sqlType st_geometry st_point st_curve st_surface st_geomcollection
|
||||
@@ -736,8 +749,10 @@ syn keyword sqlOption Ansi_update_constraints
|
||||
syn keyword sqlOption Ansinull
|
||||
syn keyword sqlOption Auditing
|
||||
syn keyword sqlOption Auditing_options
|
||||
syn keyword sqlOption Auto_commit_on_create_local_temp_index
|
||||
syn keyword sqlOption Background_priority
|
||||
syn keyword sqlOption Blocking
|
||||
syn keyword sqlOption Blocking_others_timeout
|
||||
syn keyword sqlOption Blocking_timeout
|
||||
syn keyword sqlOption Chained
|
||||
syn keyword sqlOption Checkpoint_time
|
||||
@@ -754,6 +769,7 @@ syn keyword sqlOption Cooperative_commits
|
||||
syn keyword sqlOption Database_authentication
|
||||
syn keyword sqlOption Date_format
|
||||
syn keyword sqlOption Date_order
|
||||
syn keyword sqlOption db_publisher
|
||||
syn keyword sqlOption Debug_messages
|
||||
syn keyword sqlOption Dedicated_task
|
||||
syn keyword sqlOption Default_dbspace
|
||||
@@ -764,14 +780,18 @@ syn keyword sqlOption Divide_by_zero_error
|
||||
syn keyword sqlOption Escape_character
|
||||
syn keyword sqlOption Exclude_operators
|
||||
syn keyword sqlOption Extended_join_syntax
|
||||
syn keyword sqlOption Extern_login_credentials
|
||||
syn keyword sqlOption Fire_triggers
|
||||
syn keyword sqlOption First_day_of_week
|
||||
syn keyword sqlOption For_xml_null_treatment
|
||||
syn keyword sqlOption Force_view_creation
|
||||
syn keyword sqlOption Global_database_id
|
||||
syn keyword sqlOption Http_session_timeout
|
||||
syn keyword sqlOption Http_connection_pool_basesize
|
||||
syn keyword sqlOption Http_connection_pool_timeout
|
||||
syn keyword sqlOption Integrated_server_name
|
||||
syn keyword sqlOption Isolation_level
|
||||
syn keyword sqlOption Java_class_path
|
||||
syn keyword sqlOption Java_location
|
||||
syn keyword sqlOption Java_main_userid
|
||||
syn keyword sqlOption Java_vm_options
|
||||
@@ -790,6 +810,7 @@ syn keyword sqlOption Max_recursive_iterations
|
||||
syn keyword sqlOption Max_statement_count
|
||||
syn keyword sqlOption Max_temp_space
|
||||
syn keyword sqlOption Min_password_length
|
||||
syn keyword sqlOption Min_role_admins
|
||||
syn keyword sqlOption Nearest_century
|
||||
syn keyword sqlOption Non_keywords
|
||||
syn keyword sqlOption Odbc_describe_binary_as_varbinary
|
||||
@@ -807,6 +828,7 @@ syn keyword sqlOption Prefetch
|
||||
syn keyword sqlOption Preserve_source_format
|
||||
syn keyword sqlOption Prevent_article_pkey_update
|
||||
syn keyword sqlOption Priority
|
||||
syn keyword sqlOption Progress_messages
|
||||
syn keyword sqlOption Query_mem_timeout
|
||||
syn keyword sqlOption Quoted_identifier
|
||||
syn keyword sqlOption Read_past_deleted
|
||||
@@ -814,6 +836,7 @@ syn keyword sqlOption Recovery_time
|
||||
syn keyword sqlOption Remote_idle_timeout
|
||||
syn keyword sqlOption Replicate_all
|
||||
syn keyword sqlOption Request_timeout
|
||||
syn keyword sqlOption Reserved_keywords
|
||||
syn keyword sqlOption Return_date_time_as_string
|
||||
syn keyword sqlOption Rollback_on_deadlock
|
||||
syn keyword sqlOption Row_counts
|
||||
@@ -823,6 +846,12 @@ syn keyword sqlOption Sort_collation
|
||||
syn keyword sqlOption Sql_flagger_error_level
|
||||
syn keyword sqlOption Sql_flagger_warning_level
|
||||
syn keyword sqlOption String_rtruncation
|
||||
syn keyword sqlOption st_geometry_asbinary_format
|
||||
syn keyword sqlOption st_geometry_astext_format
|
||||
syn keyword sqlOption st_geometry_asxml_format
|
||||
syn keyword sqlOption st_geometry_describe_type
|
||||
syn keyword sqlOption st_geometry_interpolation
|
||||
syn keyword sqlOption st_geometry_on_invalid
|
||||
syn keyword sqlOption Subsume_row_locks
|
||||
syn keyword sqlOption Suppress_tds_debugging
|
||||
syn keyword sqlOption Synchronize_mirror_on_commit
|
||||
@@ -831,6 +860,7 @@ syn keyword sqlOption Temp_space_limit_check
|
||||
syn keyword sqlOption Time_format
|
||||
syn keyword sqlOption Time_zone_adjustment
|
||||
syn keyword sqlOption Timestamp_format
|
||||
syn keyword sqlOption Timestamp_with_time_zone_format
|
||||
syn keyword sqlOption Truncate_timestamp_values
|
||||
syn keyword sqlOption Tsql_outer_joins
|
||||
syn keyword sqlOption Tsql_variables
|
||||
@@ -842,6 +872,7 @@ syn keyword sqlOption Uuid_has_hyphens
|
||||
syn keyword sqlOption Verify_password_function
|
||||
syn keyword sqlOption Wait_for_commit
|
||||
syn keyword sqlOption Webservice_namespace_host
|
||||
syn keyword sqlOption Webservice_sessionid_name
|
||||
|
||||
" Strings and characters:
|
||||
syn region sqlString start=+"+ end=+"+ contains=@Spell
|
||||
@@ -859,32 +890,18 @@ syn sync ccomment sqlComment
|
||||
syn sync ccomment sqlDashComment
|
||||
syn sync ccomment sqlSlashComment
|
||||
|
||||
" 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_sql_syn_inits")
|
||||
if version < 508
|
||||
let did_sql_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
endif
|
||||
|
||||
HiLink sqlDashComment Comment
|
||||
HiLink sqlSlashComment Comment
|
||||
HiLink sqlMultiComment Comment
|
||||
HiLink sqlNumber Number
|
||||
HiLink sqlOperator Operator
|
||||
HiLink sqlSpecial Special
|
||||
HiLink sqlKeyword Keyword
|
||||
HiLink sqlStatement Statement
|
||||
HiLink sqlString String
|
||||
HiLink sqlType Type
|
||||
HiLink sqlFunction Function
|
||||
HiLink sqlOption PreProc
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
hi def link sqlDashComment Comment
|
||||
hi def link sqlSlashComment Comment
|
||||
hi def link sqlMultiComment Comment
|
||||
hi def link sqlNumber Number
|
||||
hi def link sqlOperator Operator
|
||||
hi def link sqlSpecial Special
|
||||
hi def link sqlKeyword Keyword
|
||||
hi def link sqlStatement Statement
|
||||
hi def link sqlString String
|
||||
hi def link sqlType Type
|
||||
hi def link sqlFunction Function
|
||||
hi def link sqlOption PreProc
|
||||
|
||||
let b:current_syntax = "sqlanywhere"
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Mar 11, 2013
|
||||
" Version: 77
|
||||
" Version: 78
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -55,11 +55,20 @@ endif
|
||||
if exists("g:tex_no_error") && g:tex_no_error
|
||||
let s:tex_no_error= 1
|
||||
endif
|
||||
if exists("g:tex_fast") && g:tex_fast
|
||||
let s:tex_no_error= 1
|
||||
endif
|
||||
if exists("g:tex_tex") && !exists("g:tex_no_error")
|
||||
|
||||
" by default, enable all region-based highlighting
|
||||
let s:tex_fast= "bcmMprsSvV"
|
||||
if exists("g:tex_fast")
|
||||
if type(g:tex_fast) != 1
|
||||
" g:tex_fast exists and is not a string, so
|
||||
" turn off all optional region-based highighting
|
||||
let s:tex_fast= ""
|
||||
else
|
||||
let s:tex_fast= g:tex_fast
|
||||
endif
|
||||
let s:tex_no_error= 1
|
||||
else
|
||||
let s:tex_fast= "bcmMprsSvV"
|
||||
endif
|
||||
|
||||
" let user determine which classes of concealment will be supported
|
||||
@@ -159,7 +168,7 @@ if !exists("tex_no_math")
|
||||
endif
|
||||
|
||||
" Try to flag {} and () mismatches: {{{1
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
if s:tex_fast =~ 'm'
|
||||
if !exists("s:tex_no_error")
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError,@NoSpell
|
||||
@@ -176,7 +185,7 @@ endif
|
||||
if !exists("s:tex_no_error")
|
||||
syn match texError "[}\])]"
|
||||
endif
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if s:tex_fast =~ 'M'
|
||||
if !exists("tex_no_math")
|
||||
if !exists("s:tex_no_error")
|
||||
syn match texMathError "}" contained
|
||||
@@ -220,14 +229,14 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
||||
|
||||
" \begin{}/\end{} section markers: {{{1
|
||||
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
if s:tex_fast =~ 'm'
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
|
||||
endif
|
||||
|
||||
" \documentclass, \documentstyle, \usepackage: {{{1
|
||||
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
if s:tex_fast =~ 'm'
|
||||
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
|
||||
endif
|
||||
|
||||
@@ -241,7 +250,7 @@ syn match texInput "\\input\s\+[a-zA-Z/.0-9_^]\+"hs=s+7 contains=texStatemen
|
||||
syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
|
||||
syn match texInputCurlies "[{}]" contained
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'm'
|
||||
if s:tex_fast =~ 'm'
|
||||
syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment
|
||||
endif
|
||||
|
||||
@@ -309,7 +318,7 @@ syn match texSpaceCode "\\\(math\|cat\|del\|lc\|sf\|uc\)code`"me=e-1 nextgroup=
|
||||
syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
|
||||
|
||||
" Sections, subsections, etc: {{{1
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'p'
|
||||
if s:tex_fast =~ 'p'
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
@@ -362,7 +371,7 @@ if !exists("g:tex_fast") || g:tex_fast =~ 'p'
|
||||
endif
|
||||
|
||||
" particular support for bold and italic {{{1
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'b'
|
||||
if s:tex_fast =~ 'b'
|
||||
if s:tex_conceal =~ 'b'
|
||||
syn region texBoldStyle matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
|
||||
syn region texBoldItalStyle matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
|
||||
@@ -372,7 +381,7 @@ if !exists("g:tex_fast") || g:tex_fast =~ 'b'
|
||||
endif
|
||||
|
||||
" Bad Math (mismatched): {{{1
|
||||
if !exists("tex_no_math")
|
||||
if !exists("g:tex_no_math") && !exists("s:tex_no_error")
|
||||
syn match texBadMath "\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
|
||||
syn match texBadMath "\\end\s*{\s*\(align\|alignat\|displaymath\|displaymath\|eqnarray\|equation\|flalign\|gather\|math\|multline\|xalignat\)\*\=\s*}"
|
||||
syn match texBadMath "\\[\])]"
|
||||
@@ -393,7 +402,7 @@ if !exists("tex_no_math")
|
||||
let foldcmd= ""
|
||||
endif
|
||||
exe "syn cluster texMathZones add=".grpname
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if s:tex_fast =~ 'M'
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
@@ -403,7 +412,7 @@ if !exists("tex_no_math")
|
||||
let grpname = "texMathZone".a:sfx.'S'
|
||||
let syncname = "texSyncMathZone".a:sfx.'S'
|
||||
exe "syn cluster texMathZones add=".grpname
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if s:tex_fast =~ 'M'
|
||||
exe 'syn region '.grpname.' start='."'".'\\begin\s*{\s*'.a:mathzone.'\*\s*}'."'".' end='."'".'\\end\s*{\s*'.a:mathzone.'\*\s*}'."'".' keepend contains=@texMathZoneGroup'.foldcmd
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
exe 'syn sync match '.syncname.' grouphere '.grpname.' "\\begin\s*{\s*'.a:mathzone.'\*\s*}"'
|
||||
@@ -427,7 +436,7 @@ if !exists("tex_no_math")
|
||||
call TexNewMathZone("L","xxalignat",0)
|
||||
|
||||
" Inline Math Zones: {{{2
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if s:tex_fast =~ 'M'
|
||||
if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~ 'd'
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
|
||||
@@ -445,7 +454,7 @@ if !exists("tex_no_math")
|
||||
syn match texMathOper "[_^=]" contained
|
||||
|
||||
" Text Inside Math Zones: {{{2
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'M'
|
||||
if s:tex_fast =~ 'M'
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texMathText matchgroup=texStatement start='\\\(\(inter\)\=text\|mbox\)\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
@@ -540,13 +549,13 @@ else
|
||||
" allows syntax-folding of 2 or more contiguous comment lines
|
||||
" single-line comments are not folded
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'c'
|
||||
if s:tex_fast =~ 'c'
|
||||
syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' fold
|
||||
syn region texNoSpell contained fold matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
else
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'c'
|
||||
if s:tex_fast =~ 'c'
|
||||
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
endif
|
||||
@@ -555,7 +564,7 @@ endif
|
||||
" Separate lines used for verb` and verb# so that the end conditions {{{1
|
||||
" will appropriately terminate.
|
||||
" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'v'
|
||||
if s:tex_fast =~ 'v'
|
||||
if exists("g:tex_verbspell") && g:tex_verbspell
|
||||
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
|
||||
" listings package:
|
||||
@@ -586,7 +595,7 @@ if !exists("g:tex_fast") || g:tex_fast =~ 'v'
|
||||
endif
|
||||
|
||||
" Tex Reference Zones: {{{1
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'r'
|
||||
if s:tex_fast =~ 'r'
|
||||
syn region texZone matchgroup=texStatement start="@samp{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\nocite{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
syn region texRefZone matchgroup=texStatement start="\\bibliography{" end="}\|%stopzone\>" contains=@texRefGroup
|
||||
@@ -600,13 +609,13 @@ syn match texRefZone '\\cite\%([tp]\*\=\)\=' nextgroup=texRefOption,texCite
|
||||
|
||||
" Handle newcommand, newenvironment : {{{1
|
||||
syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'V'
|
||||
if s:tex_fast =~ 'V'
|
||||
syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
|
||||
syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
|
||||
syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup
|
||||
endif
|
||||
syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'V'
|
||||
if s:tex_fast =~ 'V'
|
||||
syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
|
||||
syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
|
||||
syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
|
||||
@@ -632,11 +641,11 @@ syn match texString "\(``\|''\|,,\)"
|
||||
|
||||
" makeatletter -- makeatother sections
|
||||
if !exists("s:tex_no_error")
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'S'
|
||||
if s:tex_fast =~ 'S'
|
||||
syn region texStyle matchgroup=texStatement start='\\makeatletter' end='\\makeatother' contains=@texStyleGroup contained
|
||||
endif
|
||||
syn match texStyleStatement "\\[a-zA-Z@]\+" contained
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 'S'
|
||||
if s:tex_fast =~ 'S'
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
|
||||
syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
|
||||
endif
|
||||
@@ -1014,7 +1023,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
|
||||
" Superscripts/Subscripts {{{2
|
||||
if s:tex_conceal =~ 's'
|
||||
if !exists("g:tex_fast") || g:tex_fast =~ 's'
|
||||
if s:tex_fast =~ 's'
|
||||
syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
|
||||
endif
|
||||
@@ -1227,7 +1236,7 @@ if did_tex_syntax_inits == 1
|
||||
let did_tex_syntax_inits= 2
|
||||
" TeX highlighting groups which should share similar highlighting
|
||||
if !exists("s:tex_no_error")
|
||||
if !exists("tex_no_math")
|
||||
if !exists("g:tex_no_math")
|
||||
HiLink texBadMath texError
|
||||
HiLink texMathDelimBad texError
|
||||
HiLink texMathError texError
|
||||
|
||||
210
runtime/syntax/tt2.vim
Normal file
210
runtime/syntax/tt2.vim
Normal file
@@ -0,0 +1,210 @@
|
||||
" Language: TT2 (Perl Template Toolkit)
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Author: Moriki, Atsushi <4woods+vim@gmail.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-05-12
|
||||
"
|
||||
" Instration:
|
||||
" put tt2.vim and tt2html.vim in to your syntax diretory.
|
||||
"
|
||||
" add below in your filetype.vim.
|
||||
" au BufNewFile,BufRead *.tt2 setf tt2
|
||||
" or
|
||||
" au BufNewFile,BufRead *.tt2
|
||||
" \ if ( getline(1) . getline(2) . getline(3) =~ '<\chtml' |
|
||||
" \ && getline(1) . getline(2) . getline(3) !~ '<[%?]' ) |
|
||||
" \ || getline(1) =~ '<!DOCTYPE HTML' |
|
||||
" \ setf tt2html |
|
||||
" \ else |
|
||||
" \ setf tt2 |
|
||||
" \ endif
|
||||
"
|
||||
" define START_TAG, END_TAG
|
||||
" "ASP"
|
||||
" :let b:tt2_syn_tags = '<% %>'
|
||||
" "PHP"
|
||||
" :let b:tt2_syn_tags = '<? ?>'
|
||||
" "TT2 and HTML"
|
||||
" :let b:tt2_syn_tags = '\[% %] <!-- -->'
|
||||
"
|
||||
" Changes:
|
||||
" 0.1.3
|
||||
" Changed fileformat from 'dos' to 'unix'
|
||||
" Deleted 'echo' that print obstructive message
|
||||
" 0.1.2
|
||||
" Added block comment syntax
|
||||
" e.g. [%# COMMENT
|
||||
" COMMENT TOO %]
|
||||
" [%# IT'S SAFE %] HERE IS OUTSIDE OF TT2 DIRECTIVE
|
||||
" [% # WRONG!! %] HERE STILL BE COMMENT
|
||||
" 0.1.1
|
||||
" Release
|
||||
" 0.1.0
|
||||
" Internal
|
||||
"
|
||||
" License: follow Vim :help uganda
|
||||
"
|
||||
|
||||
if !exists("b:tt2_syn_tags")
|
||||
let b:tt2_syn_tags = '\[% %]'
|
||||
"let b:tt2_syn_tags = '\[% %] \[\* \*]'
|
||||
endif
|
||||
|
||||
if !exists("b:tt2_syn_inc_perl")
|
||||
let b:tt2_syn_inc_perl = 1
|
||||
endif
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn case match
|
||||
|
||||
syn cluster tt2_top_cluster contains=tt2_perlcode,tt2_tag_region
|
||||
|
||||
" TT2 TAG Region
|
||||
if exists("b:tt2_syn_tags")
|
||||
|
||||
let s:str = b:tt2_syn_tags . ' '
|
||||
let s:str = substitute(s:str,'^ \+','','g')
|
||||
let s:str = substitute(s:str,' \+',' ','g')
|
||||
|
||||
while stridx(s:str,' ') > 0
|
||||
|
||||
let s:st = strpart(s:str,0,stridx(s:str,' '))
|
||||
let s:str = substitute(s:str,'[^ ]* ','',"")
|
||||
|
||||
let s:ed = strpart(s:str,0,stridx(s:str,' '))
|
||||
let s:str = substitute(s:str,'[^ ]* ','',"")
|
||||
|
||||
exec 'syn region tt2_tag_region '.
|
||||
\ 'matchgroup=tt2_tag '.
|
||||
\ 'start=+\(' . s:st .'\)[-]\=+ '.
|
||||
\ 'end=+[-]\=\(' . s:ed . '\)+ '.
|
||||
\ 'contains=@tt2_statement_cluster keepend extend'
|
||||
|
||||
exec 'syn region tt2_commentblock_region '.
|
||||
\ 'matchgroup=tt2_tag '.
|
||||
\ 'start=+\(' . s:st .'\)[-]\=\(#\)\@=+ '.
|
||||
\ 'end=+[-]\=\(' . s:ed . '\)+ '.
|
||||
\ 'keepend extend'
|
||||
|
||||
"Include Perl syntax when 'PERL' 'RAWPERL' block
|
||||
if b:tt2_syn_inc_perl
|
||||
syn include @Perl $VIMRUNTIME/syntax/perl.vim
|
||||
exec 'syn region tt2_perlcode '.
|
||||
\ 'start=+\(\(RAW\)\=PERL\s*[-]\=' . s:ed . '\(\n\)\=\)\@<=+ ' .
|
||||
\ 'end=+' . s:st . '[-]\=\s*END+me=s-1 contains=@Perl keepend'
|
||||
endif
|
||||
|
||||
"echo 'TAGS ' . s:st . ' ' . s:ed
|
||||
unlet s:st
|
||||
unlet s:ed
|
||||
endwhile
|
||||
|
||||
else
|
||||
|
||||
syn region tt2_tag_region
|
||||
\ matchgroup=tt2_tag
|
||||
\ start=+\(\[%\)[-]\=+
|
||||
\ end=+[-]\=%\]+
|
||||
\ contains=@tt2_statement_cluster keepend extend
|
||||
|
||||
syn region tt2_commentblock_region
|
||||
\ matchgroup=tt2_tag
|
||||
\ start=+\(\[%\)[-]\=#+
|
||||
\ end=+[-]\=%\]+
|
||||
\ keepend extend
|
||||
|
||||
"Include Perl syntax when 'PERL' 'RAWPERL' block
|
||||
if b:tt2_syn_inc_perl
|
||||
syn include @Perl $VIMRUNTIME/syntax/perl.vim
|
||||
syn region tt2_perlcode
|
||||
\ start=+\(\(RAW\)\=PERL\s*[-]\=%]\(\n\)\=\)\@<=+
|
||||
\ end=+\[%[-]\=\s*END+me=s-1
|
||||
\ contains=@Perl keepend
|
||||
endif
|
||||
endif
|
||||
|
||||
" Directive
|
||||
syn keyword tt2_directive contained
|
||||
\ GET CALL SET DEFAULT DEBUG
|
||||
\ LAST NEXT BREAK STOP BLOCK
|
||||
\ IF IN UNLESS ELSIF FOR FOREACH WHILE SWITCH CASE
|
||||
\ USE PLUGIN MACRO META
|
||||
\ TRY FINAL RETURN LAST
|
||||
\ CLEAR TO STEP AND OR NOT MOD DIV
|
||||
\ ELSE PERL RAWPERL END
|
||||
syn match tt2_directive +|+ contained
|
||||
syn keyword tt2_directive contained nextgroup=tt2_string_q,tt2_string_qq,tt2_blockname skipwhite skipempty
|
||||
\ INSERT INCLUDE PROCESS WRAPPER FILTER
|
||||
\ THROW CATCH
|
||||
syn keyword tt2_directive contained nextgroup=tt2_def_tag skipwhite skipempty
|
||||
\ TAGS
|
||||
|
||||
syn match tt2_def_tag "\S\+\s\+\S\+\|\<\w\+\>" contained
|
||||
|
||||
syn match tt2_variable +\I\w*+ contained
|
||||
syn match tt2_operator "[+*/%:?-]" contained
|
||||
syn match tt2_operator "\<\(mod\|div\|or\|and\|not\)\>" contained
|
||||
syn match tt2_operator "[!=<>]=\=\|&&\|||" contained
|
||||
syn match tt2_operator "\(\s\)\@<=_\(\s\)\@=" contained
|
||||
syn match tt2_operator "=>\|," contained
|
||||
syn match tt2_deref "\([[:alnum:]_)\]}]\s*\)\@<=\." contained
|
||||
syn match tt2_comment +#.*$+ contained extend
|
||||
syn match tt2_func +\<\I\w*\(\s*(\)\@=+ contained nextgroup=tt2_bracket_r skipempty skipwhite
|
||||
"
|
||||
syn region tt2_bracket_r start=+(+ end=+)+ contained contains=@tt2_statement_cluster keepend extend
|
||||
syn region tt2_bracket_b start=+\[+ end=+]+ contained contains=@tt2_statement_cluster keepend extend
|
||||
syn region tt2_bracket_b start=+{+ end=+}+ contained contains=@tt2_statement_cluster keepend extend
|
||||
|
||||
syn region tt2_string_qq start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable keepend extend
|
||||
syn region tt2_string_q start=+'+ end=+'+ skip=+\\'+ contained keepend extend
|
||||
|
||||
syn match tt2_ivariable +\$\I\w*\>\(\.\I\w*\>\)*+ contained
|
||||
syn match tt2_ivariable +\${\I\w*\>\(\.\I\w*\>\)*}+ contained
|
||||
|
||||
syn match tt2_number "\d\+" contained
|
||||
syn match tt2_number "\d\+\.\d\+" contained
|
||||
syn match tt2_number "0x\x\+" contained
|
||||
syn match tt2_number "0\o\+" contained
|
||||
|
||||
syn match tt2_blockname "\f\+" contained nextgroup=tt2_blockname_joint skipwhite skipempty
|
||||
syn match tt2_blockname "$\w\+" contained contains=tt2_ivariable nextgroup=tt2_blockname_joint skipwhite skipempty
|
||||
syn region tt2_blockname start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable nextgroup=tt2_blockname_joint keepend skipwhite skipempty
|
||||
syn region tt2_blockname start=+'+ end=+'+ skip=+\\'+ contained nextgroup=tt2_blockname_joint keepend skipwhite skipempty
|
||||
syn match tt2_blockname_joint "+" contained nextgroup=tt2_blockname skipwhite skipempty
|
||||
|
||||
syn cluster tt2_statement_cluster contains=tt2_directive,tt2_variable,tt2_operator,tt2_string_q,tt2_string_qq,tt2_deref,tt2_comment,tt2_func,tt2_bracket_b,tt2_bracket_r,tt2_number
|
||||
|
||||
" Synchronizing
|
||||
syn sync minlines=50
|
||||
|
||||
hi def link tt2_tag Type
|
||||
hi def link tt2_tag_region Type
|
||||
hi def link tt2_commentblock_region Comment
|
||||
hi def link tt2_directive Statement
|
||||
hi def link tt2_variable Identifier
|
||||
hi def link tt2_ivariable Identifier
|
||||
hi def link tt2_operator Statement
|
||||
hi def link tt2_string_qq String
|
||||
hi def link tt2_string_q String
|
||||
hi def link tt2_blockname String
|
||||
hi def link tt2_comment Comment
|
||||
hi def link tt2_func Function
|
||||
hi def link tt2_number Number
|
||||
|
||||
if exists("b:tt2_syn_tags")
|
||||
unlet b:tt2_syn_tags
|
||||
endif
|
||||
|
||||
let b:current_syntax = "tt2"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:ts=4:sw=4
|
||||
20
runtime/syntax/tt2html.vim
Normal file
20
runtime/syntax/tt2html.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Language: TT2 embedded with HTML
|
||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||
" Author: Moriki, Atsushi <4woods+vim@gmail.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2010-07-21
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! syntax/html.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
runtime! syntax/tt2.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn cluster htmlPreProc add=@tt2_top_cluster
|
||||
|
||||
let b:current_syntax = "tt2html"
|
||||
20
runtime/syntax/tt2js.vim
Normal file
20
runtime/syntax/tt2js.vim
Normal file
@@ -0,0 +1,20 @@
|
||||
" Language: TT2 embedded with Javascript
|
||||
" Maintainer: Andy Lester <andy@petdance.com>
|
||||
" Author: Yates, Peter <pd.yates@gmail.com>
|
||||
" Homepage: http://github.com/vim-perl/vim-perl
|
||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||
" Last Change: 2013-04-10
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! syntax/javascript.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
runtime! syntax/tt2.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn cluster javascriptPreProc add=@tt2_top_cluster
|
||||
|
||||
let b:current_syntax = "tt2js"
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Motif UIL (User Interface Language)
|
||||
" Maintainer: Thomas Koehler <jean-luc@picard.franken.de>
|
||||
" Last Change: 2012 May 14
|
||||
" Last Change: 2013 May 23
|
||||
" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
@@ -25,11 +25,11 @@ syn keyword uilTodo contained TODO
|
||||
syn match uilSpecial contained "\\\d\d\d\|\\."
|
||||
syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,uilSpecial
|
||||
syn match uilCharacter "'[^\\]'"
|
||||
syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=@Spell,uilSpecial
|
||||
syn region uilString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,uilSpecial
|
||||
syn match uilSpecialCharacter "'\\.'"
|
||||
syn match uilSpecialStatement "Xm[^ =(){}]*"
|
||||
syn match uilSpecialStatement "Xm[^ =(){}:;]*"
|
||||
syn match uilSpecialFunction "MrmNcreateCallback"
|
||||
syn match uilRessource "XmN[^ =(){}]*"
|
||||
syn match uilRessource "XmN[^ =(){}:;]*"
|
||||
|
||||
syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
|
||||
syn match uilNumber "0[xX]\x\+\>"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.3 script
|
||||
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: February 15, 2013
|
||||
" Version: 7.3-24
|
||||
" Last Change: May 29, 2013
|
||||
" Version: 7.3-25
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -18,12 +18,12 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
|
||||
syn cluster vimCommentGroup contains=vimTodo,@Spell
|
||||
|
||||
" regular vim commands {{{2
|
||||
syn keyword vimCommand contained a arga[dd] ar[gs] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier el[se] endfo[r] ene[w] filename fin[d] folddoc[losed] fu[nction] gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] n new noautocmd on[ly] pc[lose] popu p[rint] promptr[epl] ptn pts[elect] py[thon] quote redi[r] res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme spe spellw[rong] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xterm
|
||||
syn keyword vimCommand contained ab argd[elete] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec elsei[f] endfun ex files fini[sh] foldd[oopen] g gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] N n[ext] noh[lsearch] o[pen] pe popu[p] P[rint] ps[earch] ptN pu[t] python3 r red[o] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spelld[ump] sp[lit] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] XMLent xunme
|
||||
syn keyword vimCommand contained abc[lear] argdo as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] em[enu] endf[unction] exi[t] filet fir[st] foldo[pen] get h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv nbc[lose] N[ext] nu[mber] opt[ions] ped[it] pp[op] pro pta[g] ptn[ext] pw[d] q re redr[aw] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spe[llgood] spr[evious] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] XMLns xunmenu
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] emenu* en[dif] exu[sage] filetype fix[del] for go[to] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] mz nb[key] nkf o ownsyntax pe[rl] pr profd[el] ptf[irst] ptN[ext] py qa[ll] r[ead] redraws[tatus] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spelli[nfo] sre[wind] star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xnoreme xwininfo
|
||||
syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon en endt[ry] f fin fo[ld] fu gr[ep] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p perld[o] pre[serve] prof[ile] ptj[ump] ptp[revious] py3 q[uit] rec[over] reg[isters] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spellr[epall] st startr[eplace] sun[hide] sw[apname] synlist tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] TOhtml try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xnoremenu y[ank]
|
||||
syn keyword vimCommand contained ar argl[ocal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] endf endw[hile] f[ile] fina[lly] foldc[lose] fun grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz[scheme] ne noa omapc[lear] P po[p] prev[ious] promptf[ind] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red Ren rightb[elow] ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellu[ndo] sta[g]
|
||||
syn keyword vimCommand contained a arga[dd] ar[gs] bar bn[ext] breaka[dd] bu bw[ipeout] caddf[ile] cd cgete[xpr] checkt[ime] cmdname cnf com con[tinue] cq[uit] cw[indow] delc[ommand] diffg[et] diffpu[t] dig[raphs] dr[op] earlier el[se] endfo[r] ene[w] filename fin[d] folddoc[losed] fu[nction] gui helpg[rep] ia in j[oin] kee[pmarks] laddf[ile] lb[uffer] le[ft] lgetb[uffer] l[ist] lN lNf lo[adview] lpf[ile] luado mak[e] menut[ranslate] mks[ession] mod[e] n new noautocmd on[ly] pc[lose] popu p[rint] promptr[epl] ptn pts[elect] py[thon] quote redi[r] res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sfir[st] sim[alt] sme snoreme spe spellw[rong] star st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] XMLent xunme
|
||||
syn keyword vimCommand contained ab argd[elete] argu[ment] bd[elete] bN[ext] breakd[el] buf c cal[l] ce[nter] cg[etfile] cl cn cNf comc[lear] cope[n] cr[ewind] d d[elete] diffo diffsplit di[splay] ds[earch] ec elsei[f] endfun ex files fini[sh] foldd[oopen] g gvim helpt[ags] iabc[lear] index ju[mps] l lan lc[d] lefta[bove] lgete[xpr] ll lne lnf[ile] locale lp[revious] luafile Man mes mksp[ell] m[ove] N n[ext] noh[lsearch] o[pen] pe popu[p] P[rint] ps[earch] ptN pu[t] python3 r red[o] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sh[ell] sl smenu snoremenu spelld[ump] sp[lit] start stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] XMLns xunmenu
|
||||
syn keyword vimCommand contained abc[lear] argdo as[cii] bel[owright] bo[tright] breakl[ist] bufdo cabc[lear] cat[ch] cex[pr] c[hange] cla[st] cN cnf[ile] comment co[py] cs de delf diffoff difft dj[ump] dsp[lit] echoe[rr] em[enu] endf[unction] exi[t] filet fir[st] foldo[pen] get h hi if intro k la lan[guage] lch[dir] let@ lg[etfile] lla[st] lnew[er] lNf[ile] loc[kmarks] lr[ewind] lv[imgrep] ma[rk] messages mkv mv nbc[lose] N[ext] nu[mber] opt[ions] ped[it] pp[op] pro pta[g] ptn[ext] pw[d] q re redr[aw] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip setf[iletype] si sla[st] sn[ext] s@\n@\=\r" spe[llgood] spr[evious] startg[replace] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xnoreme xwininfo
|
||||
syn keyword vimCommand contained abo[veleft] arge[dit] au bf[irst] bp[revious] br[ewind] b[uffer] cad cb[uffer] cf[ile] changes cl[ist] cnew[er] cNf[ile] comp[iler] count cscope debug delf[unction] DiffOrig diffthis dl[ist] dwim echom[sg] emenu* en[dif] exu[sage] filetype fix[del] for go[to] ha[rdcopy] hid[e] ij[ump] is[earch] keepa lad la[st] lcl[ose] lex[pr] lgr[ep] lli[st] lne[xt] lo lockv[ar] ls lvimgrepa[dd] marks mk mkvie[w] mz nb[key] nkf o ownsyntax pe[rl] pr profd[el] ptf[irst] ptN[ext] py qa[ll] r[ead] redraws[tatus] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setg[lobal] sig sl[eep] sN[ext] so spelli[nfo] sre[wind] star[tinsert] sun[hide] sw[apname] synlist tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] TOhtml try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xnoremenu y[ank]
|
||||
syn keyword vimCommand contained al[l] argg[lobal] bad[d] bl[ast] br bro[wse] buffers caddb[uffer] cc cfir[st] chd[ir] clo[se] cn[ext] col[der] con cpf[ile] cstag debugg[reedy] delm[arks] diffp diffu[pdate] do e echon en endt[ry] f fin fo[ld] fu gr[ep] h[elp] his[tory] il[ist] isp[lit] keepalt laddb[uffer] lat lcs lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lol[der] lt[ag] lw[indow] mat[ch] mkdir mkv[imrc] mzf[ile] nbs[tart] nmapc[lear] ol[dfiles] p perld[o] pre[serve] prof[ile] ptj[ump] ptp[revious] py3 q[uit] rec[over] reg[isters] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setl[ocal] sign sm[agic] sni[ff] sor[t] spellr[epall] st startr[eplace] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xterm errormsg
|
||||
syn keyword vimCommand contained ar argl[ocal] ba[ll] bm[odified] brea[k] browseset bun[load] cad[dexpr] ccl[ose] cgetb[uffer] che[ckpath] cmapc[lear] cN[ext] colo[rscheme] conf[irm] cp[revious] cuna[bbrev] del di diffpatch dig doau ea e[dit] endf endw[hile] f[ile] fina[lly] foldc[lose] fun grepa[dd] helpf[ind] i imapc[lear] iuna[bbrev] keepj[umps] lad[dexpr] later lcscope lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lop[en] lua ma menut mk[exrc] mo mz[scheme] ne noa omapc[lear] P po[p] prev[ious] promptf[ind] ptl[ast] ptr[ewind] pyf[ile] quita[ll] red Ren rightb[elow] ru[ntime] sba[ll] sbp[revious] scs sf[ind] sil[ent] sm[ap] sno[magic] so[urce] spellu[ndo] sta[g] stj[ump]
|
||||
syn match vimCommand contained "\<z[-+^.=]\="
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
@@ -96,8 +96,8 @@ endif
|
||||
|
||||
" Numbers {{{2
|
||||
" =======
|
||||
syn match vimNumber "\<\d\+\([lL]\|\.\d\+\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "-\d\+\([lL]\|\.\d\+\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand
|
||||
syn match vimNumber "\<0[xX]\x\+"
|
||||
syn match vimNumber "#\x\{6}"
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Author and previous maintainer:
|
||||
" Paul Siegmann <pauls@euronet.nl>
|
||||
" Last Change: 2009-07-13 21:26:55
|
||||
" Last Change: 2013 May 29
|
||||
" Filenames: *.xml
|
||||
" $Id: xml.vim,v 1.3 2006/04/11 21:32:00 vimboss Exp $
|
||||
|
||||
@@ -81,7 +81,7 @@ syn match xmlEqual +=+ display
|
||||
" ^^^^^^^^^^^^^
|
||||
"
|
||||
syn match xmlAttrib
|
||||
\ +[-'"<]\@<!\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>\(['">]\@!\|$\)+
|
||||
\ +[-'"<]\@2<!\<[a-zA-Z:_][-.0-9a-zA-Z0-9:_]*\>\(['">]\@!\|$\)+
|
||||
\ contained
|
||||
\ contains=xmlAttribPunct,@xmlAttribHook
|
||||
\ display
|
||||
@@ -98,14 +98,14 @@ syn match xmlAttrib
|
||||
"
|
||||
if exists("g:xml_namespace_transparent")
|
||||
syn match xmlNamespace
|
||||
\ +\(<\|</\)\@<=[^ /!?<>"':]\+[:]\@=+
|
||||
\ +\(<\|</\)\@2<=[^ /!?<>"':]\+[:]\@=+
|
||||
\ contained
|
||||
\ contains=@xmlNamespaceHook
|
||||
\ transparent
|
||||
\ display
|
||||
else
|
||||
syn match xmlNamespace
|
||||
\ +\(<\|</\)\@<=[^ /!?<>"':]\+[:]\@=+
|
||||
\ +\(<\|</\)\@2<=[^ /!?<>"':]\+[:]\@=+
|
||||
\ contained
|
||||
\ contains=@xmlNamespaceHook
|
||||
\ display
|
||||
@@ -122,7 +122,7 @@ endif
|
||||
" ^^^
|
||||
"
|
||||
syn match xmlTagName
|
||||
\ +[<]\@<=[^ /!?<>"']\++
|
||||
\ +[<]\@2<=[^ /!?<>"']\++
|
||||
\ contained
|
||||
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
\ display
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user