diff options
Diffstat (limited to 'runtime')
56 files changed, 1523 insertions, 493 deletions
diff --git a/runtime/plugin/netrw.vim b/runtime/autoload/netrw.vim index 85d7df743..e077e25e7 100644 --- a/runtime/plugin/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,33 +1,25 @@ " netrw.vim: Handles file transfer and remote directory listing across a network -" Last Change: Aug 12, 2005 +" AUTOLOAD PORTION +" Last Change: Aug 16, 2005 " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> -" Version: 61 -" License: Vim License (see vim's :help license) -" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. +" Version: 63 +" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim +" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Permission is hereby granted to use and distribute this code, " with or without modifications, provided that this copyright " notice is copied with it. Like anything else that's free, -" netrw.vim is provided *as is* and comes with no -" warranty of any kind, either expressed or implied. In no -" event will the copyright holder be liable for any damages -" resulting from the use of this software. +" netrw.vim is provided *as is* and comes with no warranty +" of any kind, either expressed or implied. By using this +" plugin, you agree that in no event will the copyright +" holder be liable for any damages resulting from the use +" of this software. " -" But be doers of the Word, and not only hearers, deluding your own selves +" But be doers of the Word, and not only hearers, deluding your own selves {{{1 " (James 1:22 RSV) " =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- -" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim - -" --------------------------------------------------------------------- -" Load Once: {{{1 -if exists("g:loaded_netrw") || &cp - finish -endif -let g:loaded_netrw = "v61" -if v:version < 700 - let loaded_explorer = 1 -endif let s:keepcpo= &cpo set cpo&vim +" call Decho("doing autoload/netrw.vim") " --------------------------------------------------------------------- " Default values for global netrw variables {{{1 @@ -214,47 +206,9 @@ if has("win32") || has("win95") || has("win64") || has("win16") let s:netrw_rcpmode = '' endif -" --------------------------------------------------------------------- -" Transparency Support: {{{1 - " File Explorer: {{{2 -if version >= 600 - augroup FileExplorer - au! - au BufEnter * call <SID>LocalBrowse(expand("<amatch>")) - augroup END - " Network Handler: {{{2 - augroup Network - au! - if has("win32") || has("win95") || has("win64") || has("win16") - au BufReadCmd file://* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e '.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") - else - au BufReadCmd file:///* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") - au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") - endif - au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread 0r ".expand("<amatch>")|exe "silent doau BufReadPost ".expand("<amatch>") - au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread " .expand("<amatch>")|exe "silent doau FileReadPost ".expand("<amatch>") - au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "Nwrite " .expand("<amatch>")|exe "silent doau BufWritePost ".expand("<amatch>") - au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "'[,']Nwrite " .expand("<amatch>")|exe "silent doau FileWritePost ".expand("<amatch>") - augroup END -endif - -" ------------------------------------------------------------------------ -" Commands: :Nread, :Nwrite, :NetUserPass {{{1 -com! -nargs=* Nread call s:NetSavePosn()<bar>call s:NetRead(<f-args>)<bar>call s:NetRestorePosn() -com! -range=% -nargs=* Nwrite call s:NetSavePosn()<bar><line1>,<line2>call s:NetWrite(<f-args>)<bar>call s:NetRestorePosn() -com! -nargs=* NetUserPass call NetUserPass(<f-args>) - -" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{1 -com! -nargs=? -bar -bang -count=0 Explore call s:Explore(<count>,0,0+<bang>0,<q-args>) -com! -nargs=? -bar -bang -count=0 Sexplore call s:Explore(<count>,1,0+<bang>0,<q-args>) -com! -nargs=? -bar -bang -count=0 Hexplore call s:Explore(<count>,1,2+<bang>0,<q-args>) -com! -nargs=? -bar -bang -count=0 Vexplore call s:Explore(<count>,1,4+<bang>0,<q-args>) -com! -nargs=? -bar -bang Nexplore call s:Explore(-1,0,0,<q-args>) -com! -nargs=? -bar -bang Pexplore call s:Explore(-2,0,0,<q-args>) - " ------------------------------------------------------------------------ " NetSavePosn: saves position of cursor on screen {{{1 -fun! s:NetSavePosn() +fun! netrw#NetSavePosn() " call Dfunc("NetSavePosn()") " Save current line and column let w:netrw_winnr= winnr() @@ -265,13 +219,13 @@ fun! s:NetSavePosn() norm! H0 let w:netrw_hline= line(".") - call s:NetRestorePosn() + call netrw#NetRestorePosn() " call Dret("NetSavePosn : winnr=".w:netrw_winnr." line=".w:netrw_line." col=".w:netrw_col." hline=".w:netrw_hline) endfun " ------------------------------------------------------------------------ " NetRestorePosn: restores the cursor and file position as saved by NetSavePosn() {{{1 -fun! <SID>NetRestorePosn() +fun! netrw#NetRestorePosn() " call Dfunc("NetRestorePosn() winnr=".w:netrw_winnr." line=".w:netrw_line." col=".w:netrw_col." hline=".w:netrw_hline) let eikeep= &ei set ei=all @@ -299,7 +253,7 @@ endfun " ------------------------------------------------------------------------ " NetRead: responsible for reading a file over the net {{{1 -fun! s:NetRead(...) +fun! netrw#NetRead(...) " call Dfunc("NetRead(a:1<".a:1.">)") " save options @@ -321,6 +275,12 @@ fun! s:NetRead(...) " get name of a temporary file and set up shell-quoting character let tmpfile= tempname() + if !isdirectory(substitute(tmpfile,'[^/]\+$','','e')) + echohl Error | echo "***netrw*** your ".substitute(tmpfile,'[^/]\+$','','e')." directory is missing!" + call inputsave()|call input("Press <cr> to continue")|call inputrestore() +" call Dret("NetRead") + return + endif " call Decho("ichoice=".ichoice." readcmd<".readcmd.">") while ichoice <= a:0 @@ -581,6 +541,7 @@ fun! s:NetRead(...) else put ='get '.netrw_fname.' '.tmpfile endif + put ='quit' " perform cadaver operation: norm! 1Gdd @@ -760,7 +721,7 @@ endfun " ------------------------------------------------------------------------ " NetWrite: responsible for writing a file over the net {{{1 -fun! s:NetWrite(...) range +fun! netrw#NetWrite(...) range " call Dfunc("NetWrite(a:0=".a:0.")") " option handling @@ -769,6 +730,12 @@ fun! s:NetWrite(...) range " Get Temporary Filename let tmpfile= tempname() + if !isdirectory(substitute(tmpfile,'[^/]\+$','','e')) + echohl Error | echo "***netrw*** your ".substitute(tmpfile,'[^/]\+$','','e')." directory is missing!" + call inputsave()|call input("Press <cr> to continue")|call inputrestore() +" call Dret("NetRead") + return + endif if a:0 == 0 let ichoice = 0 @@ -1049,7 +1016,7 @@ endfun " of the contents of a remote directory. It is assumed that the " g:netrw_list_cmd has a string, HOSTNAME, that needs to be substituted " with the requested remote hostname first. -fun! <SID>NetBrowse(dirname) +fun! s:NetBrowse(dirname) " call Dfunc("NetBrowse(dirname<".a:dirname.">) longlist=".g:netrw_longlist) if exists("s:netrw_skipbrowse") @@ -1160,7 +1127,7 @@ fun! <SID>NetBrowse(dirname) " call Decho("exe file .method."://".user.machine."/".escape(path,s:netrw_cd_escape)) exe "file ".method."://".user.machine."/".escape(path,s:netrw_cd_escape) exe "silent doau BufReadPre ".fname - silent call s:NetRead(method."://".user.machine."/".path) + silent call netrw#NetRead(method."://".user.machine."/".path) exe "silent doau BufReadPost ".fname keepjumps 1d @@ -1271,7 +1238,7 @@ fun! <SID>NetBrowse(dirname) if method == "ftp" " use ftp to get remote file listing " call Decho("use ftp to get remote file listing") - call NetBrowseFtpCmd(path,listcmd) + call s:NetBrowseFtpCmd(path,listcmd) keepjumps 1d if !g:netrw_longlist @@ -1390,7 +1357,7 @@ endfun " --------------------------------------------------------------------- " NetBrowseChgDir: {{{2 -fun! <SID>NetBrowseChgDir(dirname,newdir) +fun! s:NetBrowseChgDir(dirname,newdir) " call Dfunc("NetBrowseChgDir(dirname<".a:dirname."> newdir<".a:newdir.">)") let dirname= a:dirname @@ -1433,7 +1400,7 @@ endfun " --------------------------------------------------------------------- " NetGetWord: it gets the directory named under the cursor -fun! <SID>NetGetWord() +fun! s:NetGetWord() " call Dfunc("NetGetWord() line#".line(".")) call s:UseBufWinVars() @@ -1470,7 +1437,7 @@ endfun " --------------------------------------------------------------------- " NetBrowseRm: remove/delete a remote file or directory {{{2 -fun! <SID>NetBrowseRm(usrhost,path) range +fun! s:NetBrowseRm(usrhost,path) range " call Dfunc("NetBrowseRm(usrhost<".a:usrhost."> path<".a:path.">)") " call Decho("firstline=".a:firstline." lastline=".a:lastline) @@ -1503,7 +1470,7 @@ fun! <SID>NetBrowseRm(usrhost,path) range if all || ok =~ 'y\%[es]' || ok == "" if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3) silent! keepjumps .,$d - call NetBrowseFtpCmd(a:path,"delete ".rmfile) + call s:NetBrowseFtpCmd(a:path,"delete ".rmfile) else let netrw_rm_cmd= substitute(g:netrw_rm_cmd,'HOSTNAME',a:usrhost,'').' "'.escape(a:path.rmfile,s:netrw_cd_escape).'"' " call Decho("attempt to remove file: system(".netrw_rm_cmd.")") @@ -1528,7 +1495,7 @@ fun! <SID>NetBrowseRm(usrhost,path) range if all || ok =~ 'y\%[es]' || ok == "" if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3) - call NetBrowseFtpCmd(a:path,"rmdir ".rmfile) + call s:NetBrowseFtpCmd(a:path,"rmdir ".rmfile) else let rmfile = a:path.rmfile let netrw_rmdir_cmd= substitute(g:netrw_rmdir_cmd,'HOSTNAME',a:usrhost,'').' '."'".'"'.rmfile.'"'."'" @@ -1568,7 +1535,7 @@ endfun " --------------------------------------------------------------------- " NetBrowseRename: rename a remote file or directory {{{2 -fun! <SID>NetBrowseRename(usrhost,path) range +fun! s:NetBrowseRename(usrhost,path) range " call Dfunc("NetBrowseRename(usrhost<".a:usrhost."> path<".a:path.">)") " preparation for removing multiple files/directories @@ -1588,7 +1555,7 @@ fun! <SID>NetBrowseRename(usrhost,path) range call inputrestore() if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3) - call NetBrowseFtpCmd(a:path,"rename ".oldname." ".newname) + call s:NetBrowseFtpCmd(a:path,"rename ".oldname." ".newname) else let oldname= a:path.oldname let newname= a:path.newname @@ -1608,7 +1575,7 @@ endfun " --------------------------------------------------------------------- " NetRefresh: {{{2 -fun! <SID>NetRefresh(dirname) +fun! s:NetRefresh(dirname) " call Dfunc("NetRefresh(dirname<".a:dirname.">)") set ma %d @@ -1641,12 +1608,12 @@ fun! s:NetSplit(mode) exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s" call s:CopyWinVars() exe "norm! 0" - call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord())) + call s:LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord())) else exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v" call s:CopyWinVars() exe "norm! 0" - call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord())) + call s:LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord())) endif " call Dret("NetSplit") @@ -1655,7 +1622,7 @@ endfun " --------------------------------------------------------------------- " NetBrowseX: allows users to write custom functions to operate on {{{2 " files given their extension. Passes 0=local, 1=remote -fun! <SID>NetBrowseX(fname,remote) +fun! s:NetBrowseX(fname,remote) " call Dfunc("NetBrowseX(".a:fname." remote=".a:remote.")") " set up the filename @@ -1730,7 +1697,7 @@ endfun " This function assumes that a long listing will be received. Size, time, " and reverse sorts will be requested of the server but not otherwise " enforced here. -fun! NetBrowseFtpCmd(path,cmd) +fun! s:NetBrowseFtpCmd(path,cmd) " call Dfunc("NetBrowseFtpCmd(path<".a:path."> cmd<".a:cmd.">) netrw_method=".w:netrw_method) " because WinXX ftp uses unix style input @@ -1813,7 +1780,7 @@ endfun " --------------------------------------------------------------------- " NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2 " separated patterns given in g:netrw_list_hide -fun! <SID>NetrwListHide() +fun! s:NetrwListHide() " call Dfunc("NetrwListHide() listhide<".g:netrw_list_hide.">") let listhide= g:netrw_list_hide @@ -1840,7 +1807,7 @@ endfun " --------------------------------------------------------------------- " NetHideEdit: allows user to edit the file/directory hiding list -fun! <SID>NetHideEdit(mode) +fun! s:NetHideEdit(mode) " call Dfunc("NetHideEdit(mode=".a:mode.")") call inputsave() @@ -1860,7 +1827,7 @@ endfun " --------------------------------------------------------------------- " NetSortSequence: allows user to edit the sorting sequence -fun! <SID>NetSortSequence(mode) +fun! s:NetSortSequence(mode) " call Dfunc("NetSortSequence(mode=".a:mode.")") call inputsave() @@ -1880,9 +1847,9 @@ endfun " --------------------------------------------------------------------- " NetLongList: {{{2 -fun! <SID>NetLongList(mode) +fun! s:NetLongList(mode) " call Dfunc("NetLongList(mode=".a:mode.") netrw_longlist=".g:netrw_longlist) - call s:NetSavePosn() + call netrw#NetSavePosn() if g:netrw_longlist != 0 " turn long listing off @@ -1905,10 +1872,10 @@ fun! <SID>NetLongList(mode) if a:mode == 0 silent call <SID>NetBrowse(<SID>NetBrowseChgDir(expand("%"),"./")) else - silent call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,"./")) + silent call s:LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,"./")) endif - call s:NetRestorePosn() + call netrw#NetRestorePosn() " call Dret("NetLongList : g:netrw_longlist=".g:netrw_longlist) endfun @@ -1933,7 +1900,7 @@ endfun " --------------------------------------------------------------------- " NetMakeDir: this function makes a directory (both local and remote) {{{2 -fun! <SID>NetMakeDir(usrhost) +fun! s:NetMakeDir(usrhost) " call Dfunc("NetMakeDir(usrhost<".a:usrhost.">)") " get name of new directory from user. A bare <CR> will skip. @@ -2033,7 +2000,7 @@ endfun " 3: (LocalBrowse) record current directory history " 4: (user: <u>) go up (previous) bookmark " 5: (user: <U>) go down (next) bookmark -fun! <SID>NetBookmarkDir(chg,curdir) +fun! s:NetBookmarkDir(chg,curdir) " call Dfunc("NetBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count) if exists("w:netrw_bannercnt") && line(".") <= w:netrw_bannercnt " looks like a "b" was pressed while in the banner region @@ -2139,23 +2106,26 @@ endfun " ========================================== " --------------------------------------------------------------------- -" LocalBrowse: supports local file/directory browsing {{{2 -fun! <SID>LocalBrowse(dirname) - -" let dirname= (a:dirname == "")? expand("%:p") : a:dirname - if !isdirectory(a:dirname) - " not a directory, ignore it - return - endif +" LocalBrowse: {{{2 +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 isdirectory(a:dirname) + call netrw#DirBrowse(a:dirname) + endif + " not a directory, ignore it +endfun - " unfortunate interaction -- when putting debugging calls - " above one can no longer enter the DBG buffer. -" call Dfunc("LocalBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by) +" --------------------------------------------------------------------- +" DirBrowse: supports local file/directory browsing {{{2 +fun! netrw#DirBrowse(dirname) +" call Dfunc("DirBrowse(dirname<".a:dirname.">) buf#".bufnr("%")." winnr=".winnr()." sortby=".g:netrw_sort_by) " call Dredir("ls!") if exists("s:netrw_skipbrowse") unlet s:netrw_skipbrowse -" call Dret("NetBrowse") +" call Dret("DirBrowse") return endif @@ -2164,7 +2134,7 @@ fun! <SID>LocalBrowse(dirname) echohl Error | echo "***netrw*** vim version<".v:version."> too old for browsing with netrw" | echohl None call inputsave()|call input("Press <cr> to continue")|call inputrestore() endif -" call Dret("LocalBrowse : vim version<".v:version."> too old") +" call Dret("DirBrowse : vim version<".v:version."> too old") return endif @@ -2178,7 +2148,7 @@ fun! <SID>LocalBrowse(dirname) call s:UseBufWinVars() " find buffer number of buffer named precisely the same as a:dirname - let bufnum= bufnr(a:dirname) + let bufnum= bufnr(escape(a:dirname,'\')) " call Decho("findbuf: bufnum=".bufnum) if bufnum > 0 && bufname(bufnum) != a:dirname let ibuf= 1 @@ -2213,9 +2183,9 @@ fun! <SID>LocalBrowse(dirname) if getline(2) =~ '^" Directory Listing ' if !g:netrw_keepdir " call Decho("change directory: cd ".b:netrw_curdir) - exe 'cd '.b:netrw_curdir + exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape) endif -" call Dret("LocalBrowse : reusing buffer#".bufnum."<".a:dirname.">") +" call Dret("DirBrowse : reusing buffer#".bufnum."<".a:dirname.">") return endif endif @@ -2223,7 +2193,11 @@ fun! <SID>LocalBrowse(dirname) let s:last_sort_by= g:netrw_sort_by " get the new directory name - let b:netrw_curdir= substitute(a:dirname,'\\','/','ge') + if has("win32") || has("win95") || has("win64") || has("win16") + let b:netrw_curdir= substitute(a:dirname,'\\','/','ge') + else + let b:netrw_curdir= a:dirname + endif if b:netrw_curdir =~ '[/\\]$' let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e') endif @@ -2233,14 +2207,14 @@ fun! <SID>LocalBrowse(dirname) if !g:netrw_keepdir " call Decho("change directory: cd ".b:netrw_curdir) try - exe 'cd '.b:netrw_curdir + exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape) catch /^Vim\%((\a\+)\)\=:E472/ echohl Error | echo "***netrw*** unable to change directory to <".b:netrw_curdir."> (permissions?)" | echohl None call inputsave()|call input("Press <cr> to continue")|call inputrestore() if exists("w:netrw_prvdir") let b:netrw_curdir= w:netrw_prvdir else -" call Dret("LocalBrowse : reusing buffer#".bufnum."<".a:dirname.">") +" call Dret("DirBrowse : reusing buffer#".bufnum."<".a:dirname.">") return endif endtry @@ -2250,7 +2224,7 @@ fun! <SID>LocalBrowse(dirname) exe 'silent! file '.escape(b:netrw_curdir,s:netrw_cd_escape) " make this buffer modifiable and hidden - setlocal ma hidden nonu + setlocal ma hidden nonu bt=nofile if v:version < 700 silent! %d else @@ -2278,7 +2252,7 @@ fun! <SID>LocalBrowse(dirname) nnoremap <buffer> <silent> o :call <SID>NetSplit(2)<cr> nnoremap <buffer> <silent> p :exe "norm! 0"<bar>call <SID>LocalPreview(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord(),1))<cr> nnoremap <buffer> <silent> q :<c-u>call <SID>NetBookmarkDir(2,b:netrw_curdir)<cr> - nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<cr> + nnoremap <buffer> <silent> r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>LocalRefresh(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<cr> nnoremap <buffer> <silent> s :call <SID>NetSaveWordPosn()<bar>let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'<bar>exe "norm! 0"<bar>call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,'./'))<bar>call <SID>NetRestoreWordPosn()<cr> nnoremap <buffer> <silent> S :call <SID>NetSortSequence(1)<cr> nnoremap <buffer> <silent> u :<c-u>call <SID>NetBookmarkDir(4,expand("%"))<cr> @@ -2342,7 +2316,7 @@ fun! <SID>LocalBrowse(dirname) " call Decho("bannercnt=".w:netrw_bannercnt) " generate the requested directory listing - call LocalBrowseList() + call s:LocalBrowseList() " set up syntax highlighting if has("syntax") @@ -2399,12 +2373,12 @@ fun! <SID>LocalBrowse(dirname) let &autochdir= keep_autochdir endif -" call Dret("LocalBrowse : file<".expand("%:p")."> bufname<".bufname("%").">") +" call Dret("DirBrowse : file<".expand("%:p")."> bufname<".bufname("%").">") endfun " --------------------------------------------------------------------- " LocalBrowseList: does the job of "ls" for local directories {{{2 -fun! LocalBrowseList() +fun! s:LocalBrowseList() " call Dfunc("LocalBrowseList() b:netrw_curdir<".b:netrw_curdir.">") " get the list of files contained in the current directory @@ -2504,7 +2478,7 @@ endfun " --------------------------------------------------------------------- " LocalBrowseChgDir: constructs a new directory based on the current {{{2 " directory and a new directory name -fun! <SID>LocalBrowseChgDir(dirname,newdir,...) +fun! s:LocalBrowseChgDir(dirname,newdir,...) " call Dfunc("LocalBrowseChgDir(dirname<".a:dirname."> newdir<".a:newdir.">) a:0=".a:0) let dirname= substitute(a:dirname,'\\','','ge') @@ -2549,7 +2523,7 @@ endfun " --------------------------------------------------------------------- " LocalBrowseRm: {{{2 -fun! <SID>LocalBrowseRm(path) range +fun! s:LocalBrowseRm(path) range " call Dfunc("LocalBrowseRm(path<".a:path.">)") " call Decho("firstline=".a:firstline." lastline=".a:lastline) @@ -2656,7 +2630,7 @@ endfun " --------------------------------------------------------------------- " LocalBrowseRename: rename a remote file or directory {{{2 -fun! <SID>LocalBrowseRename(path) range +fun! s:LocalBrowseRename(path) range " call Dfunc("LocalBrowseRename(path<".a:path.">)") " preparation for removing multiple files/directories @@ -2701,7 +2675,7 @@ endfun " --------------------------------------------------------------------- " LocalPreview: {{{2 -fun! <SID>LocalPreview(path) range +fun! s:LocalPreview(path) range " call Dfunc("LocalPreview(path<".a:path.">)") if has("quickfix") if !isdirectory(a:path) @@ -2719,11 +2693,11 @@ endfun " --------------------------------------------------------------------- " LocalRefresh: {{{2 -fun! <SID>LocalRefresh(dirname) +fun! s:LocalRefresh(dirname) " call Dfunc("LocalRefresh(dirname<".a:dirname.">)") set ma %d - call <SID>LocalBrowse(a:dirname) + call s:LocalBrowse(a:dirname) redraw! " call Dret("LocalRefresh") endfun @@ -2734,7 +2708,7 @@ endfun " been modified " dosplit==1: the window will be split before running the local " browser -fun! s:Explore(indx,dosplit,style,...) +fun! netrw#Explore(indx,dosplit,style,...) " call Dfunc("Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.")") " if dosplit or file has been modified @@ -2872,7 +2846,7 @@ endfun " NetGetcwd: get the current directory. {{{2 " Change backslashes to forward slashes, if any. " If doesc is true, escape certain troublesome characters -fun! <SID>NetGetcwd(doesc) +fun! s:NetGetcwd(doesc) " call Dfunc("NetGetcwd(doesc=".a:doesc.")") let curdir= substitute(getcwd(),'\\','/','ge') if curdir !~ '[\/]$' @@ -3202,7 +3176,7 @@ endif " --------------------------------------------------------------------- " NetSort: Piet Delport's BISort2() function, modified to take a range {{{1 if v:version < 700 - fun! <SID>NetSort() range + fun! s:NetSort() range " " call Dfunc("NetSort()") let i = a:firstline + 1 @@ -3250,7 +3224,7 @@ endif " in the g:netrw_sort_sequence. It applies a substitute to any " "files" that satisfy each pattern, putting the priority / in " front. An "*" pattern handles the default priority. -fun! <SID>SetSort() +fun! s:SetSort() " call Dfunc("SetSort() bannercnt=".w:netrw_bannercnt) if g:netrw_longlist let seqlist = substitute(g:netrw_sort_sequence,'\$','\\%(\t\\|\$\\)','ge') @@ -3371,8 +3345,11 @@ fun! s:UseBufWinVars() " call Dret("UseBufWinVars") endfun +" ------------------------------------------------------------------------ +" Settings Restoration: {{{1 let &cpo= s:keepcpo unlet s:keepcpo + " ------------------------------------------------------------------------ " Modelines: {{{1 " vim:ts=8 fdm=marker diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index f98bd9372..61a22df73 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -4683,7 +4683,21 @@ instead of "s:" when the mapping is expanded outside of the script. {name} can also be a Dictionary entry that is a Funcref: > :function dict.init -< *E124* *E125* +< + *:function-verbose* +When 'verbose' is non-zero, listing a function will also display where it was +last defined. Example: > + + :verbose function SetFileTypeSH + function SetFileTypeSH(name) + Last set from /usr/share/vim/vim-7.0/filetype.vim +< +When the function was defined by hand there is no "Last set" message. When +the function was defined while executing a function, user command or +autocommand, the script in which it was defined is reported. +{not available when compiled without the +eval feature} + + *E124* *E125* :fu[nction][!] {name}([arguments]) [range] [abort] [dict] Define a new function by the name {name}. The name must be made of alphanumeric characters and '_', and diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt index de29f0fbc..a135a481a 100644 --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 7.0aa. Last change: 2005 Jul 21 +*map.txt* For Vim version 7.0aa. Last change: 2005 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -868,6 +868,20 @@ scripts. :com[mand] {cmd} List the user-defined commands that start with {cmd} + *:command-verbose* +When 'verbose' is non-zero, listing a command will also display where it was +last defined. Example: > + + :verbose command TOhtml + Name Args Range Complete Definition + TOhtml 0 % :call Convert2HTML(<line1>, <line2>) + Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim +< +When the command was defined by hand there is no "Last set" message. When the +command was defined while executing a function, user command or autocommand, +the script in which it was defined is reported. +{not available when compiled without the +eval feature} + *E174* *E182* :com[mand][!] [{attr}...] {cmd} {rep} Define a user command. The name of the command is @@ -1069,8 +1083,7 @@ To allow commands to pass their arguments on to a user-defined function, there is a special form <f-args> ("function args"). This splits the command arguments at spaces and Tabs, quotes each argument individually, and the <f-args> sequence is replaced by the comma-separated list of quoted arguments. -See the Mycmd example below. When there is no argument, <f-args> also has no -argument. +See the Mycmd example below. If no arguments are given <f-args> is removed. Examples > diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index 4cc59c3e9..00718833f 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.0. Last change: Aug 11, 2005 +*pi_netrw.txt* For Vim version 7.0. Last change: Aug 15, 2005 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -11,6 +11,13 @@ 0. Contents *netrw-contents* 1. Netrw Reference......................................|netrw-ref| + CONTROLLING EXTERNAL APPLICTIONS...................|netrw-externapp| + READING............................................|netrw-read| + WRITING............................................|netrw-write| + DIRECTORY LISTING..................................|netrw-dirlist| + CHANGING THE USERID AND PASSWORD...................|netrw-chgup| + VARIABLES..........................................|netrw-variables| + PATHS..............................................|netrw-path| 2. Network-Oriented File Transfer.......................|netrw-xfer| NETRC..............................................|netrw-netrc| PASSWORD...........................................|netrw-passwd| @@ -53,8 +60,10 @@ 10. History..............................................|netrw-history| 11. Credits..............................................|netrw-credits| -The functionality mentioned here is done via using |standard-plugin| -techniques. This plugin is only available if +The Netrw plugin is generally sourced automatically as it is a +|standard-plugin|. That said, to make use of netrw, one must +have plugins available which can be done with the following +two lines in your <.vimrc>: set nocp " 'compatible' is not set filetype plugin on " plugins are enabled @@ -69,62 +78,51 @@ in your <.vimrc> file: > ============================================================================== 1. Netrw Reference *netrw-ref* - OPTIONS - let g:netrw_ftp =0 use ftp (default) (uid password) - =1 use alternate ftp method (user uid password) - If you're having trouble with ftp, try changing the value - of this variable in your <.vimrc> to change methods - - let g:netrw_ignorenetrc= 1 - If you have a <.netrc> file but it doesn't work and you - want it ignored, then set this variable as shown. Its mere - existence is enough to cause <.netrc> to be ignored. - - Controlling External Applications *netrw-externapp* - - Protocol Variable Default Value - -------- ---------------- ------------- - dav: *g:netrw_dav_cmd* = "cadaver" - fetch: *g:netrw_fetch_cmd* = "fetch -o" - ftp: *g:netrw_ftp_cmd* = "ftp" - http: *g:netrw_http_cmd* = "fetch -o" if fetch is available - http: g:netrw_http_cmd = "wget -q -O" If wget is available - rcp: *g:netrw_rcp_cmd* = "rcp" - rsync: *g:netrw_rsync_cmd* = "rsync -a" - scp: *g:netrw_scp_cmd* = "scp -q" - sftp: *g:netrw_sftp_cmd* = "sftp" - - READING *netrw-read* *netrw-nread* +CONTROLLING EXTERNAL APPLICTIONS *netrw-externapp* + + Protocol Variable Default Value + -------- ---------------- ------------- + dav: *g:netrw_dav_cmd* = "cadaver" + fetch: *g:netrw_fetch_cmd* = "fetch -o" + ftp: *g:netrw_ftp_cmd* = "ftp" + http: *g:netrw_http_cmd* = "fetch -o" if fetch is available + http: g:netrw_http_cmd = "wget -q -O" If wget is available + rcp: *g:netrw_rcp_cmd* = "rcp" + rsync: *g:netrw_rsync_cmd* = "rsync -a" + scp: *g:netrw_scp_cmd* = "scp -q" + sftp: *g:netrw_sftp_cmd* = "sftp" + +READING *netrw-read* *netrw-nread* :Nread ? give help :Nread "machine:path" uses rcp - :Nread "machine path" uses ftp with <.netrc> + :Nread "machine path" uses ftp w/ <.netrc> :Nread "machine id password path" uses ftp :Nread "dav://machine[:port]/path" uses cadaver :Nread "fetch://[user@]machine/path" uses fetch - :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc> + :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc> :Nread "http://[user@]machine/path" uses http uses wget :Nread "rcp://[user@]machine/path" uses rcp :Nread "rsync://[user@]machine[:port]/path" uses rsync :Nread "scp://[user@]machine[[:#]port]/path" uses scp :Nread "sftp://[user@]machine/path" uses sftp - WRITING *netrw-write* *netrw-nwrite* +WRITING *netrw-write* *netrw-nwrite* :Nwrite ? give help :Nwrite "machine:path" uses rcp - :Nwrite "machine path" uses ftp with <.netrc> + :Nwrite "machine path" uses ftp w/ <.netrc> :Nwrite "machine id password path" uses ftp :Nwrite "dav://machine[:port]/path" uses cadaver - :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp autodetects <.netrc> + :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc> :Nwrite "rcp://[user@]machine/path" uses rcp :Nwrite "rsync://[user@]machine[:port]/path" uses rsync :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp :Nwrite "sftp://[user@]machine/path" uses sftp http: not supported! - DIRECTORY LISTING +DIRECTORY LISTING *netrw-dirlist* :Nread [protocol]://[user]@hostname/path/ - USER AND PASSWORD CHANGING + CHANGING USERID AND PASSWORD *netrw-chgup* Attempts to use ftp will prompt you for a user-id and a password. These will be saved in g:netrw_uid and g:netrw_passwd Subsequent uses of ftp will re-use those. If you need to use a different user id @@ -135,59 +133,61 @@ in your <.vimrc> file: > :call NetUserPass("uid") -- prompts for password :call NetUserPass("uid","password") -- sets global uid and password - VARIABLES *netrw-variables* - *b:netrw_lastfile* - last file Network-read/written retained on - a per-buffer basis (supports plain :Nw ) - *s:netrw_line* - during :Nw/NetWrite, holds current line number - *s:netrw_col* - during :Nw/NetWrite, holds current column number - s:netrw_line and s:netrw_col are used to - restore the cursor position on writes - *g:netrw_ftp* - if it doesn't exist, use default ftp - =0 use default ftp (uid password) - =1 use alternate ftp method (user uid password) - *g:netrw_ftpmode* - ="binary" (default) - ="ascii" - *g:netrw_uid* - (ftp) user-id, retained on a per-session basis - *g:netrw_passwd* - (ftp) password, retained on a per-session basis - *g:netrw_win95ftp* - =1 if using Win95, will remove four trailing blank - lines that o/s's ftp "provides" on transfers - =0 force normal ftp behavior (no trailing line - removal) - *g:netrw_cygwin* - =1 assume scp under windows is from cygwin - Also permits network browsing to use - ls with time and size sorting - (default if windows) - =0 assume Windows' scp accepts windows-style paths - Network browsing uses dir instead of ls - This option is ignored if you're using unix - *g:netrw_use_nt_rcp* - =0 don't use the rcp of WinNT, Win2000 and WinXP - =1 use WinNT's rcp in binary mode (default) - - PATHS *netrw-path* - - Paths to files are generally user-directory relative for most protocols. - It is possible that some protocol will make paths relative to some - associated directory, however. - - example: vim scp://user@host/somefile - example: vim scp://user@host/subdir1/subdir2/somefile - - where "somefile" is the "user"'s home directory. If you wish to get a - file using root-relative paths, use the full path: - - example: vim scp://user@host//somefile - example: vim scp://user@host//subdir1/subdir2/somefile +VARIABLES *netrw-variables* + *b:netrw_lastfile* last file Network-read/written retained on a per-buffer + basis (supports plain :Nw ) + *s:netrw_line* during :Nw/NetWrite, holds current line number + *s:netrw_col* during :Nw/NetWrite, holds current column number + s:netrw_line and s:netrw_col are used to + restore the cursor position on writes + + *g:netrw_ftp* if it doesn't exist, use default ftp + =0 use default ftp (uid password) + =1 use alternate ftp method (user uid password) + If you're having trouble with ftp, try changing the + value of this variable to see if the alternate ftp + method works for your setup. + + *g:netrw_ftpmode* ="binary" (default) + ="ascii" + + *g:netrw_ignorenetrc* =0 (default) + =1 If you have a <.netrc> file but it doesn't work and + you want it ignored, then set this variable as shown. + + *g:netrw_uid* (ftp) user-id, retained on a per-session basis + *g:netrw_passwd* (ftp) password, retained on a per-session basis + + *g:netrw_win95ftp* =1 if using Win95, will remove four trailing blank + lines that o/s's ftp "provides" on transfers + =0 force normal ftp behavior (no trailing line removal) + + *g:netrw_cygwin* =1 assume scp under windows is from cygwin. Also + permits network browsing to use ls with time and + size sorting (default if windows) + =0 assume Windows' scp accepts windows-style paths + Network browsing uses dir instead of ls + This option is ignored if you're using unix + + *g:netrw_use_nt_rcp* =0 don't use the rcp of WinNT, Win2000 and WinXP + =1 use WinNT's rcp in binary mode (default) + +PATHS *netrw-path* + +Paths to files are generally user-directory relative for most protocols. +It is possible that some protocol will make paths relative to some +associated directory, however. +> + example: vim scp://user@host/somefile + example: vim scp://user@host/subdir1/subdir2/somefile +< +where "somefile" is the "user"'s home directory. If you wish to get a +file using root-relative paths, use the full path: +> + example: vim scp://user@host//somefile + example: vim scp://user@host//subdir1/subdir2/somefile +< ============================================================================== 2. Network-Oriented File Transfer *netrw-xfer* @@ -391,6 +391,9 @@ additional commands available. effectively remove the user-id and password by using "" strings. +:NetrwSettings This command is desribed in |netrw-settings| -- used to + display netrw settings and change netrw behavior + ============================================================================== 6. Variables and Options *netrw-options* *netrw-var* @@ -596,6 +599,7 @@ MAPS *netrw-maps* :Vexplore[!] [dir] Vertical Split & Explore.................|netrw-explore| :Pexplore[!] [dir] Vertical Split & Explore.................|netrw-explore| :Nexplore[!] [dir] Vertical Split & Explore.................|netrw-explore| + :NetrwSettings.............................................|netrw-settings| QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds* > @@ -627,107 +631,102 @@ QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds* NETRW BROWSER VARIABLES *netrw-browse-var* > - --- ----------- - Var Explanation - --- ----------- -< *g:netrw_alto* change from above splitting to - below splitting by setting this - variable (see |netrw-o|) - default: =0 - - *g:netrw_altv* change from left splitting to - right splitting by setting this - variable (see |netrw-v|) - default: =0 - - *g:netrw_ftp_browse_reject* ftp can produce a number of errors - and warnings that can show up as - "directories" and "files" in the - listing. This pattern is used to - remove such embedded messages. By - default its value is: - '^total\s\+\d\+$\| - ^Trying\s\+\d\+.*$\| - ^KERBEROS_V\d rejected\| - ^Security extensions not\| - No such file\| - : connect to address [0-9a-fA-F:]* - : No route to host$' - - *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". Use - this pattern to remove such embedded - messages. By default its value is: + --- ----------- + Var Explanation + --- ----------- +< *g:netrw_alto* change from above splitting to below splitting + by setting this variable (see |netrw-o|) + default: =0 + + *g:netrw_altv* change from left splitting to right splitting + by setting this variable (see |netrw-v|) + default: =0 + + *g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings + that can show up as "directories" and "files" + in the listing. This pattern is used to + remove such embedded messages. By default its + value is: + '^total\s\+\d\+$\| + ^Trying\s\+\d\+.*$\| + ^KERBEROS_V\d rejected\| + ^Security extensions not\| + No such file\| + : connect to address [0-9a-fA-F:]* + : No route to host$' + + *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". + Use this pattern to remove such embedded + messages. By default its value is: '^total\s\+\d\+$' - *g:netrw_keepdir* =1 (default) keep current directory - immune from the browsing directory. - =0 keep the current directory the - same as the browsing directory. - The browsing directory is contained in - b:netrw_curdir + *g:netrw_keepdir* =1 (default) keep current directory immune from + the browsing directory. + =0 keep the current directory the same as the + browsing directory. + The current browsing directory is contained in + b:netrw_curdir - *g:netrw_list_cmd* command for listing remote directories - default: (if ssh is executable) - "ssh HOSTNAME ls -FLa" + *g:netrw_list_cmd* command for listing remote directories + default: (if ssh is executable) + "ssh HOSTNAME ls -FLa" - *g:netrw_longlist* if =1, then long listing will be default + *g:netrw_longlist* if =1, then long listing will be default - *g:netrw_ftp_list_cmd* options for passing along to ftp for - directory listing. Defaults: - unix or g:netrw_cygwin set: : "ls -lF" - otherwise "dir" + *g:netrw_ftp_list_cmd* options for passing along to ftp for directory + listing. Defaults: + unix or g:netrw_cygwin set: : "ls -lF" + otherwise "dir" - *g:netrw_list_hide* comma separated list of patterns for - hiding files - default: "" + *g:netrw_list_hide* comma separated pattern list for hiding files + default: "" - *g:netrw_local_mkdir* command for making a local directory - default: "ssh HOSTNAME mkdir" + *g:netrw_local_mkdir* command for making a local directory + default: "ssh HOSTNAME mkdir" - *g:netrw_local_rmdir* remove directory command (rmdir) - default: "rmdir" + *g:netrw_local_rmdir* remove directory command (rmdir) + default: "rmdir" - *g:netrw_maxfilenamelen* =32 by default, selected so as to make - long listings fit on 80 column displays. - If your screen is wider, and you have - file/directory names longer than 32 bytes, - you may set this option to keep listings - columnar. + *g:netrw_maxfilenamelen* =32 by default, selected so as to make long + listings fit on 80 column displays. + If your screen is wider, and you have file + or directory names longer than 32 bytes, + you may set this option to keep listings + columnar. - *g:netrw_mkdir_cmd* command for making a remote directory - default: "ssh HOSTNAME mkdir" + *g:netrw_mkdir_cmd* command for making a remote directory + default: "ssh HOSTNAME mkdir" - *g:netrw_rm_cmd* command for removing files - default: "ssh HOSTNAME rm" + *g:netrw_rm_cmd* command for removing files + default: "ssh HOSTNAME rm" - *g:netrw_rmdir_cmd* command for removing directories - default: "ssh HOSTNAME rmdir" + *g:netrw_rmdir_cmd* command for removing directories + default: "ssh HOSTNAME rmdir" - *g:netrw_rmf_cmd* command for removing softlinks - default: "ssh HOSTNAME rm -f" + *g:netrw_rmf_cmd* command for removing softlinks + default: "ssh HOSTNAME rm -f" - *g:netrw_hide* if true, the hiding list is used - default: =0 + *g:netrw_hide* if true, the hiding list is used + default: =0 - *g:netrw_sort_by* sort by "name", "time", or "size" - default: "name" + *g:netrw_sort_by* sort by "name", "time", or "size" + default: "name" - *g:netrw_sort_direction* sorting direction: "normal" or "reverse" - default: "normal" + *g:netrw_sort_direction* sorting direction: "normal" or "reverse" + default: "normal" - *g:netrw_sort_sequence* when sorting by name, first sort by the - comma-separated pattern sequence - default: '[\/]$,*,\.bak$,\.o$,\.h$, - \.info$,\.swp$,\.obj$' + *g:netrw_sort_sequence* when sorting by name, first sort by the + comma-separated pattern sequence + default: '[\/]$,*,\.bak$,\.o$,\.h$, + \.info$,\.swp$,\.obj$' - *g:netrw_timefmt* specify format string to strftime() (%c) - default: "%c" + *g:netrw_timefmt* specify format string to strftime() (%c) + default: "%c" - *g:netrw_winsize* specify initial size of new o/v windows - default: "" + *g:netrw_winsize* specify initial size of new o/v windows + default: "" INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro* @@ -1011,12 +1010,20 @@ in your <.vimrc>. CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler* One may "enter" a file with a special handler, thereby firing up a browser or -other application, for example, on a file by hitting the "x" key. Presumably -one could write handlers that would start OpenOffice programs (oowriter), etc, -based on the file's extension coupled with the user's hitting the "x" key atop -the file. +other application, for example, on a file by hitting the "x" key. The special +handler varies: + + * for Windows 32 or 64, the url and FileProtocolHandler dlls are used. + * for KDE (with kfmclient): kfmclient is used. + * for Gnome (with gnome-open): gnome-open is used. + * otherwise the NetrwFileHandler plugin is used. -The Netrw executor applies a user-defined function to a file, based on its +The file's suffix is used by these various approaches to determine an +appropriate application to use to "handle" these files. Such things +as OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript +(*.ps, *.eps) can be handled. + +The NetrwFileHandler applies a user-defined function to a file, based on its extension. Of course, the handler function must exist for it to be called! > Ex. mypgm.html x -> @@ -1025,6 +1032,11 @@ extension. Of course, the handler function must exist for it to be called! See the <plugin/NetrwFileHandlers.vim> for an example of how to handle an html file with mozilla. +One may write custom NetrwFileHandlers; please look at the +plugin/NetrwFileHandlers.vim script for examples. If its likely to be +generally useful, please feel free to forward a copy to me for future +inclusion in the distribution. + MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* *netrw-curdir* @@ -1078,6 +1090,16 @@ It gives a tip for setting up password-less use of ssh and scp, and discusses the associated security issues. +NETRW SETTINGS *netrw-settings* + +With the NetrwSettings.vim plugin, > + :NetrwSettings +will bring up a window with the many variables that netrw uses for its +settings. You may change any of their values; when you save the file, +the settings therein will be used. One may also press "?" on any of +the lines for help on what each of the variables do. + + ============================================================================== 8. Problems and Fixes *netrw-problems* @@ -1195,6 +1217,13 @@ which is loaded automatically at startup (assuming :set nocp). ============================================================================== 10. History *netrw-history* + v63: * netrw now takes advantage of autoload (and requires 7.0) + * Bugfix - using r (to reverse sort) working again + v62: * Bugfix - spaces allowed again in directory names with + g:netrw_keepdir=0. In fact, I've tested netrw (again) + with most ANSI punctuation marks for directory names. + * Bugfix - NetrwSettings gave errors when g:netrw_silent + had not be set. v61: * document upgrade -- netrw variable-based settings all should have tags. Supports NetrwSettings command. * several important variables are window-oriented. Netrw has diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 05252916a..929c1060a 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 15 +*spell.txt* For Vim version 7.0aa. Last change: 2005 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -195,6 +195,7 @@ regions. You can change that by manually editing the 'spellfile'. See 'spellfile' are only used when all entries in "spelllang" specify the same region (not counting files specified by their .spl name). + *spell-german* Specific exception: For German these special regions are used: de all German words accepted de_de old and new spelling @@ -203,6 +204,16 @@ Specific exception: For German these special regions are used: de_at Austria de_ch Switzerland + *spell-yiddish* +Yiddish requires using "utf-8" encoding, because of the special characters +used. If you are using latin1 Vim will use transliterated (romanized) Yiddish +instead. If you want to use transliterated Yiddish with utf-8 use "yi-tr". +In a table: + 'encoding' 'spelllang' + utf-8 yi Yiddish + latin1 yi transliterated Yiddish + utf-8 yi-tr transliterated Yiddish + SPELL FILES *spell-load* @@ -901,9 +912,11 @@ Sometimes it is necessary to change a word when concatenating it to another, by removing a few letters, inserting something or both. It can also be useful to restrict concatenation to words that match a pattern. For this purpose CMP items can be used. They look like this: - CMP {flag} {strip} {add} {cond} {cond2} + CMP {flag} {flags} {strip} {add} {cond} {cond2} {flag} the flag, as used in COMPOUNDFLAGS for the lead word + {flags} accepted flags for the following word ('.' to accept + all) {strip} text to remove from the end of the lead word (zero for no stripping) {add} text to insert between the words (zero for no @@ -911,9 +924,9 @@ items can be used. They look like this: {cond} condition to match at the end of the lead word {cond2} condition to match at the start of the following word -This is exactly the same as what is used for SFX and PFX items, except there -is an extra condition. Example: - CMP f 0 - . . ~ +This is the same as what is used for SFX and PFX items, with the extra {flags} +and {cond2} fields. Example: + CMP f mrt 0 - . . ~ When used with the food and dish word list above, this means that a dash is inserted after each food item. Thus you get "onion-soup" and @@ -924,7 +937,7 @@ when a CMP item matches. When there are no CMP items for a compound flag, then all words will be concatenated, as if there was an item: - CMP {flag} 0 0 . . + CMP {flag} . 0 0 . . REPLACEMENTS *spell-affix-REP* diff --git a/runtime/doc/tags b/runtime/doc/tags index 18f60888b..118e324f3 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1827,6 +1827,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :command map.txt /*:command* :command-completion map.txt /*:command-completion* :command-completion-custom map.txt /*:command-completion-custom* +:command-verbose map.txt /*:command-verbose* :comment eval.txt /*:comment* :comp quickfix.txt /*:comp* :compiler quickfix.txt /*:compiler* @@ -1982,6 +1983,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME* :for eval.txt /*:for* :fu eval.txt /*:fu* :function eval.txt /*:function* +:function-verbose eval.txt /*:function-verbose* :g repeat.txt /*:g* :global repeat.txt /*:global* :go motion.txt /*:go* @@ -5006,6 +5008,7 @@ g:netrw_ftp_list_cmd pi_netrw.txt /*g:netrw_ftp_list_cmd* g:netrw_ftpmode pi_netrw.txt /*g:netrw_ftpmode* g:netrw_hide pi_netrw.txt /*g:netrw_hide* g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd* +g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc* g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir* g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd* g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide* @@ -5208,6 +5211,7 @@ hebrew hebrew.txt /*hebrew* hebrew.txt hebrew.txt /*hebrew.txt* help various.txt /*help* help-context help.txt /*help-context* +help-tags tags 1 help-translated various.txt /*help-translated* help-xterm-window various.txt /*help-xterm-window* help.txt help.txt /*help.txt* @@ -5790,6 +5794,7 @@ netrw-browse-intro pi_netrw.txt /*netrw-browse-intro* netrw-browse-var pi_netrw.txt /*netrw-browse-var* netrw-c pi_netrw.txt /*netrw-c* netrw-cadaver pi_netrw.txt /*netrw-cadaver* +netrw-chgup pi_netrw.txt /*netrw-chgup* netrw-contents pi_netrw.txt /*netrw-contents* netrw-cr pi_netrw.txt /*netrw-cr* netrw-credits pi_netrw.txt /*netrw-credits* @@ -5799,6 +5804,7 @@ netrw-d pi_netrw.txt /*netrw-d* netrw-debug pi_netrw.txt /*netrw-debug* netrw-delete pi_netrw.txt /*netrw-delete* netrw-dir pi_netrw.txt /*netrw-dir* +netrw-dirlist pi_netrw.txt /*netrw-dirlist* netrw-downdir pi_netrw.txt /*netrw-downdir* netrw-edithide pi_netrw.txt /*netrw-edithide* netrw-ex pi_netrw.txt /*netrw-ex* @@ -5846,6 +5852,7 @@ netrw-ref pi_netrw.txt /*netrw-ref* netrw-rename pi_netrw.txt /*netrw-rename* netrw-reverse pi_netrw.txt /*netrw-reverse* netrw-s pi_netrw.txt /*netrw-s* +netrw-settings pi_netrw.txt /*netrw-settings* netrw-sexplore pi_netrw.txt /*netrw-sexplore* netrw-sort pi_netrw.txt /*netrw-sort* netrw-sortsequence pi_netrw.txt /*netrw-sortsequence* @@ -6375,6 +6382,7 @@ spec_chglog_release_info pi_spec.txt /*spec_chglog_release_info* special-buffers windows.txt /*special-buffers* speed-up tips.txt /*speed-up* spell spell.txt /*spell* +spell-CMP spell.txt /*spell-CMP* spell-COMPOUNDFLAG spell.txt /*spell-COMPOUNDFLAG* spell-COMPOUNDFLAGS spell.txt /*spell-COMPOUNDFLAGS* spell-COMPOUNDMIN spell.txt /*spell-COMPOUNDMIN* @@ -6398,7 +6406,9 @@ spell-affix-compound spell.txt /*spell-affix-compound* spell-affix-mbyte spell.txt /*spell-affix-mbyte* spell-affix-vim spell.txt /*spell-affix-vim* spell-dic-format spell.txt /*spell-dic-format* +spell-double-scoring spell.txt /*spell-double-scoring* spell-file-format spell.txt /*spell-file-format* +spell-german spell.txt /*spell-german* spell-load spell.txt /*spell-load* spell-midword spell.txt /*spell-midword* spell-mkspell spell.txt /*spell-mkspell* @@ -6406,6 +6416,7 @@ spell-quickstart spell.txt /*spell-quickstart* spell-remarks spell.txt /*spell-remarks* spell-syntax spell.txt /*spell-syntax* spell-wordlist-format spell.txt /*spell-wordlist-format* +spell-yiddish spell.txt /*spell-yiddish* spell.txt spell.txt /*spell.txt* spellbadword() eval.txt /*spellbadword()* spellsuggest() eval.txt /*spellsuggest()* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 1f82ecc1a..24349231d 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 15 +*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -31,9 +31,11 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. -------------------- Known bugs and current work ----------------------- Spelling: -- suggestions for compound words. -- Implement multiple flags for compound words. Await comments from other - spell checking authors. +- Prefer SpellBad over SpellCap highlighting. +- Add limit for number of suggestions to 'spellsuggest'? +- CTRL-X s in Insert mode: move cursor back to after badly spelled word? +- Implement multiple flags for compound words and CMP item. + Await comments from other spell checking authors. Mac unicode patch (Da Woon Jung): - selecting proportional font breaks display diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index a1c537fd6..dce51bd8d 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0aa. Last change: 2005 Aug 15 +*version7.txt* For Vim version 7.0aa. Last change: 2005 Aug 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -561,8 +561,8 @@ For xterm most combinations of modifiers with function keys are recognized. When 'verbose' is set the output of ":highlight" will show where a highlight item was last set. -When 'verbose' is set the output of ":map" will show where a key map was -last defined. (Yegappan Lakshmanan) +When 'verbose' is set the output of ":map", ":command" and ":function" +commands will show where it was last defined. (Yegappan Lakshmanan) ============================================================================== IMPROVEMENTS *improvements-7* @@ -1292,4 +1292,9 @@ Searching for a pattern backwards, starting on the NUL at the end of the line and 'encoding' is "utf-8" would match the pattern just before it incorrectly. Affected searchpair('/\*', '', '\*/'). +For the Find/Replace dialog it was possible that not finding the text resulted +in an error message while redrawing, which cleared the syntax highlighting +while it was being used, resulting in a crash. Now don't clear syntax +highlighting, disable it with b_syn_error. + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/filetype.vim b/runtime/filetype.vim index 560c479d2..96c06e4d8 100644 --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2005 Aug 15 +" Last Change: 2005 Aug 16 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -1833,7 +1833,7 @@ au BufNewFile,BufRead *.y call s:FTy() fun! s:FTy() let n = 1 while n < 10 && n < line("$") - if getline(n) =~ '^\s*\(#\|class\>\)' + if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include' setf racc return endif diff --git a/runtime/menu.vim b/runtime/menu.vim index 52607235c..f4ed1b528 100644 --- a/runtime/menu.vim +++ b/runtime/menu.vim @@ -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: 2005 Jul 30 +" Last Change: 2005 Aug 16 " 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. @@ -198,10 +198,10 @@ an 20.405 &Edit.-SEP2- <Nop> if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif") an 20.410 &Edit.&Find\.\.\. :promptfind<CR> vunmenu &Edit.&Find\.\.\. - vnoremenu &Edit.&Find\.\.\. y:promptfind <C-R>"<CR> + vnoremenu <silent> &Edit.&Find\.\.\. y:call <SID>FixFText()<CR>:promptfind <C-R>"<CR> an 20.420 &Edit.Find\ and\ Rep&lace\.\.\. :promptrepl<CR> vunmenu &Edit.Find\ and\ Rep&lace\.\.\. - vnoremenu &Edit.Find\ and\ Rep&lace\.\.\. y:promptrepl <C-R>"<CR> + vnoremenu <silent> &Edit.Find\ and\ Rep&lace\.\.\. y:call <SID>FixFText()<CR>:promptrepl <C-R>"<CR> else an 20.410 &Edit.&Find<Tab>/ / an 20.420 &Edit.Find\ and\ Rep&lace<Tab>:%s :%s/ @@ -212,6 +212,11 @@ endif an 20.425 &Edit.-SEP3- <Nop> an 20.430 &Edit.Settings\ &Window :options<CR> +fun! s:FixFText() + " Fix text in nameless register to be used with :promptfind. + let @" = substitute(@", "[\r\n]", '\\n', 'g') +endfun + " Edit/Global Settings an 20.440.100 &Edit.&Global\ Settings.Toggle\ Pattern\ &Highlight<Tab>:set\ hls! :set hls! hls?<CR> an 20.440.110 &Edit.&Global\ Settings.Toggle\ &Ignore-case<Tab>:set\ ic! :set ic! ic?<CR> diff --git a/runtime/plugin/NetrwFileHandlers.vim b/runtime/plugin/NetrwFileHandlers.vim index 9b9cd2060..2aa1d9b83 100644 --- a/runtime/plugin/NetrwFileHandlers.vim +++ b/runtime/plugin/NetrwFileHandlers.vim @@ -1,25 +1,28 @@ " NetrwFileHandlers: contains various extension-based file handlers for " netrw's browsers' x command ("eXecute launcher") " Author: Charles E. Campbell, Jr. -" Date: Aug 08, 2005 -" Version: 5a NOT RELEASED -" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. +" Date: Aug 15, 2005 +" Version: 6 +" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Permission is hereby granted to use and distribute this code, " with or without modifications, provided that this copyright " notice is copied with it. Like anything else that's free, -" netrw.vim is provided *as is* and comes with no +" NetrwFileHandlers.vim is provided *as is* and comes with no " warranty of any kind, either expressed or implied. In no " event will the copyright holder be liable for any damages " resulting from the use of this software. +" +" Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1 +" is eternal life in Christ Jesus our Lord. " --------------------------------------------------------------------- " Load Once: {{{1 -if exists("g:loaded_netrwfilehandlers") || &cp +if exists("g:loaded_NetrwFileHandlers") || &cp finish endif let s:keepcpo= &cpo set cpo&vim -let g:loaded_netrwfilehandlers= "v5a" +let g:loaded_NetrwFileHandlers= "v6" " --------------------------------------------------------------------- " NetrwFileHandler_html: handles html when the user hits "x" when the {{{1 @@ -174,21 +177,6 @@ fun! NetrwFileHandler_pdf(pdf) endfun " --------------------------------------------------------------------- -" NetrwFileHandler_sxw: visualize sxw files {{{1 -fun! NetrwFileHandler_sxw(sxw) -" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)") - if executable("gs") - exe 'silent! !gs "'.a:sxw.'"' - else -" " call Dret("NetrwFileHandler_sxw 0") - return 0 - endif - -" " call Dret("NetrwFileHandler_sxw 1") - return 1 -endfun - -" --------------------------------------------------------------------- " NetrwFileHandler_doc: visualize doc files {{{1 fun! NetrwFileHandler_doc(doc) " " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)") diff --git a/runtime/plugin/NetrwPlugin.vim b/runtime/plugin/NetrwPlugin.vim new file mode 100644 index 000000000..b1f5abd78 --- /dev/null +++ b/runtime/plugin/NetrwPlugin.vim @@ -0,0 +1,156 @@ +" netrw.vim: Handles file transfer and remote directory listing across a network +" PLUGIN PORTION +" Last Change: Aug 16, 2005 +" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> +" Version: 63 +" License: Vim License (see vim's :help license) +" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim +" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 +" Permission is hereby granted to use and distribute this code, +" with or without modifications, provided that this copyright +" notice is copied with it. Like anything else that's free, +" netrw.vim is provided *as is* and comes with no warranty +" of any kind, either expressed or implied. By using this +" plugin, you agree that in no event will the copyright +" holder be liable for any damages resulting from the use +" of this software. +" +" But be doers of the Word, and not only hearers, deluding your own selves {{{1 +" (James 1:22 RSV) +" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +" --------------------------------------------------------------------- +" Load Once: {{{1 +if exists("g:loaded_netrw") || &cp + finish +endif +if v:version < 600 + echoerr "***netrw*** doesn't support Vim version ".v:version + finish +endif +let g:loaded_netrw = "v63" +if v:version < 700 + let loaded_explorer = 1 +endif +let s:keepcpo= &cpo +set cpo&vim + +" --------------------------------------------------------------------- +" Public Interface: {{{1 + +" Local Browsing: {{{2 +augroup FileExplorer + au! + au BufEnter * call s:LocalBrowse(expand("<amatch>")) +augroup END + +" Network Browsing Reading Writing: {{{2 +augroup Network + au! + if has("win32") || has("win95") || has("win64") || has("win16") + au BufReadCmd file://* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e '.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") + else + au BufReadCmd file:///* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") + au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".expand("<amatch>")|exe 'e /'.substitute(expand("<amatch>"),"file:/*","","")|exe "silent doau BufReadPost ".expand("<amatch>") + endif + au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread 0r ".expand("<amatch>")|exe "silent doau BufReadPost ".expand("<amatch>") + au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,rsync://*,sftp://* exe "silent doau BufReadPre ".expand("<amatch>")|exe "Nread " .expand("<amatch>")|exe "silent doau FileReadPost ".expand("<amatch>") + au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "Nwrite " .expand("<amatch>")|exe "silent doau BufWritePost ".expand("<amatch>") + au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,rsync://*,sftp://* exe "silent doau BufWritePre ".expand("<amatch>")|exe "'[,']Nwrite " .expand("<amatch>")|exe "silent doau FileWritePost ".expand("<amatch>") +augroup END + +" Commands: :Nread, :Nwrite, :NetUserPass {{{2 +com! -nargs=* Nread call netrw#NetSavePosn()<bar>call netrw#NetRead(<f-args>)<bar>call netrw#NetRestorePosn() +com! -range=% -nargs=* Nwrite call netrw#NetSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetRestorePosn() +com! -nargs=* NetUserPass call NetUserPass(<f-args>) + +" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2 +com! -nargs=? -bar -bang -count=0 Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>) +com! -nargs=? -bar -bang -count=0 Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>) +com! -nargs=? -bar -bang -count=0 Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>) +com! -nargs=? -bar -bang -count=0 Vexplore call netrw#Explore(<count>,1,4+<bang>0,<q-args>) +com! -nargs=? -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>) +com! -nargs=? -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>) + +" Commands: NetrwSettings {{{2 +com! -nargs=0 NetrwSettings :call NetrwSettings#NetrwSettings() + +" --------------------------------------------------------------------- +" LocalBrowse: {{{2 +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 isdirectory(a:dirname) + call netrw#DirBrowse(a:dirname) + endif + " not a directory, ignore it +endfun + +" --------------------------------------------------------------------- +" NetrwStatusLine: {{{1 +fun! NetrwStatusLine() +" let g:stlmsg= "Xbufnr=".w:netrw_explore_bufnr." bufnr=".bufnr(".")." Xline#".w:netrw_explore_line." line#".line(".") + if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr(".") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list") + let &stl= s:netrw_explore_stl + if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif + if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif + return "" + else + return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen + endif +endfun + +" ------------------------------------------------------------------------ +" NetUserPass: set username and password for subsequent ftp transfer {{{1 +" Usage: :call NetUserPass() -- will prompt for userid and password +" :call NetUserPass("uid") -- will prompt for password +" :call NetUserPass("uid","password") -- sets global userid and password +fun! NetUserPass(...) + + " get/set userid + if a:0 == 0 +" call Dfunc("NetUserPass(a:0<".a:0.">)") + if !exists("g:netrw_uid") || g:netrw_uid == "" + " via prompt + let g:netrw_uid= input('Enter username: ') + endif + else " from command line +" call Dfunc("NetUserPass(a:1<".a:1.">) {") + let g:netrw_uid= a:1 + endif + + " get password + if a:0 <= 1 " via prompt +" call Decho("a:0=".a:0." case <=1:") + let g:netrw_passwd= inputsecret("Enter Password: ") + else " from command line +" call Decho("a:0=".a:0." case >1: a:2<".a:2.">") + let g:netrw_passwd=a:2 + endif +" call Dret("NetUserPass") +endfun + +" ------------------------------------------------------------------------ +" NetReadFixup: this sort of function is typically written by the user {{{1 +" to handle extra junk that their system's ftp dumps +" into the transfer. This function is provided as an +" example and as a fix for a Windows 95 problem: in my +" experience, win95's ftp always dumped four blank lines +" at the end of the transfer. +if has("win95") && g:netrw_win95ftp + fun! NetReadFixup(method, line1, line2) +" call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")") + if method == 3 " ftp (no <.netrc>) + let fourblanklines= line2 - 3 + silent fourblanklines.",".line2."g/^\s*/d" + endif +" call Dret("NetReadFixup") + endfun +endif + +let &cpo= s:keepcpo +unlet s:keepcpo +" ------------------------------------------------------------------------ +" Modelines: {{{1 +" vim:ts=8 fdm=marker diff --git a/runtime/plugin/NetrwSettings.vim b/runtime/plugin/NetrwSettings.vim new file mode 100644 index 000000000..eecdcd234 --- /dev/null +++ b/runtime/plugin/NetrwSettings.vim @@ -0,0 +1,157 @@ +" NetrwSettings.vim: makes netrw settings simpler +" Last Change: Aug 16, 2005 +" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> +" Version: 3 +" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 +" Permission is hereby granted to use and distribute this code, +" with or without modifications, provided that this copyright +" notice is copied with it. Like anything else that's free, +" NetrwSettings.vim is provided *as is* and comes with no +" warranty of any kind, either expressed or implied. By using +" this plugin, you agree that in no event will the copyright +" holder be liable for any damages resulting from the use +" of this software. +" +" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1 +" synagogues, preaching the gospel of the kingdom, and healing +" every disease and every sickness among the people. +" Load Once: {{{1 +if exists("g:loaded_NetrwSettings") || &cp + finish +endif +let g:loaded_NetrwSettings = "v3" + +" --------------------------------------------------------------------- +" NetrwSettings: {{{1 +fun! NetrwSettings#NetrwSettings() + " this call is here largely just to insure that netrw has been loaded + call netrw#NetSavePosn() + + above wincmd s + enew + setlocal noswapfile bh=wipe + set ft=vim + file Netrw\ Settings + + " these variables have the following default effects when they don't + " exist (ie. have not been set by the user in his/her .vimrc) + if !exists("g:netrw_longlist") + let g:netrw_longlist= 0 + let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa" + endif + if !exists("g:netrw_silent") + let g:netrw_silent= 0 + endif + if !exists("g:netrw_use_nt_rcp") + let g:netrw_use_nt_rcp= 0 + endif + if !exists("g:netrw_ftp") + let g:netrw_ftp= 0 + endif + if !exists("g:netrw_ignorenetrc") + let g:netrw_ignorenetrc= 0 + endif + + put ='+ ---------------------------------------------' + put ='+ NetrwSettings: (by Charles E. Campbell, Jr.)' + put ='+ Press ? with cursor atop any line for help ' + put ='+ ---------------------------------------------' + let s:netrw_settings_stop= line(".") + + put ='' + put ='+ Netrw Protocol Commands' + put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd + put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd + put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd + put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd + put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd + put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd + put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd + put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd + let s:netrw_protocol_stop= line(".") + put = '' + + put ='+Netrw Transfer Control' + put = 'let g:netrw_cygwin = '.g:netrw_cygwin + put = 'let g:netrw_ftp = '.g:netrw_ftp + put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode + put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc + 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(".") + + put = '' + put ='+ Netrw Browser Control' + put = 'let g:netrw_alto = '.g:netrw_alto + put = 'let g:netrw_altv = '.g:netrw_altv + put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax + 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_hide = '.g:netrw_hide + put = 'let g:netrw_keepdir = '.g:netrw_keepdir + put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd + put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd + put = 'let g:netrw_list_hide = '.g:netrw_list_hide + put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir + put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir + put = 'let g:netrw_longlist = '.g:netrw_longlist + put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen + put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd + put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd + 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_sequence = '.g:netrw_sort_sequence + put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject + put = 'let g:netrw_timefmt = '.g:netrw_timefmt + put = 'let g:netrw_winsize = '.g:netrw_winsize + + put ='' + put ='+ For help, place cursor on line and press ?' + + 1d + silent %s/^+/"/e + res 99 + silent %s/= \([^0-9].*\)$/= '\1'/e + silent %s/= $/= ''/e + 1 + + set nomod + + map <buffer> <silent> ? :call NetrwSettingHelp()<cr> + let tmpfile= tempname() + exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod' +endfun + +" --------------------------------------------------------------------- +" NetrwSettingHelp: {{{2 +fun! NetrwSettingHelp() +" call Dfunc("NetrwSettingHelp()") + let curline = getline(".") + if curline =~ '=' + let varhelp = substitute(curline,'^\s*let ','','e') + let varhelp = substitute(varhelp,'\s*=.*$','','e') +" call Decho("trying help ".varhelp) + try + exe "he ".varhelp + catch /^Vim\%((\a\+)\)\=:E149/ + echo "***sorry*** no help available for <".varhelp.">" + endtry + elseif line(".") < s:netrw_settings_stop + he netrw-settings + elseif line(".") < s:netrw_protocol_stop + he netrw-externapp + elseif line(".") < s:netrw_xfer_stop + he netrw-variables + else + he netrw-browse-var + endif +" call Dret("NetrwSettingHelp") +endfun + +" --------------------------------------------------------------------- +" Modelines: {{{1 +" vim:ts=8 fdm=marker diff --git a/runtime/spell/af/main.aap b/runtime/spell/af/main.aap index d393c5fe6..ec5382509 100644 --- a/runtime/spell/af/main.aap +++ b/runtime/spell/af/main.aap @@ -11,11 +11,11 @@ FILES = af_ZA.aff af_ZA.dic all: $SPELLDIR/af.latin1.spl $SPELLDIR/af.utf-8.spl ../README_af.txt -$SPELLDIR/af.latin1.spl : $VIM $FILES +$SPELLDIR/af.latin1.spl : $FILES :sys env LANG=af_ZA.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q -$SPELLDIR/af.utf-8.spl : $VIM $FILES +$SPELLDIR/af.utf-8.spl : $FILES :sys env LANG=af_ZA.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/af af_ZA" -c q diff --git a/runtime/spell/bg/main.aap b/runtime/spell/bg/main.aap index 7849526ed..5d984be51 100644 --- a/runtime/spell/bg/main.aap +++ b/runtime/spell/bg/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for Czech Vim spell files. +# Aap recipe for Bulgarian Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -11,14 +11,15 @@ FILES = bg_BG.aff bg_BG.dic all: $SPELLDIR/bg.cp1251.spl $SPELLDIR/bg.utf-8.spl ../README_bg.txt -$SPELLDIR/bg.cp1251.spl : $VIM $FILES +$SPELLDIR/bg.cp1251.spl : $FILES :sys env LANG=bg_BG.CP1251 $VIM -u NONE -e -c "mkspell! $SPELLDIR/bg bg_BG" -c q -$SPELLDIR/bg.utf-8.spl : $VIM $FILES +$SPELLDIR/bg.utf-8.spl : $FILES :sys env LANG=bg_BG.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/bg bg_BG" -c q ../README_bg.txt: README_bg_BG.txt :copy $source $target + :sys $VIM $target -e -c "set ff=unix" -c wq # # Fetching the files from OpenOffice.org. diff --git a/runtime/spell/ca/main.aap b/runtime/spell/ca/main.aap index b2f7350b6..2182f2916 100644 --- a/runtime/spell/ca/main.aap +++ b/runtime/spell/ca/main.aap @@ -11,11 +11,11 @@ FILES = ca_ES.aff ca_ES.dic all: $SPELLDIR/ca.latin1.spl $SPELLDIR/ca.utf-8.spl ../README_ca.txt -$SPELLDIR/ca.latin1.spl : $VIM $FILES +$SPELLDIR/ca.latin1.spl : $FILES :sys env LANG=ca_ES.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ca ca_ES" -c q -$SPELLDIR/ca.utf-8.spl : $VIM $FILES +$SPELLDIR/ca.utf-8.spl : $FILES :sys env LANG=ca_ES.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/ca ca_ES" -c q diff --git a/runtime/spell/cs/main.aap b/runtime/spell/cs/main.aap index 5ead6d0a3..53ae46fea 100644 --- a/runtime/spell/cs/main.aap +++ b/runtime/spell/cs/main.aap @@ -12,13 +12,13 @@ FILES = cs_CZ.aff cs_CZ.dic all: $SPELLDIR/cs.iso-8859-2.spl $SPELLDIR/cs.utf-8.spl \ $SPELLDIR/cs.cp1250.spl ../README_cs.txt -$SPELLDIR/cs.iso-8859-2.spl : $VIM $FILES +$SPELLDIR/cs.iso-8859-2.spl : $FILES :sys env LANG=cs_CZ.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/cs cs_CZ" -c q -$SPELLDIR/cs.utf-8.spl : $VIM $FILES +$SPELLDIR/cs.utf-8.spl : $FILES :sys env LANG=cs_CZ.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/cs cs_CZ" -c q -$SPELLDIR/cs.cp1250.spl : $VIM $FILES +$SPELLDIR/cs.cp1250.spl : $FILES :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/cs cs_CZ" -c q ../README_cs.txt: README_cs_CZ.txt diff --git a/runtime/spell/da/da_DK.diff b/runtime/spell/da/da_DK.diff new file mode 100644 index 000000000..afcb8d3bc --- /dev/null +++ b/runtime/spell/da/da_DK.diff @@ -0,0 +1,16 @@ +*** da_DK.orig.aff Sun Aug 14 20:04:31 2005 +--- da_DK.aff Mon Aug 15 14:03:06 2005 +*************** +*** 6,7 **** +--- 6,16 ---- + ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ ++ ++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿ ++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep? ++ ++ MIDWORD '- ++ + # Foranstilling af u- diff --git a/runtime/spell/da/main.aap b/runtime/spell/da/main.aap index 53e371648..b84a80f93 100644 --- a/runtime/spell/da/main.aap +++ b/runtime/spell/da/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for French Vim spell files. +# Aap recipe for Danish Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -11,11 +11,11 @@ FILES = da_DK.aff da_DK.dic all: $SPELLDIR/da.latin1.spl $SPELLDIR/da.utf-8.spl ../README_da.txt -$SPELLDIR/da.latin1.spl : $VIM $FILES +$SPELLDIR/da.latin1.spl : $FILES :sys env LANG=da_DK.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/da da_DK" -c q -$SPELLDIR/da.utf-8.spl : $VIM $FILES +$SPELLDIR/da.utf-8.spl : $FILES :sys env LANG=da_DK.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/da da_DK" -c q diff --git a/runtime/spell/de/main.aap b/runtime/spell/de/main.aap index df608e1b7..718e78c6f 100644 --- a/runtime/spell/de/main.aap +++ b/runtime/spell/de/main.aap @@ -32,11 +32,11 @@ READMES = README_de_$*(REGIONS).txt all: $SPELLDIR/de.latin1.spl $SPELLDIR/de.utf-8.spl ../README_de.txt -$SPELLDIR/de.latin1.spl : $VIM $FILES +$SPELLDIR/de.latin1.spl : $FILES :sys env LANG=de_DE.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q -$SPELLDIR/de.utf-8.spl : $VIM $FILES +$SPELLDIR/de.utf-8.spl : $FILES :sys env LANG=de_DE.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/de $DE_REGIONS" -c q diff --git a/runtime/spell/el/main.aap b/runtime/spell/el/main.aap new file mode 100644 index 000000000..51fa0d36e --- /dev/null +++ b/runtime/spell/el/main.aap @@ -0,0 +1,78 @@ +# Aap recipe for Greek Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = el_GR.aff el_GR.dic + +all: $SPELLDIR/el.iso-8859-7.spl $SPELLDIR/el.utf-8.spl ../README_el.txt + +$SPELLDIR/el.iso-8859-7.spl : $FILES + :sys env LANG=el_GR.ISO8859-7 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q + +$SPELLDIR/el.utf-8.spl : $FILES + :sys env LANG=el_GR.UTF-8 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/el el_GR" -c q + +../README_el.txt : README_el_GR.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $OODIR/%file%} el_GR.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +el_GR.aff el_GR.dic: {buildcheck=} + :assertpkg unzip patch + :fetch el_GR.zip + :sys $UNZIP el_GR.zip + :delete el_GR.zip + @if not os.path.exists('el_GR.orig.aff'): + :copy el_GR.aff el_GR.orig.aff + @if not os.path.exists('el_GR.orig.dic'): + :copy el_GR.dic el_GR.orig.dic + @if os.path.exists('el_GR.diff'): + :sys patch <el_GR.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 el_GR.orig.aff el_GR.aff >el_GR.diff + :sys {force} diff -a -C 1 el_GR.orig.dic el_GR.dic >>el_GR.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch el_GR.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $UNZIP ../el_GR.zip + :sys {force} diff ../el_GR.orig.aff el_GR.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy el_GR.aff ../el_GR.new.aff + :sys {force} diff ../el_GR.orig.dic el_GR.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy el_GR.dic ../el_GR.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete el_GR.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl Binary files differindex c77ef9af7..9d2b068c4 100644 --- a/runtime/spell/en.ascii.spl +++ b/runtime/spell/en.ascii.spl diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl Binary files differindex 851f7141f..95b536394 100644 --- a/runtime/spell/en.latin1.spl +++ b/runtime/spell/en.latin1.spl diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl Binary files differindex d6b783644..8b2edc692 100644 --- a/runtime/spell/en.utf-8.spl +++ b/runtime/spell/en.utf-8.spl diff --git a/runtime/spell/en/en_AU.diff b/runtime/spell/en/en_AU.diff index c0ee62d6b..2d6e42c56 100644 --- a/runtime/spell/en/en_AU.diff +++ b/runtime/spell/en/en_AU.diff @@ -2352,7 +2352,7 @@ ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] *** en_AU.orig.dic Fri Apr 15 13:20:36 2005 ---- en_AU.dic Sun Jul 3 17:11:07 2005 +--- en_AU.dic Tue Aug 16 17:03:44 2005 *************** *** 912,914 **** Alaska/M @@ -2603,25 +2603,26 @@ Vilnius/M ! vim/M vinaigrette/MS ---- 43742,43744 ---- +--- 43742,43745 ---- Vilnius/M ! Vim/M +! vim/? vinaigrette/MS *************** *** 45494,45496 **** yippee - y/K YMCA ---- 45487,45488 ---- +--- 45488,45489 ---- *************** *** 45586,45588 **** zap/SGRD - z/d Zealanders ---- 45578,45579 ---- +--- 45579,45580 ---- *************** *** 45655 **** ---- 45646,45653 ---- +--- 45647,45654 ---- zymurgy/S + nd + the the/! diff --git a/runtime/spell/en/en_CA.diff b/runtime/spell/en/en_CA.diff index 904e0c620..c6319ce86 100644 --- a/runtime/spell/en/en_CA.diff +++ b/runtime/spell/en/en_CA.diff @@ -165,7 +165,7 @@ ! SFX G 0 ing [^e] *** en_CA.orig.dic Sat Apr 16 14:40:06 2005 ---- en_CA.dic Sun Jul 3 17:09:40 2005 +--- en_CA.dic Tue Aug 16 17:03:55 2005 *************** *** 46,48 **** R/G @@ -405,6 +405,15 @@ + Moolenaar/M Bresenham/M *************** +*** 40455,40457 **** + proneness/MS +! transl + Conchita/M +--- 40454,40456 ---- + proneness/MS +! transl. + Conchita/M +*************** *** 50272,50273 **** --- 50271,50273 ---- Dutch/M @@ -415,19 +424,20 @@ hatchery/MS ! vim/SM compatriot/MS ---- 52565,52567 ---- +--- 52565,52568 ---- hatchery/MS ! Vim/SM +! vim/? compatriot/MS *************** *** 53490,53491 **** ---- 53490,53492 ---- +--- 53491,53493 ---- unsearchable + searchable felicitous/IY *************** *** 62341 **** ---- 62342,62349 ---- +--- 62343,62350 ---- data/M + et al. + the the/! diff --git a/runtime/spell/en/en_GB.diff b/runtime/spell/en/en_GB.diff index 6032c2558..714077d4b 100644 --- a/runtime/spell/en/en_GB.diff +++ b/runtime/spell/en/en_GB.diff @@ -2356,7 +2356,7 @@ ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] *** en_GB.orig.dic Sun Jul 3 18:05:07 2005 ---- en_GB.dic Sun Jul 3 18:19:25 2005 +--- en_GB.dic Tue Aug 16 17:05:18 2005 *************** *** 630,632 **** Byrne/M @@ -2482,7 +2482,7 @@ vindaloo/S --- 30760,30763 ---- villein/SM -! vim/M? +! vim/? ! Vim/M vindaloo/S *************** diff --git a/runtime/spell/en/en_NZ.diff b/runtime/spell/en/en_NZ.diff index 4e28fff4e..3eee71851 100644 --- a/runtime/spell/en/en_NZ.diff +++ b/runtime/spell/en/en_NZ.diff @@ -2353,7 +2353,7 @@ ! SFX 3 o ist's o ! SFX 3 0 ist's [^eoy] *** en_NZ.orig.dic Fri Apr 15 13:20:36 2005 ---- en_NZ.dic Sun Jul 3 17:11:34 2005 +--- en_NZ.dic Tue Aug 16 17:05:28 2005 *************** *** 4,6 **** 2ZB @@ -2591,82 +2591,83 @@ Vilnius/M ! vim/M vinaigrette/MS ---- 44313,44315 ---- +--- 44313,44316 ---- Vilnius/M ! Vim/M +! vim/? vinaigrette/MS *************** *** 45906,45908 **** y'all - prey/M yacht/M5SmGD ---- 45885,45886 ---- +--- 45886,45887 ---- *************** *** 46198,46200 **** rata/M - kaka/M waka/M ---- 46176,46177 ---- +--- 46177,46178 ---- *************** *** 46216,46218 **** jandal/MS - Swanndri/M hoon/MS ---- 46193,46194 ---- +--- 46194,46195 ---- *************** *** 46242,46244 **** Invercargill/M - Te Alexandra/M ---- 46218,46219 ---- +--- 46219,46220 ---- *************** *** 46261,46263 **** Kawerau/M - Kerikeri/M Lyttelton/M ---- 46236,46237 ---- +--- 46237,46238 ---- *************** *** 46491,46493 **** Waianakarua - Hakatere Swin ---- 46465,46466 ---- +--- 46466,46467 ---- *************** *** 46690,46692 **** Omarama/M - Wairarapa/M Kilda/M ---- 46663,46664 ---- +--- 46664,46665 ---- *************** *** 46711,46713 **** Wellsford/M - Akaroa/M Avonhead/M ---- 46683,46684 ---- +--- 46684,46685 ---- *************** *** 46838,46840 **** Ballantyne's - DB Monteith's ---- 46809,46810 ---- +--- 46810,46811 ---- *************** *** 46920,46922 **** Egmont/M - Waitaki/M katipo/M ---- 46890,46891 ---- +--- 46891,46892 ---- *************** *** 46956,46958 **** Sunnyside/M - Wairau/M Waikoropupu ---- 46925,46926 ---- +--- 46926,46927 ---- *************** *** 47141,47142 **** Burkina ! Faso/M \ No newline at end of file ---- 47109,47117 ---- +--- 47110,47118 ---- Burkina ! Faso/M ! nd diff --git a/runtime/spell/en/en_US.diff b/runtime/spell/en/en_US.diff index 99ddf0a18..17051dcf8 100644 --- a/runtime/spell/en/en_US.diff +++ b/runtime/spell/en/en_US.diff @@ -172,7 +172,7 @@ + REP ie y REP i ee *** en_US.orig.dic Fri Apr 15 13:20:36 2005 ---- en_US.dic Sun Jul 3 16:59:28 2005 +--- en_US.dic Tue Aug 16 17:03:31 2005 *************** *** 5944,5946 **** bk @@ -467,6 +467,15 @@ ! sings sybarite/MS *************** +*** 56906,56908 **** + transit/SGVMD +! transl + translatability/M +--- 56905,56907 ---- + transit/SGVMD +! transl. + translatability/M +*************** *** 57728,57730 **** TX ! t/XTJBG @@ -501,16 +510,17 @@ vi/MDR ! vim/MS vinaigrette/MS ---- 59537,59539 ---- +--- 59537,59540 ---- vi/MDR ! Vim/MS +! vim/? vinaigrette/MS *************** *** 61534,61536 **** WWW ! w/XTJGV WY ---- 61533,61536 ---- +--- 61534,61537 ---- WWW ! wens ! wings @@ -520,19 +530,19 @@ yew/SM - y/F Yggdrasil/M ---- 61750,61751 ---- +--- 61751,61752 ---- *************** *** 62058,62060 **** Zsigmondy/M ! z/TGJ Zubenelgenubi/M ---- 62057,62059 ---- +--- 62058,62060 ---- Zsigmondy/M ! zings Zubenelgenubi/M *************** *** 62077 **** ---- 62076,62083 ---- +--- 62077,62084 ---- zymurgy/S + nd + the the/! diff --git a/runtime/spell/en/main.aap b/runtime/spell/en/main.aap index 37a9ed10e..9e4b98ea7 100644 --- a/runtime/spell/en/main.aap +++ b/runtime/spell/en/main.aap @@ -16,17 +16,17 @@ FILES = en_US.aff en_US.dic all: $SPELLDIR/en.latin1.spl $SPELLDIR/en.utf-8.spl \ $SPELLDIR/en.ascii.spl ../README_en.txt -$SPELLDIR/en.latin1.spl : $VIM $FILES +$SPELLDIR/en.latin1.spl : $FILES :sys env LANG=en_US.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/en en_US en_AU en_CA en_GB en_NZ" -c q -$SPELLDIR/en.utf-8.spl : $VIM $FILES +$SPELLDIR/en.utf-8.spl : $FILES :sys env LANG=en_US.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/en en_US en_AU en_CA en_GB en_NZ" -c q -$SPELLDIR/en.ascii.spl : $VIM $FILES +$SPELLDIR/en.ascii.spl : $FILES :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/en en_US en_AU en_CA en_GB en_NZ" -c q diff --git a/runtime/spell/eo/eo_l3.diff b/runtime/spell/eo/eo_l3.diff new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/runtime/spell/eo/eo_l3.diff diff --git a/runtime/spell/eo/main.aap b/runtime/spell/eo/main.aap new file mode 100644 index 000000000..19b7555ab --- /dev/null +++ b/runtime/spell/eo/main.aap @@ -0,0 +1,80 @@ +# Aap recipe for Esperanto Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = eo_l3.aff eo_l3.dic + +all: $SPELLDIR/eo.iso-8859-3.spl $SPELLDIR/eo.utf-8.spl ../README_eo.txt + +$SPELLDIR/eo.iso-8859-3.spl : $FILES + :sys $VIM -u NONE -e -c "set enc=iso-8859-3" + -c "mkspell! $SPELLDIR/eo eo_l3" -c q + +$SPELLDIR/eo.utf-8.spl : $FILES + :sys $VIM -u NONE -e -c "set enc=utf-8" + -c "mkspell! $SPELLDIR/eo eo_l3" -c q + +../README_eo.txt : README_eo_l3.txt + :copy $source $target + # fix missing newline + :sys $VIM $target -e -c "set ff=unix" -c wq + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $OODIR/%file%} eo.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +eo_l3.aff eo_l3.dic: {buildcheck=} + :assertpkg unzip patch + :fetch eo.zip + :sys $UNZIP eo.zip + :delete eo.zip + @if not os.path.exists('eo_l3.orig.aff'): + :copy eo_l3.aff eo_l3.orig.aff + @if not os.path.exists('eo_l3.orig.dic'): + :copy eo_l3.dic eo_l3.orig.dic + @if os.path.exists('eo_l3.diff'): + :sys patch <eo_l3.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 eo_l3.orig.aff eo_l3.aff >eo_l3.diff + :sys {force} diff -a -C 1 eo_l3.orig.dic eo_l3.dic >>eo_l3.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch eo.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $UNZIP ../eo.zip + :sys {force} diff ../eo_l3.orig.aff eo_l3.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy eo_l3.aff ../eo_l3.new.aff + :sys {force} diff ../eo_l3.orig.dic eo_l3.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy eo_l3.dic ../eo_l3.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete eo.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/fo/fo_FO.diff b/runtime/spell/fo/fo_FO.diff new file mode 100644 index 000000000..212befe8d --- /dev/null +++ b/runtime/spell/fo/fo_FO.diff @@ -0,0 +1,14 @@ +*** fo_FO.orig.aff Tue Aug 16 17:39:22 2005 +--- fo_FO.aff Tue Aug 16 17:41:00 2005 +*************** +*** 6 **** +--- 6,14 ---- + ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ ++ ++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿ ++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep? ++ ++ MIDWORD '- diff --git a/runtime/spell/fo/main.aap b/runtime/spell/fo/main.aap new file mode 100644 index 000000000..948d4a472 --- /dev/null +++ b/runtime/spell/fo/main.aap @@ -0,0 +1,78 @@ +# Aap recipe for Faroese Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = fo_FO.aff fo_FO.dic + +all: $SPELLDIR/fo.latin1.spl $SPELLDIR/fo.utf-8.spl ../README_fo.txt + +$SPELLDIR/fo.latin1.spl : $FILES + :sys env LANG=fo_FO.ISO8859-1 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q + +$SPELLDIR/fo.utf-8.spl : $FILES + :sys env LANG=fo_FO.UTF-8 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/fo fo_FO" -c q + +../README_fo.txt : README_fo_FO.txt Copyright + :cat $source >! $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $OODIR/%file%} fo_FO.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +fo_FO.aff fo_FO.dic: {buildcheck=} + :assertpkg unzip patch + :fetch fo_FO.zip + :sys $UNZIP fo_FO.zip + :delete fo_FO.zip + @if not os.path.exists('fo_FO.orig.aff'): + :copy fo_FO.aff fo_FO.orig.aff + @if not os.path.exists('fo_FO.orig.dic'): + :copy fo_FO.dic fo_FO.orig.dic + @if os.path.exists('fo_FO.diff'): + :sys patch <fo_FO.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 fo_FO.orig.aff fo_FO.aff >fo_FO.diff + :sys {force} diff -a -C 1 fo_FO.orig.dic fo_FO.dic >>fo_FO.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch fo_FO.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $UNZIP ../fo_FO.zip + :sys {force} diff ../fo_FO.orig.aff fo_FO.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy fo_FO.aff ../fo_FO.new.aff + :sys {force} diff ../fo_FO.orig.dic fo_FO.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy fo_FO.dic ../fo_FO.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete fo_FO.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/fr/main.aap b/runtime/spell/fr/main.aap index 9e51039a4..e7424326d 100644 --- a/runtime/spell/fr/main.aap +++ b/runtime/spell/fr/main.aap @@ -11,11 +11,11 @@ FILES = fr_FR.aff fr_FR.dic all: $SPELLDIR/fr.latin1.spl $SPELLDIR/fr.utf-8.spl ../README_fr.txt -$SPELLDIR/fr.latin1.spl : $VIM $FILES +$SPELLDIR/fr.latin1.spl : $FILES :sys env LANG=fr_FR.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q -$SPELLDIR/fr.utf-8.spl : $VIM $FILES +$SPELLDIR/fr.utf-8.spl : $FILES :sys env LANG=fr_FR.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q diff --git a/runtime/spell/gl/gl_ES.diff b/runtime/spell/gl/gl_ES.diff new file mode 100644 index 000000000..1ddcf7852 --- /dev/null +++ b/runtime/spell/gl/gl_ES.diff @@ -0,0 +1,15 @@ +*** gl_ES.orig.aff Tue Aug 16 17:55:38 2005 +--- gl_ES.aff Tue Aug 16 17:57:03 2005 +*************** +*** 2,3 **** +--- 2,11 ---- + TRY áéíóúesianrtolcdugmphbfvñ ++ ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ ++ ++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿ ++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep? ++ + # COMPOUNDMIN 3 diff --git a/runtime/spell/gl/main.aap b/runtime/spell/gl/main.aap new file mode 100644 index 000000000..2fc012aa3 --- /dev/null +++ b/runtime/spell/gl/main.aap @@ -0,0 +1,78 @@ +# Aap recipe for Galician (Spain) Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = gl_ES.aff gl_ES.dic + +all: $SPELLDIR/gl.latin1.spl $SPELLDIR/gl.utf-8.spl ../README_gl.txt + +$SPELLDIR/gl.latin1.spl : $FILES + :sys env LANG=gl_ES.ISO8859-1 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q + +$SPELLDIR/gl.utf-8.spl : $FILES + :sys env LANG=gl_ES.UTF-8 + $VIM -u NONE -e -c "mkspell! $SPELLDIR/gl gl_ES" -c q + +../README_gl.txt : README_gl_ES.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $OODIR/%file%} gl_ES.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +gl_ES.aff gl_ES.dic: {buildcheck=} + :assertpkg unzip patch + :fetch gl_ES.zip + :sys $UNZIP gl_ES.zip + :delete gl_ES.zip + @if not os.path.exists('gl_ES.orig.aff'): + :copy gl_ES.aff gl_ES.orig.aff + @if not os.path.exists('gl_ES.orig.dic'): + :copy gl_ES.dic gl_ES.orig.dic + @if os.path.exists('gl_ES.diff'): + :sys patch <gl_ES.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 gl_ES.orig.aff gl_ES.aff >gl_ES.diff + :sys {force} diff -a -C 1 gl_ES.orig.dic gl_ES.dic >>gl_ES.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch gl_ES.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $UNZIP ../gl_ES.zip + :sys {force} diff ../gl_ES.orig.aff gl_ES.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy gl_ES.aff ../gl_ES.new.aff + :sys {force} diff ../gl_ES.orig.dic gl_ES.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy gl_ES.dic ../gl_ES.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete gl_ES.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/he/main.aap b/runtime/spell/he/main.aap index 4db930b9f..715851745 100644 --- a/runtime/spell/he/main.aap +++ b/runtime/spell/he/main.aap @@ -11,11 +11,11 @@ FILES = he_IL.aff he_IL.dic all: $SPELLDIR/he.utf-8.spl $SPELLDIR/he.iso-8859-8.spl ../README_he.txt -$SPELLDIR/he.utf-8.spl : $VIM $FILES +$SPELLDIR/he.utf-8.spl : $FILES :sys env LANG=he_IL.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/he he_IL" -c q -$SPELLDIR/he.iso-8859-8.spl : $VIM $FILES +$SPELLDIR/he.iso-8859-8.spl : $FILES :sys $VIM -u NONE -e -c "set enc=iso-8859-8" -c "mkspell! $SPELLDIR/he he_IL" -c q diff --git a/runtime/spell/hr/main.aap b/runtime/spell/hr/main.aap index f272b873e..699d61fe7 100644 --- a/runtime/spell/hr/main.aap +++ b/runtime/spell/hr/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for Polish Vim spell files. +# Aap recipe for Croatian Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -12,13 +12,13 @@ FILES = hr_HR.aff hr_HR.dic all: $SPELLDIR/hr.iso-8859-2.spl $SPELLDIR/pl.utf-8.spl \ $SPELLDIR/hr.cp1250.spl ../README_pl.txt -$SPELLDIR/hr.iso-8859-2.spl : $VIM $FILES +$SPELLDIR/hr.iso-8859-2.spl : $FILES :sys env LANG=hr_HR.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hr hr_HR" -c q -$SPELLDIR/hr.utf-8.spl : $VIM $FILES +$SPELLDIR/hr.utf-8.spl : $FILES :sys env LANG=hr_HR.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hr hr_HR" -c q -$SPELLDIR/hr.cp1250.spl : $VIM $FILES +$SPELLDIR/hr.cp1250.spl : $FILES :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hr hr_HR" -c q ../README_hr.txt: README_hr_HR.txt diff --git a/runtime/spell/hu/hu_HU.diff b/runtime/spell/hu/hu_HU.diff new file mode 100644 index 000000000..de22c794f --- /dev/null +++ b/runtime/spell/hu/hu_HU.diff @@ -0,0 +1,128 @@ +*** hu_HU.orig.aff Tue Aug 16 18:21:10 2005 +--- hu_HU.aff Tue Aug 16 19:42:34 2005 +*************** +*** 57,62 **** + +! NAME Magyar Ispell helyesírási szótár +! LANG hu_HU +! HOME http://magyarispell.sourceforge.net +! VERSION Magyar 0.99.4.2 + SET ISO8859-2 +--- 57,62 ---- + +! #NAME Magyar Ispell helyesírási szótár +! #LANG hu_HU +! #HOME http://magyarispell.sourceforge.net +! #VERSION Magyar 0.99.4.2 + SET ISO8859-2 +*************** +*** 65,77 **** + COMPOUNDFLAG Y +! COMPOUNDWORD 2 y +! COMPOUNDSYLLABLE 6 aáeéiíoóöõuúüû +! SYLLABLENUM klmc +! COMPOUNDFIRST v +! COMPOUNDLAST x +! FORBIDDENWORD w +! ONLYROOT u +! ACCENT áéíóöõúüû aeiooouuu +! CHECKNUM +! WORDCHARS -.§%°0123456789 +! HU_KOTOHANGZO Z + +--- 65,80 ---- + COMPOUNDFLAG Y +! #COMPOUNDWORD 2 y +! #COMPOUNDSYLLABLE 6 aáeéiíoóöõuúüû +! #SYLLABLENUM klmc +! #COMPOUNDFIRST v +! #COMPOUNDLAST x +! #FORBIDDENWORD w +! BAD w +! #ONLYROOT u +! #ACCENT áéíóöõúüû aeiooouuu +! #CHECKNUM +! #WORDCHARS -.§%°0123456789 +! #HU_KOTOHANGZO Z +! +! PFXPOSTPONE + +*************** +*** 173,241 **** + +- # character conversion table +- # (HTML latin-1 entities -> latin-2) +- # not implemented yet +- +- CHR HTML 35 +- CHR HTML ¤ ¤ +- CHR HTML ° ° +- CHR HTML ´ ´ +- CHR HTML ¸ ¸ +- CHR HTML Á Á +- CHR HTML   +- CHR HTML Ä Ä +- CHR HTML Ç Ç +- CHR HTML É É +- CHR HTML Ë Ë +- CHR HTML Í Í +- CHR HTML Î Î +- CHR HTML Ó Ó +- CHR HTML Ô Ô +- CHR HTML Ö Ö +- CHR HTML × × +- CHR HTML Ú Ú +- CHR HTML Ü Ü +- CHR HTML Ý Ý +- CHR HTML ß ß +- CHR HTML á á +- CHR HTML â â +- CHR HTML ä ä +- CHR HTML ç ç +- CHR HTML é é +- CHR HTML ë ë +- CHR HTML í í +- CHR HTML î î +- CHR HTML ó ó +- CHR HTML ô ô +- CHR HTML ö ö +- CHR HTML ÷ ÷ +- CHR HTML ú ú +- CHR HTML ü ü +- CHR HTML ý ý +- +- # character conversion table +- # (Prószéky-code -> latin-2) +- # not implemented yet +- +- CHR 123 20 +- CHR 123 a1 á +- CHR 123 e1 é +- CHR 123 e2 ë +- CHR 123 i1 í +- CHR 123 o1 ó +- CHR 123 o2 ö +- CHR 123 o3 õ +- CHR 123 u1 ú +- CHR 123 u2 ü +- CHR 123 u3 û +- CHR 123 A1 Á +- CHR 123 E1 É +- CHR 123 E2 Ë +- CHR 123 I1 Í +- CHR 123 O1 Ó +- CHR 123 O2 Ö +- CHR 123 O3 Õ +- CHR 123 U1 Ú +- CHR 123 U2 Ü +- CHR 123 U3 Û +- + SFX z Y 6 +--- 176,177 ---- +*************** +*** 17678,17681 **** + PFX D 0 leg . +- +- 1 +- +--- 17614 ---- diff --git a/runtime/spell/hu/main.aap b/runtime/spell/hu/main.aap new file mode 100644 index 000000000..3890b1eaf --- /dev/null +++ b/runtime/spell/hu/main.aap @@ -0,0 +1,81 @@ +# Aap recipe for Hungarian Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = hu_HU.aff hu_HU.dic + +all: $SPELLDIR/hu.iso-8859-2.spl $SPELLDIR/hu.utf-8.spl \ + $SPELLDIR/hu.cp1250.spl ../README_hu.txt + +$SPELLDIR/hu.iso-8859-2.spl : $FILES + :sys env LANG=hu_HU.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q + +$SPELLDIR/hu.utf-8.spl : $FILES + :sys env LANG=hu_HU.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/hu hu_HU" -c q + +$SPELLDIR/hu.cp1250.spl : $FILES + :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/hu hu_HU" -c q + +../README_hu.txt: README_hu_HU.txt + :copy $source $target + +# +# Fetching the files from OpenOffice.org. +# +OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +:attr {fetch = $OODIR/%file%} hu_HU.zip + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +# This is a bit tricky, since the file name includes the date. +hu_HU.aff hu_HU.dic: {buildcheck=} + :assertpkg unzip patch + :fetch hu_HU.zip + :sys $UNZIP hu_HU.zip + :delete hu_HU.zip + @if not os.path.exists('hu_HU.orig.aff'): + :copy hu_HU.aff hu_HU.orig.aff + @if not os.path.exists('hu_HU.orig.dic'): + :copy hu_HU.dic hu_HU.orig.dic + @if os.path.exists('hu_HU.diff'): + :sys patch <hu_HU.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -a -C 1 hu_HU.orig.aff hu_HU.aff >hu_HU.diff + :sys {force} diff -a -C 1 hu_HU.orig.dic hu_HU.dic >>hu_HU.diff + + +# Check for updated OpenOffice spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :assertpkg unzip diff + :fetch hu_HU.zip + :mkdir tmp + :cd tmp + @try: + @import stat + :sys $UNZIP ../hu_HU.zip + :sys {force} diff ../hu_HU.orig.aff hu_HU.aff >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy hu_HU.aff ../hu_HU.new.aff + :sys {force} diff ../hu_HU.orig.dic hu_HU.dic >d + @if os.stat('d')[stat.ST_SIZE] > 0: + :copy hu_HU.dic ../hu_HU.new.dic + @finally: + :cd .. + :delete {r}{f}{q} tmp + :delete hu_HU.zip + + +# vim: set sts=4 sw=4 : diff --git a/runtime/spell/it/main.aap b/runtime/spell/it/main.aap index ef541c45b..eaced6802 100644 --- a/runtime/spell/it/main.aap +++ b/runtime/spell/it/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for French Vim spell files. +# Aap recipe for Italian Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -11,11 +11,11 @@ FILES = it_IT.aff it_IT.dic all: $SPELLDIR/it.latin1.spl $SPELLDIR/it.utf-8.spl ../README_it.txt -$SPELLDIR/it.latin1.spl : $VIM $FILES +$SPELLDIR/it.latin1.spl : $FILES :sys env LANG=it_IT.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/it it_IT" -c q -$SPELLDIR/it.utf-8.spl : $VIM $FILES +$SPELLDIR/it.utf-8.spl : $FILES :sys env LANG=it_IT.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/it it_IT" -c q diff --git a/runtime/spell/main.aap b/runtime/spell/main.aap index 68864b89e..1e37c1cc3 100644 --- a/runtime/spell/main.aap +++ b/runtime/spell/main.aap @@ -1,10 +1,22 @@ -# "aap": generate all the .spl files -# "aap diff" create all the diff files +# Toplevel Aap recipe for Vim spell files +# +# Usage: +# aap generate all the .spl files +# aap diff create all the diff files -LANG = af bg ca cs da de en fr he hr it nl ny pl sk yi +LANG = af bg ca cs da de el en eo fr fo gl he hr it nl ny pl sk yi + +# TODO: +# Finnish doesn't work, the dictionary fi_FI.zip file contains hyphenation... diff: $*LANG/diff :print done @for l in string.split(_no.LANG): :child $l/main.aap + +# The existing .spl files need to be generated when the spell file format +# changes. Depending on the Vim executable does that, but results in doing it +# much too often. Generate a dummy .spl file and check if it changed. +:child check/main.aap +*.spl: check/check.latin1.spl diff --git a/runtime/spell/nl/main.aap b/runtime/spell/nl/main.aap index 02ae49d57..e23111337 100644 --- a/runtime/spell/nl/main.aap +++ b/runtime/spell/nl/main.aap @@ -11,11 +11,11 @@ FILES = nl_NL.aff nl_NL.dic all: $SPELLDIR/nl.latin1.spl $SPELLDIR/nl.utf-8.spl ../README_nl.txt -$SPELLDIR/nl.latin1.spl : $VIM $FILES +$SPELLDIR/nl.latin1.spl : $FILES :sys env LANG=nl_NL.ISO8859-1 $VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q -$SPELLDIR/nl.utf-8.spl : $VIM $FILES +$SPELLDIR/nl.utf-8.spl : $FILES :sys env LANG=nl_NL.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/nl nl_NL" -c q diff --git a/runtime/spell/ny/main.aap b/runtime/spell/ny/main.aap index e7fcbf7b7..b73b50c6b 100644 --- a/runtime/spell/ny/main.aap +++ b/runtime/spell/ny/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for Dutch Vim spell files. +# Aap recipe for Chichewa Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -12,15 +12,15 @@ FILES = ny_MW.aff ny_MW.dic all: $SPELLDIR/ny.iso-8859-14.spl $SPELLDIR/ny.utf-8.spl \ $SPELLDIR/ny.ascii.spl ../README_ny.txt -$SPELLDIR/ny.iso-8859-14.spl : $VIM $FILES +$SPELLDIR/ny.iso-8859-14.spl : $FILES :sys $VIM -u NONE -e -c "set enc=iso-8859-14" -c "mkspell! $SPELLDIR/ny ny_MW" -c q -$SPELLDIR/ny.utf-8.spl : $VIM $FILES +$SPELLDIR/ny.utf-8.spl : $FILES :sys $VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/ny ny_MW" -c q -$SPELLDIR/ny.ascii.spl : $VIM $FILES +$SPELLDIR/ny.ascii.spl : $FILES :sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/ny ny_MW" -c q ../README_ny.txt : README_ny_MW.txt diff --git a/runtime/spell/pl/main.aap b/runtime/spell/pl/main.aap index e33acf802..eb21c5e48 100644 --- a/runtime/spell/pl/main.aap +++ b/runtime/spell/pl/main.aap @@ -12,13 +12,13 @@ FILES = pl_PL.aff pl_PL.dic all: $SPELLDIR/pl.iso-8859-2.spl $SPELLDIR/pl.utf-8.spl \ $SPELLDIR/pl.cp1250.spl ../README_pl.txt -$SPELLDIR/pl.iso-8859-2.spl : $VIM $FILES +$SPELLDIR/pl.iso-8859-2.spl : $FILES :sys env LANG=pl_PL.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pl pl_PL" -c q -$SPELLDIR/pl.utf-8.spl : $VIM $FILES +$SPELLDIR/pl.utf-8.spl : $FILES :sys env LANG=pl_PL.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/pl pl_PL" -c q -$SPELLDIR/pl.cp1250.spl : $VIM $FILES +$SPELLDIR/pl.cp1250.spl : $FILES :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/pl pl_PL" -c q ../README_pl.txt: README_pl_PL.txt diff --git a/runtime/spell/sk/main.aap b/runtime/spell/sk/main.aap index b18d195c1..db973553b 100644 --- a/runtime/spell/sk/main.aap +++ b/runtime/spell/sk/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for Czech Vim spell files. +# Aap recipe for Slovak Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -12,13 +12,13 @@ FILES = sk_SK.aff sk_SK.dic all: $SPELLDIR/sk.iso-8859-2.spl $SPELLDIR/sk.utf-8.spl \ $SPELLDIR/sk.cp1250.spl ../README_sk.txt -$SPELLDIR/sk.iso-8859-2.spl : $VIM $FILES +$SPELLDIR/sk.iso-8859-2.spl : $FILES :sys env LANG=sk_SK.ISO8859-2 $VIM -u NONE -e -c "mkspell! $SPELLDIR/sk sk_SK" -c q -$SPELLDIR/sk.utf-8.spl : $VIM $FILES +$SPELLDIR/sk.utf-8.spl : $FILES :sys env LANG=sk_SK.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/sk sk_SK" -c q -$SPELLDIR/sk.cp1250.spl : $VIM $FILES +$SPELLDIR/sk.cp1250.spl : $FILES :sys $VIM -u NONE -e -c "set enc=cp1250" -c "mkspell! $SPELLDIR/sk sk_SK" -c q ../README_sk.txt: README_sk_SK.txt diff --git a/runtime/spell/yi/!yi.diff b/runtime/spell/yi/!yi.diff index 00ec10474..484dc69f7 100644 --- a/runtime/spell/yi/!yi.diff +++ b/runtime/spell/yi/!yi.diff @@ -1,7 +1,8 @@ -*** wordlist.utf8.txt Thu Aug 11 17:55:15 2005 ---- yi.dic Thu Aug 11 17:56:28 2005 +*** wordlist.utf8.txt Thu Aug 11 19:49:22 2005 +--- yi.dic Thu Aug 11 19:49:23 2005 *************** -*** 1 **** ---- 1,2 ---- -+ 99999 +*** 1,2 **** +--- 1,3 ---- ++ 999999 ×’×¨×•× ×˜×¢×œ×¢×ž×¢× ×˜ + דזש×Ö¸×‘×¢× ×“×™×§×¡ diff --git a/runtime/spell/yi/!yi_tr.diff b/runtime/spell/yi/!yi_tr.diff new file mode 100644 index 000000000..5d8183f7d --- /dev/null +++ b/runtime/spell/yi/!yi_tr.diff @@ -0,0 +1,8 @@ +*** wordlist.txt Tue Aug 16 10:46:26 2005 +--- yi_tr.dic Tue Aug 16 10:46:42 2005 +*************** +*** 1,2 **** +--- 1,3 ---- ++ 84608 + gruntelement + dzhobendiks diff --git a/runtime/spell/yi/README.txt b/runtime/spell/yi/README.txt index db432935c..09af739c5 100644 --- a/runtime/spell/yi/README.txt +++ b/runtime/spell/yi/README.txt @@ -3,4 +3,7 @@ README file for the Yiddish spell file. The word list was provided by Raphael Finkel. It is the same one that is used by uspell. +There also is a romanized (transliterated) word list. This is used for +latin1. To use this list when 'encoding' is utf-8 use ":set spelllang=yi-tr". + Copyright Raphael Finkel. Included with permission in Vim. diff --git a/runtime/spell/yi/main.aap b/runtime/spell/yi/main.aap index 31d057e01..8a98ce050 100644 --- a/runtime/spell/yi/main.aap +++ b/runtime/spell/yi/main.aap @@ -1,4 +1,4 @@ -# Aap recipe for Hebrew Vim spell files. +# Aap recipe for Yiddish Vim spell files. # Use a freshly compiled Vim if it exists. @if os.path.exists('../../../src/vim'): @@ -6,16 +6,27 @@ @else: :progsearch VIM vim -SPELLDIR = .. -FILES = yi.dic yi.aff -WORDFILE = wordlist.utf8.txt +SPELLDIR = .. +FILES = yi.dic yi.aff +WORDFILE = wordlist.utf8.txt +FILES_TR = yi_tr.dic yi_tr.aff +WORDFILE_TR = wordlist.txt -all: $SPELLDIR/yi.utf-8.spl ../README_yi.txt +all: $SPELLDIR/yi.utf-8.spl $SPELLDIR/yi-tr.utf-8.spl \ + $SPELLDIR/yi.latin1.spl ../README_yi.txt -$SPELLDIR/yi.utf-8.spl : $VIM $FILES +$SPELLDIR/yi.utf-8.spl : $FILES :sys $VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/yi yi" -c q +$SPELLDIR/yi-tr.utf-8.spl : $FILES_TR + :sys $VIM -u NONE -e -c "set enc=utf-8" + -c "mkspell! $SPELLDIR/yi-tr yi_tr" -c q + +$SPELLDIR/yi.latin1.spl : $FILES_TR + :sys $VIM -u NONE -e -c "set enc=latin1" + -c "mkspell! $SPELLDIR/yi yi_tr" -c q + ../README_yi.txt : README.txt :copy $source $target @@ -23,7 +34,7 @@ $SPELLDIR/yi.utf-8.spl : $VIM $FILES # Fetch the word list when needed. # URLDIR = http://www.cs.uky.edu/~raphael/yiddish -:attr {fetch = $URLDIR/%file%} $WORDFILE +:attr {fetch = $URLDIR/%file%} $WORDFILE $WORDFILE_TR # We use the word list as a .dic file, so that we can use an affix file to # define a few extra things. @@ -35,13 +46,20 @@ $FILES: {buildcheck=} @if os.path.exists('yi.diff'): :sys patch < yi.diff -diff: +$FILES_TR: {buildcheck=} + :assertpkg patch + :fetch $WORDFILE_TR + :copy $WORDFILE_TR yi_tr.dic + :touch {force} yi_tr.aff + @if os.path.exists('yi_tr.diff'): + :sys patch < yi_tr.diff + +diff {virtual}: :assertpkg diff - :delete yi.diff # Using a context of two lines to work around a bug in FreeBSD patch. - :sys {force} diff -a -C 2 $WORDFILE yi.dic >yi.diff - :sys {force} diff -a -N -C 1 /dev/null yi.aff >>yi.diff - - + :sys {force} diff -a -C 2 $WORDFILE yi.dic > yi.diff + :sys {force} diff -a -N -C 1 /dev/null yi.aff >> yi.diff + :sys {force} diff -a -C 2 $WORDFILE_TR yi_tr.dic > yi_tr.diff + :sys {force} diff -a -N -C 1 /dev/null yi_tr.aff >> yi_tr.diff # vim: set sts=4 sw=4 : diff --git a/runtime/spell/yi/yi.diff b/runtime/spell/yi/yi.diff index 020f2dc49..45a2d90b0 100644 --- a/runtime/spell/yi/yi.diff +++ b/runtime/spell/yi/yi.diff @@ -1,18 +1,19 @@ -*** wordlist.utf8.txt Thu Aug 11 18:40:11 2005 ---- yi.dic Thu Aug 11 19:48:53 2005 +*** wordlist.utf8.txt Thu Aug 11 19:49:22 2005 +--- yi.dic Thu Aug 11 19:49:23 2005 *************** *** 1,2 **** --- 1,3 ---- + 999999 ×’×¨×•× ×˜×¢×œ×¢×ž×¢× ×˜ דזש×Ö¸×‘×¢× ×“×™×§×¡ -*** /dev/null Thu Aug 11 19:48:23 2005 ---- yi.aff Thu Aug 11 18:50:45 2005 +*** /dev/null Tue Aug 16 10:44:00 2005 +--- yi.aff Mon Aug 15 23:06:00 2005 *************** *** 0 **** ---- 1,5 ---- +--- 1,6 ---- + SET UTF-8 + -+ REP 2 ++ REP 3 + REP וו ×° + REP ×™×™ ײ ++ REP וי ×± diff --git a/runtime/spell/yi/yi_tr.diff b/runtime/spell/yi/yi_tr.diff new file mode 100644 index 000000000..5f26a7b8a --- /dev/null +++ b/runtime/spell/yi/yi_tr.diff @@ -0,0 +1,18 @@ +*** wordlist.txt Tue Aug 16 10:46:26 2005 +--- yi_tr.dic Tue Aug 16 10:46:42 2005 +*************** +*** 1,2 **** +--- 1,3 ---- ++ 84608 + gruntelement + dzhobendiks +*** /dev/null Tue Aug 16 10:44:00 2005 +--- yi_tr.aff Tue Aug 16 10:48:01 2005 +*************** +*** 0 **** +--- 1,5 ---- ++ SET ISO8859-1 ++ ++ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ ++ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim index 1b6dee4aa..a49df3f25 100644 --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -2,8 +2,8 @@ " Language: shell (sh) Korn shell (ksh) bash (sh) " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> -" Last Change: Jul 01, 2005 -" Version: 75 +" Last Change: Aug 16, 2005 +" Version: 76 " URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax " " Using the following VIM variables: {{{1 @@ -73,7 +73,7 @@ syn cluster shColonList contains=@shCaseList syn cluster shCommandSubList contains=shArithmetic,shDeref,shDerefSimple,shNumber,shOperator,shPosnParm,shSpecial,shExSingleQuote,shSingleQuote,shDoubleQuote,shStatement,shVariable,shSubSh,shAlias,shTest syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shSpecial,shPosnParm -syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError +syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS syn cluster shDerefVarList contains=shDerefOp,shDerefVarArray,shDerefOpError syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shExpr,shExSingleQuote,shSingleQuote,shDoubleQuote,shSpecial syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shSingleQuote,shDoubleQuote,shSpecial,shExpr,shDblBrace,shDeref,shDerefSimple @@ -368,24 +368,25 @@ syn match shDerefOp contained ":\=+" nextgroup=@shDerefPatternList if exists("b:is_bash") || exists("b:is_kornshell") syn match shDerefOp contained "#\{1,2}" nextgroup=@shDerefPatternList syn match shDerefOp contained "%\{1,2}" nextgroup=@shDerefPatternList - syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub nextgroup=shDerefPattern + syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub,shDerefEscape nextgroup=shDerefPattern syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern + syn match shDerefEscape contained '\%(\\\\\)*\\.' endif syn region shDerefString contained matchgroup=shOperator start=+'+ end=+'+ contains=shStringSpecial syn region shDerefString contained matchgroup=shOperator start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial syn match shDerefString contained "\\["']" -" bash : ${parameter:offset} -" bash : ${parameter:offset:length} -" bash : ${parameter//pattern/string} -" bash : ${parameter//pattern} if exists("b:is_bash") + " bash : ${parameter:offset} + " bash : ${parameter:offset:length} syn region shDerefOp contained start=":[$[:alnum:]_]"me=e-1 end=":"me=e-1 end="}"me=e-1 contains=@shCommandSubList nextgroup=shDerefPOL - syn match shDerefPOL contained ":[^}]\{1,}" contains=@shCommandSubList - syn match shDerefOp contained "/\{1,2}" nextgroup=shDerefPat - syn match shDerefPat contained "[^/}]\{1,}" nextgroup=shDerefPatStringOp - syn match shDerefPatStringOp contained "/" nextgroup=shDerefPatString - syn match shDerefPatString contained "[^}]\{1,}" + syn match shDerefPOL contained ":[^}]\+" contains=@shCommandSubList + + " bash : ${parameter//pattern/string} + " bash : ${parameter//pattern} + syn match shDerefPPS contained '/\{1,2}' nextgroup=shDerefPPSleft + syn region shDerefPPSleft contained start='.' skip=@\%(\\\)\/@ matchgroup=shDerefOp end='/' nextgroup=shDerefPPSright contains=@shCommandSubList + syn region shDerefPPSright contained start='.' end='\ze}' contains=@shCommandSubList endif " Useful sh Keywords: {{{1 @@ -441,9 +442,8 @@ hi def link shCaseStart shConditional hi def link shCmdSubRegion shShellVariables hi def link shColon shStatement hi def link shDerefOp shOperator -hi def link shDerefPatStringOp shDerefOp -hi def link shDerefPatString shDerefPattern hi def link shDerefPOL shDerefOp +hi def link shDerefPPS shDerefOp hi def link shDeref shShellVariables hi def link shDerefSimple shDeref hi def link shDerefSpecial shDeref diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim index fb7a7e41d..b18d908fd 100644 --- a/runtime/syntax/tex.vim +++ b/runtime/syntax/tex.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: TeX " Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM> -" Last Change: Aug 11, 2005 -" Version: 28 +" Last Change: Aug 15, 2005 +" Version: 29 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Notes: {{{1 @@ -102,7 +102,7 @@ if !exists("g:tex_no_error") endif syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract -syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption +syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter if !exists("tex_no_math") syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ @@ -114,6 +114,16 @@ if !exists("tex_no_math") syn cluster texMathMatchGroup add=texMathError syn cluster texMathZoneGroup add=texMathError endif + syn cluster texMathZoneGroup add=@NoSpell + " following used in the \part \chapter \section \subsection \subsubsection + " \paragraph \subparagraph \author \title highlighting + syn cluster texDocGroup contains=texPartZone,@texPartGroup + syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone + syn cluster texChapterGroup contains=texSectionZone,texParaZone + syn cluster texSectionGroup contains=texSubSectionZone,texParaZone + syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone + syn cluster texSubSubSectionGroup contains=texParaZone + syn cluster texParaGroup contains=texSubParaZone endif " Try to flag {} and () mismatches: {{{1 @@ -246,29 +256,27 @@ syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained " Sections, subsections, etc: {{{1 if g:tex_fold_enabled && has("folding") - syn cluster texDocGroup contains=texPartZone,@texPartGroup - syn cluster texPartGroup contains=texChapterZone,texSectionZone,texParaZone - syn cluster texChapterGroup contains=texSectionZone,texParaZone - syn cluster texSectionGroup contains=texSubSectionZone,texParaZone - syn cluster texSubSectionGroup contains=texSubSubSectionZone,texParaZone - syn cluster texSubSubSectionGroup contains=texParaZone - syn cluster texParaGroup contains=texSubParaZone - - syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold keepend contains=@texFoldGroup,@texDocGroup - syn region texPartZone matchgroup=texSection start='\\part\>' end='\n\ze\s*\\part\>' fold keepend contains=@texFoldGroup,@texPartGroup - syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\n\ze\s*\\chapter\>' fold keepend contains=@texFoldGroup,@texChapterGroup - syn region texSectionZone matchgroup=texSection start='\\section\>' end='\n\ze\s*\\section\>' fold keepend contains=@texFoldGroup,@texSectionGroup - syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\n\ze\s*\\subsection\>' fold keepend contains=@texFoldGroup,@texSubSectionGroup - syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\n\ze\s*\\subsubsection\>' fold keepend contains=@texFoldGroup,@texSubSubSectionGroup - syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\n\ze\s*\\paragraph\>' fold keepend contains=@texFoldGroup,@texParaGroup - syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\n\ze\s*\\subparagraph\>' fold keepend contains=@texFoldGroup - syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup - syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup + syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' fold keepend contains=@texFoldGroup,@texDocGroup,@Spell + syn region texPartZone matchgroup=texSection start='\\part\>' end='\n\ze\s*\\part\>' fold keepend contains=@texFoldGroup,@texPartGroup,@Spell + syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\n\ze\s*\\chapter\>' fold keepend contains=@texFoldGroup,@texChapterGroup,@Spell + syn region texSectionZone matchgroup=texSection start='\\section\>' end='\n\ze\s*\\section\>' fold keepend contains=@texFoldGroup,@texSectionGroup,@Spell + syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\n\ze\s*\\subsection\>' fold keepend contains=@texFoldGroup,@texSubSectionGroup,@Spell + syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\n\ze\s*\\subsubsection\>' fold keepend contains=@texFoldGroup,@texSubSubSectionGroup,@Spell + syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\n\ze\s*\\paragraph\>' fold keepend contains=@texFoldGroup,@texParaGroup,@Spell + syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\n\ze\s*\\subparagraph\>' fold keepend contains=@texFoldGroup,@Spell + syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' fold contains=@texFoldGroup,@Spell + syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' fold contains=@texFoldGroup,@Spell else - syn match texSection "\\\(sub\)*section\*\=\>" - syn match texSection "\\\(part\|chapter\|paragraph\|subparagraph\)\>" - syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*\ze{' end='}' contains=@texFoldGroup - syn match texSection "\\begin\s*{\s*abstract\s*}\|\\end\s*{\s*abstract\s*}" + syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' keepend contains=@texFoldGroup,@texDocGroup,@Spell + syn region texPartZone matchgroup=texSection start='\\part\>' end='\n\ze\s*\\part\>' keepend contains=@texFoldGroup,@texPartGroup,@Spell + syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\n\ze\s*\\chapter\>' keepend contains=@texFoldGroup,@texChapterGroup,@Spell + syn region texSectionZone matchgroup=texSection start='\\section\>' end='\n\ze\s*\\section\>' keepend contains=@texFoldGroup,@texSectionGroup,@Spell + syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\n\ze\s*\\subsection\>' keepend contains=@texFoldGroup,@texSubSectionGroup,@Spell + syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\n\ze\s*\\subsubsection\>' keepend contains=@texFoldGroup,@texSubSubSectionGroup,@Spell + syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\n\ze\s*\\paragraph\>' keepend contains=@texFoldGroup,@texParaGroup,@Spell + syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\n\ze\s*\\subparagraph\>' keepend contains=@texFoldGroup,@Spell + syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell + syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell endif " Bad Math (mismatched): {{{1 @@ -370,7 +378,7 @@ endif " Separate lines used for verb` and verb# so that the end conditions {{{1 " will appropriately terminate. Ideally vim would let me save a " character from the start pattern and re-use it in the end-pattern. -syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" +syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" contains=@Spell if version < 600 syn region texZone start="\\verb\*\=`" end="`\|%stopzone\>" syn region texZone start="\\verb\*\=#" end="#\|%stopzone\>" diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index f895df705..9e79aabf4 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 7.0 script " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: August 02, 2005 -" Version: 7.0-11 +" Last Change: Aug 16, 2005 +" Version: 7.0-13 " Automatically generated keyword lists: {{{1 " Quit when a syntax file was already loaded {{{2 @@ -16,7 +16,7 @@ syn keyword vimTodo contained COMBAK NOT RELEASED TODO WIP syn cluster vimCommentGroup contains=vimTodo,@Spell " regular vim commands {{{2 -syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cad[dfile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] lockv[ar] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spellr[epall] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] y[ank] +syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[dd] argd[elete] argdo arge[dit] argg[lobal] argl[ocal] ar[gs] argu[ment] as[cii] bad[d] ba[ll] bd[elete] be bel[owright] bf[irst] bl[ast] bm[odified] bn[ext] bN[ext] bo[tright] bp[revious] brea[k] breaka[dd] breakd[el] breakl[ist] br[ewind] bro[wse] bufdo b[uffer] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cad[dfile] cal[l] cat[ch] cb[uffer] cc ccl[ose] cd ce[nter] cex[pr] cf[ile] cfir[st] cg[etfile] c[hange] changes chd[ir] che[ckpath] checkt[ime] cla[st] cl[ist] clo[se] cmapc[lear] cnew[er] cn[ext] cN[ext] cnf[ile] cNf[ile] cnorea[bbrev] col[der] colo[rscheme] comc[lear] comp[iler] conf[irm] con[tinue] cope[n] co[py] cpf[ile] cp[revious] cq[uit] cr[ewind] cuna[bbrev] cu[nmap] cw[indow] debugg[reedy] delc[ommand] d[elete] DeleteFirst delf[unction] delm[arks] diffg[et] diffoff diffpatch diffpu[t] diffsplit diffthis diffu[pdate] dig[raphs] di[splay] dj[ump] dl[ist] dr[op] ds[earch] dsp[lit] echoe[rr] echom[sg] echon e[dit] el[se] elsei[f] em[enu] emenu* endfo[r] endf[unction] en[dif] endt[ry] endw[hile] ene[w] ex exi[t] Explore exu[sage] f[ile] files filetype fina[lly] fin[d] fini[sh] fir[st] fix[del] fo[ld] foldc[lose] folddoc[losed] foldd[oopen] foldo[pen] for fu[nction] g[lobal] go[to] gr[ep] grepa[dd] ha[rdcopy] h[elp] helpf[ind] helpg[rep] helpt[ags] Hexplore hid[e] his[tory] I ia[bbrev] iabc[lear] if ij[ump] il[ist] imapc[lear] inorea[bbrev] is[earch] isp[lit] iuna[bbrev] iu[nmap] j[oin] ju[mps] k keepalt keepj[umps] kee[pmarks] lan[guage] la[st] lc[d] lch[dir] le[ft] lefta[bove] l[ist] lm[ap] lmapc[lear] ln[oremap] lo[adview] loc[kmarks] lockv[ar] ls lu[nmap] mak[e] ma[rk] marks mat[ch] menut[ranslate] mk[exrc] mks[ession] mksp[ell] mkvie[w] mkv[imrc] mod[e] m[ove] mzf[ile] mz[scheme] nbkey new n[ext] N[ext] nmapc[lear] noh[lsearch] norea[bbrev] Nread nu[mber] nun[map] Nw omapc[lear] on[ly] o[pen] opt[ions] ou[nmap] pc[lose] ped[it] pe[rl] perld[o] po[p] popu popu[p] pp[op] pre[serve] prev[ious] p[rint] P[rint] profd[el] prof[ile] prompt promptf[ind] promptr[epl] ps[earch] pta[g] ptf[irst] ptj[ump] ptl[ast] ptn[ext] ptN[ext] ptp[revious] ptr[ewind] pts[elect] pu[t] pw[d] pyf[ile] py[thon] qa[ll] q[uit] quita[ll] r[ead] rec[over] redi[r] red[o] redr[aw] redraws[tatus] reg[isters] res[ize] ret[ab] retu[rn] rew[ind] ri[ght] rightb[elow] rub[y] rubyd[o] rubyf[ile] ru[ntime] rv[iminfo] sal[l] san[dbox] sa[rgument] sav[eas] sba[ll] sbf[irst] sbl[ast] sbm[odified] sbn[ext] sbN[ext] sbp[revious] sbr[ewind] sb[uffer] scripte[ncoding] scrip[tnames] se[t] setf[iletype] setg[lobal] setl[ocal] Sexplore sf[ind] sfir[st] sh[ell] sign sil[ent] sim[alt] sla[st] sl[eep] sm[agic] sn[ext] sN[ext] sni[ff] sno[magic] sor[t] so[urce] spelld[ump] spe[llgood] spellr[epall] spellw[rong] sp[lit] spr[evious] sre[wind] sta[g] star[tinsert] startr[eplace] stj[ump] st[op] stopi[nsert] sts[elect] sun[hide] sus[pend] sv[iew] syncbind t ta[g] tags tc[l] tcld[o] tclf[ile] te[aroff] tf[irst] the th[row] tj[ump] tl[ast] tm tm[enu] tn[ext] tN[ext] to[pleft] tp[revious] tr[ewind] try ts[elect] tu tu[nmenu] una[bbreviate] u[ndo] unh[ide] unlo[ckvar] unm[ap] up[date] verb[ose] ve[rsion] vert[ical] Vexplore v[global] vie[w] vim[grep] vimgrepa[dd] vi[sual] viu[sage] vmapc[lear] vne[w] vs[plit] vu[nmap] wa[ll] wh[ile] winc[md] windo winp[os] win[size] wn[ext] wN[ext] wp[revious] wq wqa[ll] w[rite] ws[verb] wv[iminfo] X xa[ll] x[it] y[ank] syn match vimCommand contained "\<z[-+^.=]" " vimOptions are caught only when contained in a vimSet {{{2 @@ -55,7 +55,7 @@ syn match vimHLGroup contained "Conceal" syn case match " Function Names {{{2 -syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank printf range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile +syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call char2nr cindent col complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfontname getfperm getfsize getftime getftype getline getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matchend matchlist matchstr max min mkdir mode nextnonblank nr2char prevnonblank printf range readfile remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchpair server2client serverlist setbufvar setcmdpos setline setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth writefile "--- syntax above generated by mkvimvim --- " Special Vim Highlighting (not automatic) {{{1 @@ -123,7 +123,7 @@ syn keyword vimPattern contained start skip end " Operators: {{{2 " ========= -syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk +syn cluster vimOperGroup contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk,vimRegister syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile syn region vimOperParen oneline matchgroup=vimOper start="(" end=")" contains=@vimOperGroup @@ -193,8 +193,8 @@ syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\ syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline syn match vimNotPatSep contained "\\\\" syn cluster vimStringGroup contains=vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone -syn region vimString oneline keepend start=+[^:a-zA-Z>!\\]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup -syn region vimString oneline keepend start=+[^:a-zA-Z>!\\]'+lc=1 end=+'+ contains=@vimStringGroup +syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ end=+"+ contains=@vimStringGroup +syn region vimString oneline keepend start=+[^:a-zA-Z>!\\@]'+lc=1 end=+'+ contains=@vimStringGroup syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup @@ -232,21 +232,21 @@ syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumb syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper syn match vimPlainMark contained "'[a-zA-Z0-9]" -syn match vimRegister '[^(,;.]"[a-zA-Z0-9.%#:_\-/][^a-zA-Z_"]'lc=1,me=e-1 -syn match vimRegister '\<norm\s\+"[a-zA-Z0-9]'lc=5 -syn match vimRegister '\<normal\s\+"[a-zA-Z0-9]'lc=7 +syn match vimRegister '[^,;]\zs"[a-zA-Z0-9.%#:_\-/][^a-zA-Z_"]\ze' +syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]' +syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]' syn match vimRegister '@"' syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]' -syn match vimAddress ",[.$]"lc=1 skipwhite nextgroup=vimSubst1 -syn match vimAddress "%\a"me=e-1 skipwhite nextgroup=vimString,vimSubst1 +syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1 +syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1 syn match vimFilter contained "^!.\{-}\(|\|$\)" contains=vimSpecFile syn match vimFilter contained "\A!.\{-}\(|\|$\)"ms=s+1 contains=vimSpecFile " Complex repeats (:h complex-repeat) {{{2 "syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]'lc=1 -syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)' +"syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)' " Set command and associated set-options (vimOptions) with comment {{{2 syn region vimSet matchgroup=vimCommand start="\<setlocal\|set\>" end="|"me=e-1 end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod |