# HG changeset patch # User vimboss # Date 1144960655 0 # Node ID 01583c79d5f4d3f29d4c33dd10dd29efd349cad0 # Parent fd1b3406fd1cbe1e7250c95f7b30604d7e46b2d1 updated for version 7.0d03 diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim --- a/runtime/autoload/netrw.vim +++ b/runtime/autoload/netrw.vim @@ -1,7 +1,7 @@ " netrw.vim: Handles file transfer and remote directory listing across a network " AUTOLOAD PORTION -" Date: Apr 06, 2006 -" Version: 86 +" Date: Apr 12, 2006 +" Version: 87 " Maintainer: Charles E Campbell, Jr " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 @@ -23,7 +23,7 @@ if &cp || exists("g:loaded_netrw") finish endif -let g:loaded_netrw = "v86" +let g:loaded_netrw = "v87" if v:version < 700 echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None finish @@ -1155,7 +1155,7 @@ fun! s:NetBrowse(dirname) " set up menus let b:netrw_browser_active= 1 - call s:NetMenu() + call s:NetMenu(1) " make this buffer modifiable setlocal ma nonu nowrap @@ -1460,6 +1460,7 @@ fun! s:NetBrowse(dirname) else exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!' endif + " remove priority pattern prefix exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e' endif if w:netrw_longlist == 1 @@ -1494,14 +1495,17 @@ fun! s:NetBrowseChgDir(dirname,newdir) if newdir !~ '[\/]$' " handling a file let dirname= dirname.newdir + let didfile= 0 if g:netrw_browse_split == 1 new wincmd _ elseif g:netrw_browse_split == 2 rightb vert new wincmd | + else + " handling a file, didn't split, so possibly remove menu + call s:NetMenu(0) endif - call s:NetMenu() " call Decho("handling a file: dirname<".dirname.">") elseif newdir == './' @@ -2567,7 +2571,7 @@ fun! netrw#NetObtain(...) endfun " --------------------------------------------------------------------- -" NetPrevWinOpen: opoen file/directory in previous window. {{{2 +" NetPrevWinOpen: open file/directory in previous window. {{{2 " If there's only one window, then the window will first be split. fun! s:NetPrevWinOpen(islocal) " call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")") @@ -2644,69 +2648,81 @@ endfun " --------------------------------------------------------------------- " NetMenu: generates the menu for gvim and netrw {{{2 -fun! s:NetMenu() +fun! s:NetMenu(domenu) if has("menu") && has("gui_running") && &go =~ 'm' -" call Dfunc("NetMenu()") - if !exists("s:netrw_menu_enabled") +" call Dfunc("NetMenu(domenu=".a:domenu.")") + if !exists("s:netrw_menu_enabled") && a:domenu +" call Decho("initialize menu") let s:netrw_menu_enabled= 1 - if !exists("g:DrChipTopLvlMenu") - let g:DrChipTopLvlMenu= "DrChip." + if !exists("g:NetrwTopLvlMenu") + let g:NetrwTopLvlMenu= "Netrw." endif - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Help? ?' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Apply\ Special\ Viewerx x' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Bookmark\ Current\ Directoryb Nb' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Go\ Up\ Directory- -' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Goto\ Bookmarked\ DirectoryB NB' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Recently\ Used\ Directoryu u' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Subsequently\ Used\ DirectoryU U' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Delete\ File/DirectoryD D' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File\ Hiding\ List'." \" - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory '."\" - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Windowo o' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Vertical\ Window\ v v' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.List\ Bookmarks\ and\ Historyq q' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Listing\ Style\ (thin-long-wide)i i' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Make\ Subdirectoryd d' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Normal-Hide-Showa a' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Obtain\ FileO O' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Preview\ File/Directoryp p' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Previous\ Window\ BrowserP P' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Refresh\ Listing'." \" - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Rename\ File/DirectoryR R' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Reverse\ Sorting\ Order'."r r" - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Select\ Sorting\ Styles s' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Sorting\ Sequence\ EditS S' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Set\ Current\ Directoryc c' - exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Settings/Options:NetrwSettings '.":NetrwSettings\" - else -" call Decho("clear menus") - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Help' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Apply\ Special\ Viewer' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Bookmark\ Current\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Go\ Up\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Goto\ Bookmarked\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Recently\ Used\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Subsequently\ Used\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Delete\ File/Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File\ Hiding\ List' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Enter\ File/Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Enter\ File/Directory\ (vertical\ split)' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.List\ Bookmarks\ and\ History' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Listing\ Style\ (thin-long-wide)' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Make\ Subdirectory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Normal-Hide-Show' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Obtain\ File' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Preview\ File' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Previous\ Window\ Browser' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Refresh\ Listing' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Rename\ File/Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Reverse\ Sorting\ Order' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Select\ Sorting\ Style' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Sorting\ Sequence\ Edit' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Set\ Current\ Directory' - exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Settings/Options' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Help ' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewerx x' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directoryb Nb' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory- -' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ DirectoryB NB' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directoryu u' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ DirectoryU U' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Delete\ File/DirectoryD D' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List'." \" + exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory '."\" + exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Windowo o' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Windowv v' + exe 'silent! menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ Historyq q' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)i i' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Make\ Subdirectoryd d' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Normal-Hide-Showa a' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Obtain\ FileO O' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Preview\ File/Directoryp p' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Previous\ Window\ BrowserP P' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Refresh\ Listing'." \" + exe 'silent! menu '.g:NetrwTopLvlMenu.'Rename\ File/DirectoryR R' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order'."r r" + exe 'silent! menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Styles s' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ EditS S' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directoryc c' + exe 'silent! menu '.g:NetrwTopLvlMenu.'Settings/Options:NetrwSettings '.":NetrwSettings\" + elseif !a:domenu + let s:netrwcnt = 0 + let curwin = winnr() + windo if getline(2) =~ "Netrw" | let s:netrwcnt= s:netrwcnt + 1 | endif + exe curwin."wincmd w" + + if s:netrwcnt <= 1 +" call Decho("clear menus") + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Help' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Delete\ File/Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory\ (vertical\ split)' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Make\ Subdirectory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Normal-Hide-Show' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Obtain\ File' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Preview\ File/Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Refresh\ Listing' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Rename\ File/Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory' + exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Settings/Options' + unlet s:netrw_menu_enabled + endif endif " call Dret("NetMenu") endif @@ -2766,7 +2782,7 @@ fun! netrw#DirBrowse(dirname) " set up menus let b:netrw_browser_active= 1 - call s:NetMenu() + call s:NetMenu(1) " find buffer number of buffer named precisely the same as a:dirname let bufnum= bufnr(escape(a:dirname,'\')) @@ -2793,7 +2809,7 @@ fun! netrw#DirBrowse(dirname) else exe "keepalt b ".bufnum if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by - if getline(2) =~ '^" Directory Listing ' + if getline(2) =~ '^" Netrw Directory Listing ' if !g:netrw_keepdir " call Decho("change directory: cd ".b:netrw_curdir) exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape) @@ -2911,7 +2927,7 @@ fun! netrw#DirBrowse(dirname) " call Decho("set up banner") keepjumps put ='\" ============================================================================' keepjumps 1d - keepjumps put ='\" Directory Listing (netrw '.g:loaded_netrw.')' + keepjumps put ='\" Netrw Directory Listing (netrw '.g:loaded_netrw.')' keepjumps put ='\" '.b:netrw_curdir let w:netrw_bannercnt= 3 @@ -2979,6 +2995,7 @@ fun! netrw#DirBrowse(dirname) exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!' endif endif + " remove priority pattern prefix exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e' else @@ -3025,12 +3042,12 @@ fun! s:LocalBrowseList() let dirname = escape(b:netrw_curdir,s:netrw_glob_escape) let dirnamelen = strlen(b:netrw_curdir) let filelist = glob(dirname."/*") -" call Decho("glob(dirname<".dirname.">,*)=".filelist) +" call Decho("glob(dirname<".dirname."/.*>)=".filelist) if filelist != "" let filelist= filelist."\n" endif let filelist= filelist.glob(dirname."/.*") -" call Decho("glob(dirname<".dirname.">,.*)=".glob(dirname.".*")) +" call Decho("glob(dirname<".dirname."/.*>)=".glob(dirname.".*")) " if the directory name includes a "$", and possibly other characters, " the glob() doesn't include "." and ".." entries. @@ -3145,9 +3162,11 @@ fun! s:LocalBrowseChgDir(dirname,newdir, elseif g:netrw_browse_split == 2 rightb vert new wincmd | + else + " handling a file, didn't split, so possibly remove menu + call s:NetMenu(0) endif exe "e! ".escape(dirname,s:netrw_cd_escape) - call s:NetMenu() set ma nomod endif @@ -3177,8 +3196,9 @@ endfun " on the chance that s/he removed/created a file/directory with it. fun! s:LocalBrowseShellCmdRefresh() " call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist)) - " go through all buffers, - " including unlisted (which is why I can't use bufdo) + " GO through all buffers on netrw_browselist (ie. just local-netrw buffers): + " | refresh any netrw window + " | wipe out any non-displaying netrw buffer let curwin = winnr() let ibl = 0 for ibuf in s:netrw_browselist @@ -4098,11 +4118,12 @@ fun! s:SetSort() let priority = priority + 1 endwhile - " I'm afraid that I don't remember why the following line was present. It - " has something to do with priority -- items that satisfy a two or more - " priority patterns get preceded by two or more priority patterns: ###/ - " So, I want to remove priority patterns, but not ###/ directory names. - " Following pattern retains just one priority pattern. + " Following line associated with priority -- items that satisfy a priority + " pattern get prefixed by ###/ which permits easy sorting by priority. + " Sometimes files can satisfy multiple priority patterns -- only the latest + " priority pattern needs to be retained. So, at this point, these excess + " priority prefixes need to be removed, but not directories that happen to + " be just digits themselves. exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+\ze./\1/e' " call Dret("SetSort") diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 06, 2006 +*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 12, 2006 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -847,11 +847,10 @@ NETRW BROWSER VARIABLES *netrw-brows *g:netrw_winsize* specify initial size of new o/v windows default: "" - *g:DrChipTopLvlMenu* This variable specifies the top level - submenu name; by default, its "DrChip.". - If you wish to change this, do so in your - .vimrc. It affects all of my plugins which - have menus. + *g:NetrwTopLvlMenu* This variable specifies the top level + menu name; by default, its "Netrw.". If + you wish to change this, do so in your + .vimrc. INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro* @@ -1448,6 +1447,7 @@ which is loaded automatically at startup ============================================================================== 11. History *netrw-history* {{{1 + v87: * bug fix -- menus were partially disappearing v85: * bug fix -- missing an endif * bug fix -- handles spaces in names and directories when using ftp-based browsing diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -2316,22 +2316,25 @@ If none of these cases pertain, then the (ex. /bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype, then that shelltype is used. However some files (ex. .profile) are known to be shell files but the type is not apparent. Furthermore, on many systems -sh is symbolically linked to "bash" (linux) or "ksh" (posix). +sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix). One may specify a global default by instantiating one of the following three variables in your <.vimrc>: ksh: > - let is_kornshell = 1 + let g:is_kornshell = 1 +< posix: (using this is the same as setting is_kornshell to 1) > + let g:is_posix = 1 < bash: > - let is_bash = 1 -< sh: > - let is_sh = 1 + let g:is_bash = 1 +< sh: (default) Borne shell > + let g:is_sh = 1 If there's no "#! ..." line, and the user hasn't availed himself/herself of a default sh.vim syntax setting as just shown, then syntax/sh.vim will assume the Borne shell syntax. No need to quote RFCs or market penetration -statistics in error reports, please. +statistics in error reports, please -- just select the default version of +the sh your system uses in your <.vimrc>. If, in your <.vimrc>, you set > let g:sh_fold_enabled= 1 diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -1,4 +1,4 @@ -*tabpage.txt* For Vim version 7.0d. Last change: 2006 Apr 09 +*tabpage.txt* For Vim version 7.0d. Last change: 2006 Apr 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -124,11 +124,12 @@ next tab page. |'tabline'| :tabn[ext] *:tabn* *:tabnext* *gt* gt *CTRL-* ** - Go to the next tab page. Wraps around from the last to the + *i_CTRL-* *i_* + Go to the next tab page. Wraps around from the last to the first one. -:tabn[ext] {count} -{count}gt *CTRL-* ** +:tabn[ext] {count} *CTRL-* ** +{count}gt *i_CTRL-* *i_* Go to tab page {count}. The first tab page has number one. diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -5367,7 +5367,7 @@ g, motion.txt /*g,* g- undo.txt /*g-* g0 motion.txt /*g0* g8 various.txt /*g8* -g:DrChipTopLvlMenu pi_netrw.txt /*g:DrChipTopLvlMenu* +g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu* g:netrw_alto pi_netrw.txt /*g:netrw_alto* g:netrw_altv pi_netrw.txt /*g:netrw_altv* g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split* @@ -5730,6 +5730,8 @@ i_ insert.txt /*i_* i_ insert.txt /*i_* i_ insert.txt /*i_* i_ insert.txt /*i_* +i_ tabpage.txt /*i_* +i_ tabpage.txt /*i_* i_ insert.txt /*i_* i_ insert.txt /*i_* i_ insert.txt /*i_* @@ -5757,6 +5759,8 @@ i_ insert.txt /*i_* i_ insert.txt /*i_* i_ insert.txt /*i_* i_BS insert.txt /*i_BS* +i_CTRL- tabpage.txt /*i_CTRL-* +i_CTRL- tabpage.txt /*i_CTRL-* i_CTRL-@ insert.txt /*i_CTRL-@* i_CTRL-A insert.txt /*i_CTRL-A* i_CTRL-B-gone version5.txt /*i_CTRL-B-gone* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 12 +*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -32,6 +32,8 @@ be worked on, but only if you sponsor Vi Do some of the 'cindent' bugs below. +Should a[:5] not give an error for a list with 4 items? + Add more tests for all new functionality in Vim 7. Especially new functions. Win32: Describe how to do debugging. (George Reilly) @@ -2236,21 +2238,6 @@ 7 Use 'matchpairs' for 'showmatch': Wh 'cindent', 'smartindent': -8 Using "+" part of 'cinoptions' where it's not expected (Alexei Alexandrov): - if (a) - { - } else - asdf; -8 Wrong indent for ":" after a method with line break in arguments: - Foo::Foo (int one, - int two) - : something(4) - {} -8 Wrong indent for ":" after a method with multiple lines: - Foo::Foo (int one, int two) - : something(4), - somethingelse(3) - {} 9 Too much indent for "lulu": (Uwe Zeisberger) int main () { diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 12 +*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 13 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2465,5 +2465,15 @@ When 'guitablabel' is set the effect was Fixed a few 'cindent' errors. +When completing menu names, e.g., after ":emenu", don't sort the entries but +keep them in the original order. + +Fixed a crash when editing a directory in diff mode. Don't trigger +autocommands when executing the diff command. + +Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and +typing a special key. + +When 'foldignore' is set the folds were not updated right away. vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim --- a/runtime/indent/vhdl.vim +++ b/runtime/indent/vhdl.vim @@ -1,8 +1,8 @@ " VHDL indent ('93 syntax) " Language: VHDL " Maintainer: Gerald Lai -" Version: 1.34 -" Last Change: 2006 Feb 11 +" Version: 1.36 +" Last Change: 2006 Apr 12 " URL: http://www.vim.org/scripts/script.php?script_id=1450 " only load this indent file when no other was loaded @@ -15,37 +15,37 @@ let b:did_indent = 1 setlocal indentexpr=GetVHDLindent() setlocal indentkeys=!^F,o,O,e,0(,0) setlocal indentkeys+==~if,=~then,=~elsif,=~else -setlocal indentkeys+==~begin,=~is,=~select,=~-- +setlocal indentkeys+==~begin,=~is,=~select " count repeat -function! CountWrapper(cmd) - let i = v:count1 - if a:cmd[0] == ":" - while i > 0 - execute a:cmd - let i = i - 1 - endwhile - else - execute "normal! gv\" - execute "normal ".i.a:cmd - let curcol = col(".") - let curline = line(".") - normal! gv - call cursor(curline, curcol) - endif -endfunction +"function! CountWrapper(cmd) +" let i = v:count1 +" if a:cmd[0] == ":" +" while i > 0 +" execute a:cmd +" let i = i - 1 +" endwhile +" else +" execute "normal! gv\" +" execute "normal ".i.a:cmd +" let curcol = col(".") +" let curline = line(".") +" normal! gv +" call cursor(curline, curcol) +" endif +"endfunction " explore motion " keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units" -let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)' -noremap [[ :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%^","bW")') -noremap ]] :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%$","W")') -noremap [] :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%^","bW")') -noremap ][ :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%$","W")') -vnoremap [[ :cal CountWrapper('[[') -vnoremap ]] :cal CountWrapper(']]') -vnoremap [] :cal CountWrapper('[]') -vnoremap ][ :cal CountWrapper('][') +"let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)' +"noremap [[ :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%^","bW")') +"noremap ]] :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%$","W")') +"noremap [] :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%^","bW")') +"noremap ][ :cal CountWrapper(':cal search("\\%(--.*\\)\\@\\c\\\\%$","W")') +"vnoremap [[ :cal CountWrapper('[[') +"vnoremap ]] :cal CountWrapper(']]') +"vnoremap [] :cal CountWrapper('[]') +"vnoremap ][ :cal CountWrapper('][') " constants " not a comment @@ -56,26 +56,26 @@ let s:ES = '\s*\%(--.*\)\=$' let s:NE = '\%(\:\:\:\,'. - \ s:NE.'\:\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\,'. - \ s:NE.'\:\' -endif +"if exists("loaded_matchit") +" let b:match_ignorecase = 1 +" let b:match_words = +" \ s:NE.'\:\:\:\,'. +" \ s:NE.'\:\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\,'. +" \ s:NE.'\:\' +"endif " only define indent function once if exists("*GetVHDLindent") diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim --- a/runtime/syntax/abap.vim +++ b/runtime/syntax/abap.vim @@ -1,11 +1,11 @@ " Vim ABAP syntax file -" Language: SAP - ABAP/4 -" Revision: 0.8 -" Maintainer: Marius van Wyk -" Last Change: 2004 Aug 30 +" Language: SAP - ABAP/R4 +" Revision: 1.0 +" Maintainer: Marius Piedallu van Wyk +" Last Change: 2006 Apr 13 -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded +" For version < 6.0: Clear all syntax items +" For version >= 6.0: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") @@ -16,19 +16,19 @@ endif syn case ignore " Symbol Operators -syn match abapSymbolOperator "[+\-/=<>$]" -syn match abapSymbolOperator "\*" -syn match abapSymbolOperator "[<>]=" -syn match abapSymbolOperator "<>" -syn match abapSymbolOperator "\*\*" -syn match abapSymbolOperator "[()]" -syn match abapSymbolOperator "[:,\.]" +syn match abapSymbolOperator "[+\-/=<>$]" +syn match abapSymbolOperator "\*" +syn match abapSymbolOperator "[<>]=" +syn match abapSymbolOperator "<>" +syn match abapSymbolOperator "\*\*" +syn match abapSymbolOperator "[()]" +syn match abapSymbolOperator "[:,\.]" " Literals syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape syn match abapStringEscape contained "''" -syn match abapNumber "-\=\<\d\+\>" +syn match abapNumber "-\=\<\d\+\>" syn region abapHex matchgroup=abapHex start="X'" end="'" if version >= 600 @@ -52,7 +52,7 @@ syn keyword abapStatement MESSAGE MODIFY syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION syn keyword abapStatement ON OVERLAY syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT -syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK +syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK RP-PROVIDE-FROM-LAST syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES syn keyword abapStatement UNPACK UPDATE @@ -82,7 +82,7 @@ syn match abapStatement "\(\W\|^\)REF\ " Special ABAP specific tables: syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1 syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained -syn match abapSpecial "\(\W\|^\)\w\+-\w\+"ms=s+1 contains=abapSpecialTables +syn match abapSpecial "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables " Pointer syn match abapSpecial "<\w\+>" @@ -118,7 +118,7 @@ syn match abapError "\.\." " Comments syn region abapComment start="^\*" end="$" contains=abapTodo syn match abapComment "\".*" contains=abapTodo -syn keyword abapTodo contained TODO NOTE +syn keyword abapTodo contained TODO NOTE " Define the default highlighting. " For version 5.7 and earlier: only when not done already @@ -132,17 +132,17 @@ if version >= 508 || !exists("did_abap_s endif HiLink abapError Error - HiLink abapComment Comment - HiLink abapInclude Include + HiLink abapComment Comment + HiLink abapInclude Include HiLink abapSpecial Special HiLink abapSpecialTables PreProc - HiLink abapSymbolOperator abapOperator - HiLink abapOperator Operator - HiLink abapStatement Statement - HiLink abapString String - HiLink abapFloat Float - HiLink abapNumber Number - HiLink abapHex Number + HiLink abapSymbolOperator abapOperator + HiLink abapOperator Operator + HiLink abapStatement Statement + HiLink abapString String + HiLink abapFloat Float + HiLink abapNumber Number + HiLink abapHex Number delcommand HiLink endif @@ -150,3 +150,4 @@ endif let b:current_syntax = "abap" " vim: ts=8 sw=2 + diff --git a/runtime/syntax/apache.vim b/runtime/syntax/apache.vim --- a/runtime/syntax/apache.vim +++ b/runtime/syntax/apache.vim @@ -2,9 +2,14 @@ " This is a GENERATED FILE. Please always refer to source file at the URI below. " Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess) " Maintainer: David Ne\v{c}as (Yeti) -" Last Change: 2002-10-15 +" License: This file can be redistribued and/or modified under the same terms +" as Vim itself. +" Last Change: 2006-04-12 " URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim -" Note: define apache_version to your Apache version, e.g. "1.3", "2", "2.0.39" +" Notes: Last synced with apache-2.2.0, version 1.x is no longer supported +" TODO: see particular FIXME's scattered through the file +" make it really linewise? +" + add `display' where appropriate " Setup if version >= 600 @@ -15,25 +20,11 @@ else syntax clear endif -if exists("apache_version") - let s:av = apache_version -else - let s:av = "1.3" -endif -let s:av = substitute(s:av, "[^.0-9]", "", "g") -let s:av = substitute(s:av, "^\\d\\+$", "\\0.999", "") -let s:av = substitute(s:av, "^\\d\\+\\.\\d\\+$", "\\0.999", "") -let s:av = substitute(s:av, "\\<\\d\\>", "0\\0", "g") -let s:av = substitute(s:av, "\\<\\d\\d\\>", "0\\0", "g") -let s:av = substitute(s:av, "[.]", "", "g") - syn case ignore " Base constructs syn match apacheComment "^\s*#.*$" contains=apacheFixme -if s:av >= "002000000" - syn match apacheUserID "#-\?\d\+\>" -endif +syn match apacheUserID "#-\?\d\+\>" syn case match syn keyword apacheFixme FIXME TODO XXX NOT syn case ignore @@ -43,146 +34,118 @@ syn region apacheString start=+"+ end=+" " Core and mpm syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName -if s:av < "002000000" - syn keyword apacheDeclaration AccessConfig AddModule BindAddress BS2000Account ClearModuleList CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxRequestsPerChild MaxSpareServers MinSpareServers PidFile Port ResourceConfig ScoreBoardFile SendBufferSize ServerType StartServers ThreadsPerChild ThreadStackSize User -endif -if s:av >= "002000000" - syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter - syn keyword apacheOption INode MTime Size -endif +syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter +syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable +syn keyword apacheOption INode MTime Size syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full syn keyword apacheOption emerg alert crit error warn notice info debug syn keyword apacheOption registry script inetd standalone syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" -syn keyword apacheOption user group valid-user +syn keyword apacheOption user group +syn match apacheOption "\" syn case match syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained syn case ignore -syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)\+.*>" contains=apacheAnything -syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)\+.*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError +syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything +syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError syn keyword apacheLimitSectionKeyword Limit LimitExcept contained syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue syn keyword apacheAuthTypeValue Basic Digest syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained -if s:av >= "002000000" - syn keyword apacheDeclaration CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User - syn keyword apacheDeclaration MaxThreads ThreadStackSize - syn keyword apacheDeclaration AssignUserId ChildPerUserId - syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers - syn keyword apacheOption flock fcntl sysvsem pthread -endif +syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User +syn keyword apacheDeclaration MaxThreads ThreadStackSize +syn keyword apacheDeclaration Win32DisableAcceptEx +syn keyword apacheDeclaration AssignUserId ChildPerUserId +syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers +syn keyword apacheOption flock fcntl sysvsem pthread " Modules +syn keyword apacheDeclaration Action Script +syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch +syn keyword apacheOption permanent temp seeother gone +syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile +syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider +syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize +syn keyword apacheOption none auth auth-int MD5 MD5-sess +syn match apacheSection "<\/\=\(]*>" contains=apacheAnything +syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail +syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery +syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative +syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile +syn keyword apacheOption default SDBM GDBM NDBM DB +syn keyword apacheDeclaration AuthDefaultAuthoritative +syn keyword apacheDeclaration AuthUserFile +syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS +syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative +syn keyword apacheOption always never searching finding +syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter +syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType +syn keyword apacheDeclaration AuthzDefaultAuthoritative +syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment syn keyword apacheAllowDenyValue All None contained syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment syn keyword apacheOrderValue Deny Allow contained -syn keyword apacheDeclaration Action Script -syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch -syn keyword apacheOption permanent temp seeother gone -syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile -syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail -if s:av < "002000000" - syn keyword apacheDeclaration AuthDBGroupFile AuthDBUserFile AuthDBAuthoritative -endif -syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMUserFile AuthDBMAuthoritative -if s:av >= "002000000" - syn keyword apacheDeclaration AuthDBMType - syn keyword apacheOption default SDBM GDBM NDBM DB -endif -syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestFile AuthDigestGroupFile AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestQop -syn keyword apacheOption none auth auth-int MD5 MD5-sess -if s:av >= "002000000" - syn keyword apacheDeclaration AuthLDAPAuthoritative AuthLDAPBindON AuthLDAPBindPassword AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPStartTLS AuthLDAPUrl - syn keyword apacheOption always never searching finding -endif -if s:av < "002000000" - syn keyword apacheDeclaration FancyIndexing -endif +syn keyword apacheDeclaration AuthzOwnerAuthoritative +syn keyword apacheDeclaration AuthzUserAuthoritative syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName +syn keyword apacheDeclaration IndexStyleSheet syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified syn keyword apacheOption Ascending Descending Name Date Size Description -if s:av >= "002000000" - syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort -endif -if s:av < "002000000" - syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase -endif -if s:av >= "002000000" - syn keyword apacheDeclaration CacheDefaultExpire CacheEnable CacheForceCompletion CacheIgnoreCacheControl CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheMaxStreamingBuffer -endif +syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort XHTML +syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules +syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer +syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer -if s:av >= "002000000" - syn keyword apacheDeclaration ScriptStock - syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc - syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd -endif -syn keyword apacheDeclaration Dav DavDepthInfinity DavLockDB DavMinTimeout -if s:av < "002000000" - syn keyword apacheDeclaration Define -end -if s:av >= "002000000" - syn keyword apacheDeclaration DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize -endif -if s:av < "002000000" - syn keyword apacheDeclaration AuthDigestFile -endif -syn keyword apacheDeclaration DirectoryIndex -if s:av >= "002000000" - syn keyword apacheDeclaration ProtocolEcho -endif +syn keyword apacheDeclaration ScriptStock +syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc +syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd +syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout +syn keyword apacheDeclaration DavLockDB +syn keyword apacheDeclaration DavGenericLockDB +syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver +syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize +syn keyword apacheDeclaration DirectoryIndex DirectorySlash +syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin +syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot +syn keyword apacheDeclaration DumpIOInput DumpIOOutput +syn keyword apacheDeclaration ProtocolEcho syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv syn keyword apacheDeclaration Example syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault -if s:av >= "002000000" - syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions - syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr - syn keyword apacheDeclaration CacheFile MMapFile -endif +syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions +syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr +syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze=" +syn keyword apacheDeclaration CacheFile MMapFile +syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace syn keyword apacheDeclaration Header -if s:av >= "002000000" - syn keyword apacheDeclaration RequestHeader -endif +syn keyword apacheDeclaration RequestHeader syn keyword apacheOption set unset append add +syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase syn keyword apacheOption none formatted semiformatted unformatted syn keyword apacheOption nocontent referer error map -syn keyword apacheDeclaration XBitHack -if s:av >= "002000000" - syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho -endif +syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack syn keyword apacheOption on off full syn keyword apacheDeclaration AddModuleInfo syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery -if s:av >= "002000000" - syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync - syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPCertDBPath LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheSize -endif -if s:av < "002000000" - syn keyword apacheDeclaration AgentLog -endif -syn keyword apacheDeclaration CookieLog CustomLog LogFormat TransferLog -if s:av < "002000000" - syn keyword apacheDeclaration RefererIgnore RefererLog -endif -if s:av >= "002000000" -endif +syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync +syn keyword apacheDeclaration LDAPCertDBPath +syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert +syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX +syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog +syn keyword apacheDeclaration ForensicLog +syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig -if s:av < "002000000" - syn keyword apacheDeclaration ForceType SetHandler -endif -if s:av >= "002000000" - syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter -endif +syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset +syn keyword apacheOption NegotiatedOnly Filters Handlers syn keyword apacheDeclaration MimeMagicFile syn keyword apacheDeclaration MMapFile -syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority -if s:av >= "002000000" - syn keyword apacheDeclaration ForceLanguagePriority -endif +syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority +syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler @@ -192,50 +155,25 @@ syn keyword apacheDeclaration PerlCleanu syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag -syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBlock ProxyDomain ProxyPass ProxyPassReverse ProxyReceiveBufferSize ProxyRemote ProxyRequests ProxyVia -if s:av < "002000000" - syn keyword apacheDeclaration CacheRoot CacheSize CacheMaxExpire CacheDefaultExpire CacheLastModifiedFactor CacheGcInterval CacheDirLevels CacheDirLength CacheForceCompletion NoCache - syn keyword apacheOption block -endif -if s:av >= "002000000" - syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)\+.*>" contains=apacheAnything - syn keyword apacheDeclaration ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPreserveHost ProxyRemoteMatch ProxyTimeout -endif -syn keyword apacheDeclaration RewriteEngine RewriteOptions RewriteLog RewriteLogLevel RewriteLock RewriteMap RewriteBase RewriteCond RewriteRule +syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia +syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule syn keyword apacheOption inherit -if s:av < "002000000" - syn keyword apacheDeclaration RoamingAlias -endif syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase syn keyword apacheDeclaration LoadFile LoadModule syn keyword apacheDeclaration CheckSpelling -syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLEngine SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLVerifyClient SSLVerifyDepth -if s:av < "002000000" - syn keyword apacheDeclaration SSLLog SSLLogLevel -endif -if s:av >= "002000000" - syn keyword apacheDeclaration SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth -endif +syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" syn keyword apacheOption builtin sem syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" -if s:av < "002000000" - syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\)\>" -endif -if s:av >= "002000000" - syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>" -endif -syn keyword apacheOption optional require optional_no_ca +syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>" +syn keyword apacheOption optional optional_no_ca syn keyword apacheDeclaration ExtendedStatus -if s:av >= "002000000" - syn keyword apacheDeclaration SuexecUserGroup -endif +syn keyword apacheDeclaration SuexecUserGroup syn keyword apacheDeclaration UserDir -syn keyword apacheDeclaration CookieExpires CookieName CookieTracking -if s:av >= "002000000" - syn keyword apacheDeclaration CookieDomain CookieStyle - syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 -endif +syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking +syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 +syn match apacheSection "<\/\=\(]*>" contains=apacheAnything syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP " Define the default highlighting diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Vim help file " Maintainer: Bram Moolenaar (Bram@vim.org) -" Last Change: 2006 Apr 12 +" Last Change: 2006 Apr 13 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -14,14 +14,15 @@ syn match helpSectionDelim "^-\{3,}.*--$ syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<" if has("ebcdic") syn match helpHyperTextJump "\\\@ -" Latest Revision: 2006-04-12 +" Latest Revision: 2006-04-13 if exists("b:current_syntax") finish @@ -711,6 +711,8 @@ syn region kconfigHelpText \ skip='^$' \ end='^\z1\@!' +syn sync match kconfigSyncHelp grouphere kconfigHelpText 'help\|---help---' + hi def link kconfigTodo Todo hi def link kconfigComment Comment hi def link kconfigKeyword Keyword diff --git a/runtime/syntax/lifelines.vim b/runtime/syntax/lifelines.vim --- a/runtime/syntax/lifelines.vim +++ b/runtime/syntax/lifelines.vim @@ -1,8 +1,15 @@ " Vim syntax file -" Language: Lifelines (v 3.0.7) http://lifelines.sourceforge.net -" Maintainer: Patrick Texier -" Location: ftp://216.71.72.236/lifelines.vim -" Last Change: 2002 Mar 03 +" Language: LifeLines (v 3.0.50) http://lifelines.sourceforge.net +" Maintainer: Patrick Texier +" Location: http://www.genindre.org/ftp/lifelines/lifelines.vim +" Last Change: 2005 Dec 22. + +" option to highlight error obsolete statements +" add the following line to your .vimrc file or here : +" (level2 is for baptism) + +" let lifelines_deprecated=1 +" let lifelines_deprecated_level2=1 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded @@ -13,61 +20,94 @@ elseif exists("b:current_syntax") finish endif -" A bunch of useful lifelines keywords 3.0.7 +" A bunch of useful lifelines keywords 3.0.50 -syn keyword lifelinesStatement set -syn keyword lifelinesUser getindi geindiset getfam getint getstr choosechild -syn keyword lifelinesUser chooseindi choosespouse choosesubset menuchoose -syn keyword lifelinesUser choosefam getintmsg getindimsg getstrmsg -syn keyword lifelinesProc proc func return call -syn keyword lifelinesInclude include -syn keyword lifelinesDef global +syn keyword lifelinesStatement set +syn keyword lifelinesUser getindi geindiset getfam getint getstr choosechild +syn keyword lifelinesUser chooseindi choosespouse choosesubset menuchoose +syn keyword lifelinesUser choosefam +syn keyword lifelinesProc proc func return call +syn keyword lifelinesInclude include +syn keyword lifelinesDef global syn keyword lifelinesConditional if else elsif switch -syn keyword lifelinesRepeat continue break while -syn keyword lifelinesLogical and or not eq ne lt gt le ge strcmp eqstr nestr -syn keyword lifelinesArithm add sub mul div mod exp neg incr decr -syn keyword lifelinesIndi name fullname surname givens trimname birth -syn keyword lifelinesIndi death baptism burial -syn keyword lifelinesIndi father mother nextsib prevsib sex male female -syn keyword lifelinesIndi pn nspouses nfamilies parents title key -syn keyword lifelinesIndi soundex inode root indi firstindi nextindi -syn keyword lifelinesIndi previndi spouses families forindi indiset -syn keyword lifelinesIndi addtoset deletefromset lengthset union intersect -syn keyword lifelinesIndi difference parentset childset spouseset siblingset -syn keyword lifelinesIndi ancestorset descendentset descendantset uniqueset -syn keyword lifelinesIndi namesort keysort valuesort genindiset getindiset -syn keyword lifelinesIndi forindiset lastindi writeindi -syn keyword lifelinesIndi inset -syn keyword lifelinesFam marriage husband wife nchildren firstchild -syn keyword lifelinesFam lastchild fnode fam firstfam nextfam lastfam -syn keyword lifelinesFam prevfam children forfam writefam -syn keyword lifelinesList list empty length enqueue dequeue requeue -syn keyword lifelinesList push pop setel getel forlist inlist -syn keyword lifelinesTable table insert lookup -syn keyword lifelinesGedcom xref tag value parent child sibling savenode -syn keyword lifelinesGedcom fornodes traverse createnode addnode deletenode -syn keyword lifelinesGedcom reference dereference getrecord -syn keyword lifelinesGedcom gengedcom gengedcomstrong gengedcomweak -syn keyword lifelinesFunct date place year long short gettoday dayformat -syn keyword lifelinesFunct monthformat dateformat extractdate -syn keyword lifelinesFunct complexdate -syn keyword lifelinesFunct extractnames extractplaces extracttokens lower -syn keyword lifelinesFunct upper capitalize trim rjustify save strsave -syn keyword lifelinesFunct concat strconcat strlen substring index -syn keyword lifelinesFunct d card ord alpha roman strsoundex strtoint -syn keyword lifelinesFunct atoi linemode pagemod col row pos pageout nl -syn keyword lifelinesFunct sp qt newfile outfile copyfile print lock unlock -syn keyword lifelinesFunct database version system stddate program -syn keyword lifelinesFunct pvalue pagemode level extractdatestr debug -syn keyword lifelinesFunct f free getcol getproperty heapused +syn keyword lifelinesRepeat continue break while +syn keyword lifelinesLogical and or not eq ne lt gt le ge strcmp eqstr nestr +syn keyword lifelinesArithm add sub mul div mod exp neg incr decr +syn keyword lifelinesArithm cos sin tan arccos arcsin arctan +syn keyword lifelinesArithm deg2dms dms2deg spdist +syn keyword lifelinesIndi name fullname surname givens trimname birth +syn keyword lifelinesIndi death burial +syn keyword lifelinesIndi father mother nextsib prevsib sex male female +syn keyword lifelinesIndi pn nspouses nfamilies parents title key +syn keyword lifelinesIndi soundex inode root indi firstindi nextindi +syn keyword lifelinesIndi previndi spouses families forindi indiset +syn keyword lifelinesIndi addtoset deletefromset union intersect +syn keyword lifelinesIndi difference parentset childset spouseset siblingset +syn keyword lifelinesIndi ancestorset descendentset descendantset uniqueset +syn keyword lifelinesIndi namesort keysort valuesort genindiset getindiset +syn keyword lifelinesIndi forindiset lastindi writeindi +syn keyword lifelinesIndi inset +syn keyword lifelinesFam marriage husband wife nchildren firstchild +syn keyword lifelinesFam lastchild fnode fam firstfam nextfam lastfam +syn keyword lifelinesFam prevfam children forfam writefam +syn keyword lifelinesFam fathers mothers Parents +syn keyword lifelinesList list empty length enqueue dequeue requeue +syn keyword lifelinesList push pop setel getel forlist inlist dup clear +syn keyword lifelinesTable table insert lookup +syn keyword lifelinesGedcom xref tag value parent child sibling savenode +syn keyword lifelinesGedcom fornodes traverse createnode addnode +syn keyword lifelinesGedcom detachnode foreven fornotes forothr forsour +syn keyword lifelinesGedcom reference dereference getrecord +syn keyword lifelinesFunct date place year long short gettoday dayformat +syn keyword lifelinesFunct monthformat dateformat extractdate eraformat +syn keyword lifelinesFunct complexdate complexformat complexpic datepic +syn keyword lifelinesFunct extractnames extractplaces extracttokens lower +syn keyword lifelinesFunct yearformat +syn keyword lifelinesFunct upper capitalize trim rjustify +syn keyword lifelinesFunct concat strconcat strlen substring index +syn keyword lifelinesFunct titlecase gettext +syn keyword lifelinesFunct d card ord alpha roman strsoundex strtoint +syn keyword lifelinesFunct atoi linemode pagemod col row pos pageout nl +syn keyword lifelinesFunct sp qt newfile outfile copyfile print lock unlock test +syn keyword lifelinesFunct database version system stddate program +syn keyword lifelinesFunct pvalue pagemode level extractdatestr debug +syn keyword lifelinesFunct f float int free getcol getproperty heapused +syn keyword lifelinesFunct sort rsort +syn keyword lifelinesFunct deleteel +syn keyword lifelinesFunct bytecode convertcode setlocale + +" option to highlight error obsolete statements +" please read ll-reportmanual + +if exists("lifelines_deprecated") + syn keyword lifelinesError getintmsg getindimsg getstrmsg + syn keyword lifelinesError gengedcom gengedcomstrong gengedcomweak deletenode + syn keyword lifelinesError save strsave + syn keyword lifelinesError lengthset +else + syn keyword lifelinesUser getintmsg getindimsg getstrmsg + syn keyword lifelinesGedcom gengedcom gengedcomstrong gengedcomweak deletenode + syn keyword lifelinesFunct save strsave + syn keyword lifelinesIndi lengthset +endif +if exists("lifelines_deprecated_level2") + syn keyword lifelinesError baptism +else + syn keyword lifelinesIndi baptism +endif syn region lifelinesString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial -syn region lifelinesComment start="/\*" end="\*/" contains=lifelinesComment +syn match lifelinesSpecial "\\\(\\\|\(n\|t\)\)" contained + +syn region lifelinesComment start="/\*" end="\*/" -" Only integers with lifelines - -syn match lifelinesNumber "\<\d\+\>" +" integers +syn match lifelinesNumber "-\=\<\d\+\>" +"floats, with dot +syn match lifelinesNumber "-\=\<\d\+\.\d*\>" +"floats, starting with a dot +syn match lifelinesNumber "-\=\.\d\+\>" "catch errors caused by wrong parenthesis "adapted from original c.vim written by Bram Moolenaar @@ -90,25 +130,27 @@ if version >= 508 || !exists("did_lifeli endif HiLink lifelinesConditional Conditional - HiLink lifelinesArithm Operator - HiLink lifelinesLogical Conditional - HiLink lifelinesInclude Include - HiLink lifelinesComment Comment - HiLink lifelinesStatement Statement - HiLink lifelinesUser Statement - HiLink lifelinesFunct Statement - HiLink lifelinesTable Statement - HiLink lifelinesGedcom Statement - HiLink lifelinesList Statement - HiLink lifelinesRepeat Repeat - HiLink lifelinesFam Statement - HiLink lifelinesIndi Statement - HiLink lifelinesProc Statement - HiLink lifelinesDef Statement - HiLink lifelinesString String - HiLink lifelinesNumber Number + HiLink lifelinesArithm Operator + HiLink lifelinesLogical Conditional + HiLink lifelinesInclude Include + HiLink lifelinesComment Comment + HiLink lifelinesStatement Statement + HiLink lifelinesUser Statement + HiLink lifelinesFunct Statement + HiLink lifelinesTable Statement + HiLink lifelinesGedcom Statement + HiLink lifelinesList Statement + HiLink lifelinesRepeat Repeat + HiLink lifelinesFam Statement + HiLink lifelinesIndi Statement + HiLink lifelinesProc Statement + HiLink lifelinesDef Statement + HiLink lifelinesString String + HiLink lifelinesSpecial Special + HiLink lifelinesNumber Number HiLink lifelinesParenError Error HiLink lifelinesErrInParen Error + HiLink lifelinesError Error delcommand HiLink endif diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim --- a/runtime/syntax/sh.vim +++ b/runtime/syntax/sh.vim @@ -3,18 +3,17 @@ " Maintainer: Dr. Charles E. Campbell, Jr. " Previous Maintainer: Lennart Schultz " Last Change: Apr 12, 2006 -" Version: 83 +" Version: 84 " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " " Using the following VIM variables: {{{1 -" b:is_kornshell if defined, enhance with kornshell/POSIX syntax -" b:is_bash if defined, enhance with bash syntax +" g:is_bash if none of the previous three variables are +" defined, then if g:is_bash is set enhance with +" bash syntax highlighting " g:is_kornshell if neither b:is_kornshell or b:is_bash is " defined, then if g:is_kornshell is set " enhance with kornshell/POSIX syntax highlighting -" g:is_bash if none of the previous three variables are -" defined, then if g:is_bash is set enhance with -" bash syntax highlighting +" g:is_posix this variable is the same as g:is_kornshell " g:sh_fold_enabled if non-zero, syntax folding is enabled " g:sh_minlines sets up syn sync minlines (dflt: 200) " g:sh_maxlines sets up syn sync maxlines (dflt: 2x sh_minlines) @@ -37,12 +36,15 @@ endif " a b:is_sh is converted into b:is_bash/b:is_kornshell, " respectively. if !exists("b:is_kornshell") && !exists("b:is_bash") - if exists("is_kornshell") + if exists("g:is_posix") && !exists("g:is_kornshell") + let g:is_kornshell= g:is_posix + endif + if exists("g:is_kornshell") let b:is_kornshell= 1 if exists("b:is_sh") unlet b:is_sh endif - elseif exists("is_bash") + elseif exists("g:is_bash") let b:is_bash= 1 if exists("b:is_sh") unlet b:is_sh diff --git a/src/diff.c b/src/diff.c --- a/src/diff.c +++ b/src/diff.c @@ -839,7 +839,13 @@ diff_file(tmp_orig, tmp_new, tmp_diff) (diff_flags & DIFF_ICASE) ? "-i " : "", tmp_orig, tmp_new); append_redir(cmd, p_srr, tmp_diff); +#ifdef FEAT_AUTOCMD + ++autocmd_block; /* Avoid ShellCmdPost stuff */ +#endif (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT); +#ifdef FEAT_AUTOCMD + --autocmd_block; +#endif vim_free(cmd); } } @@ -942,7 +948,13 @@ ex_diffpatch(eap) fullname != NULL ? fullname : # endif eap->arg); +#ifdef FEAT_AUTOCMD + ++autocmd_block; /* Avoid ShellCmdPost stuff */ +#endif (void)call_shell(buf, SHELL_FILTER | SHELL_COOKED); +#ifdef FEAT_AUTOCMD + --autocmd_block; +#endif } #ifdef UNIX diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -8494,6 +8494,16 @@ ins_pageup() pos_T tpos; undisplay_dollar(); + +#ifdef FEAT_WINDOWS + if (mod_mask & MOD_MASK_CTRL) + { + /* : tab page back */ + goto_tabpage(-1); + return; + } +#endif + tpos = curwin->w_cursor; if (onepage(BACKWARD, 1L) == OK) { @@ -8543,6 +8553,16 @@ ins_pagedown() pos_T tpos; undisplay_dollar(); + +#ifdef FEAT_WINDOWS + if (mod_mask & MOD_MASK_CTRL) + { + /* : tab page forward */ + goto_tabpage(0); + return; + } +#endif + tpos = curwin->w_cursor; if (onepage(FORWARD, 1L) == OK) { diff --git a/src/ex_getln.c b/src/ex_getln.c --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4444,8 +4444,9 @@ ExpandGeneric(xp, regmatch, num_file, fi } } - /* Sort the results. */ - sort_strings(*file, *num_file); + /* Sort the results. Keep menu's in the specified order. */ + if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS) + sort_strings(*file, *num_file); return OK; } diff --git a/src/misc1.c b/src/misc1.c --- a/src/misc1.c +++ b/src/misc1.c @@ -3085,6 +3085,7 @@ get_keystroke() mch_memmove(buf, buf + 3, (size_t)len); continue; } + break; } #ifdef FEAT_MBYTE if (has_mbyte) @@ -4771,6 +4772,7 @@ static int cin_isdo __ARGS((char_u *)); static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int)); static int cin_isbreak __ARGS((char_u *)); static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col)); +static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass)); static int cin_ends_in __ARGS((char_u *, char_u *, char_u *)); static int cin_skip2pos __ARGS((pos_T *trypos)); static pos_T *find_start_brace __ARGS((int)); @@ -5447,7 +5449,8 @@ cin_isbreak(p) return (STRNCMP(p, "break", 5) == 0 && !vim_isIDc(p[5])); } -/* Find the position of a C++ base-class declaration or +/* + * Find the position of a C++ base-class declaration or * constructor-initialization. eg: * * class MyClass : @@ -5462,10 +5465,11 @@ cin_isbreak(p) static int cin_is_cpp_baseclass(line, col) char_u *line; - colnr_T *col; + colnr_T *col; /* return: column to align with */ { char_u *s; int class_or_struct, lookfor_ctor_init, cpp_base_class; + linenr_T lnum = curwin->w_cursor.lnum; *col = 0; @@ -5478,8 +5482,49 @@ cin_is_cpp_baseclass(line, col) cpp_base_class = lookfor_ctor_init = class_or_struct = FALSE; - while(*s != NUL) - { + /* Search for a line starting with '#', empty, ending in ';' or containing + * '{' or '}' and start below it. This handles the following situations: + * a = cond ? + * func() : + * asdf; + * func::foo() + * : something + * {} + * Foo::Foo (int one, int two) + * : something(4), + * somethingelse(3) + * {} + */ + while (lnum > 1) + { + s = skipwhite(ml_get(lnum - 1)); + if (*s == '#' || *s == NUL) + break; + while (*s != NUL) + { + s = cin_skipcomment(s); + if (*s == '{' || *s == '}' + || (*s == ';' && cin_nocode(s + 1))) + break; + if (*s != NUL) + ++s; + } + if (*s != NUL) + break; + --lnum; + } + + s = cin_skipcomment(ml_get(lnum)); + for (;;) + { + if (*s == NUL) + { + if (lnum == curwin->w_cursor.lnum) + break; + /* Continue in the cursor line. */ + s = cin_skipcomment(ml_get(++lnum)); + } + if (s[0] == ':') { if (s[1] == ':') @@ -5542,43 +5587,53 @@ cin_is_cpp_baseclass(line, col) lookfor_ctor_init = FALSE; /* the first statement starts here: lineup with this one... */ - if (cpp_base_class && *col == 0) + if (cpp_base_class) *col = (colnr_T)(s - line); } + /* When the line ends in a comma don't align with it. */ + if (lnum == curwin->w_cursor.lnum && *s == ',' && cin_nocode(s + 1)) + *col = 0; + s = cin_skipcomment(s + 1); } } - if (cpp_base_class && curwin->w_cursor.lnum > 1) - { - /* Check that there is no '?' in the previous line to catch: - * a = cond ? - * func() : - * asdf; - */ - s = ml_get(curwin->w_cursor.lnum - 1); - if (!cin_ispreproc(s)) - while (*s != NUL) - { - s = cin_skipcomment(s); - if (*s == '?') - /* Disable when finding a '?'... */ - cpp_base_class = FALSE; - else if (*s == ';' && cin_nocode(s + 1)) - { - /* ...but re-enable when the line ends in ';'. */ - cpp_base_class = TRUE; - break; - } - if (*s != NUL) - ++s; - } - } - return cpp_base_class; } + static int +get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass) + int col; + int ind_maxparen; + int ind_maxcomment; + int ind_cpp_baseclass; +{ + int amount; + colnr_T vcol; + pos_T *trypos; + + if (col == 0) + { + amount = get_indent(); + if (find_last_paren(ml_get_curline(), '(', ')') + && (trypos = find_match_paren(ind_maxparen, + ind_maxcomment)) != NULL) + amount = get_indent_lnum(trypos->lnum); /* XXX */ + if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL)) + amount += ind_cpp_baseclass; + } + else + { + curwin->w_cursor.col = col; + getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL); + amount = (int)vcol; + } + if (amount < ind_cpp_baseclass) + amount = ind_cpp_baseclass; + return amount; +} + /* * Return TRUE if string "s" ends with the string "find", possibly followed by * white space and comments. Skip strings and comments. @@ -6902,22 +6957,17 @@ get_c_indent() else amount += ind_continuation; } - else if (col == 0 || theline[0] == '{') + else if (theline[0] == '{') { - amount = get_indent(); - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren(ind_maxparen, - ind_maxcomment)) != NULL) - amount = get_indent_lnum(trypos->lnum); /* XXX */ - if (theline[0] != '{') - amount += ind_cpp_baseclass; + /* Need to find start of the declaration. */ + lookfor = LOOKFOR_UNTERM; + ind_continuation = 0; + continue; } else - { - curwin->w_cursor.col = col; - getvcol(curwin, &curwin->w_cursor, &col, NULL, NULL); - amount = (int)col; - } + /* XXX */ + amount = get_baseclass_amount(col, ind_maxparen, + ind_maxcomment, ind_cpp_baseclass); break; } else if (lookfor == LOOKFOR_CPP_BASECLASS) @@ -6967,7 +7017,8 @@ get_c_indent() * If we are looking for ',', we also look for matching * braces. */ - if (trypos == NULL && find_last_paren(l, '{', '}')) + if (trypos == NULL && terminated == ',' + && find_last_paren(l, '{', '}')) trypos = find_start_brace(ind_maxcomment); if (trypos != NULL) @@ -7490,21 +7541,9 @@ term_again: } if (n) { - if (col == 0) - { - amount = get_indent() + ind_cpp_baseclass; /* XXX */ - if (find_last_paren(l, '(', ')') - && (trypos = find_match_paren(ind_maxparen, - ind_maxcomment)) != NULL) - amount = get_indent_lnum(trypos->lnum) - + ind_cpp_baseclass; /* XXX */ - } - else - { - curwin->w_cursor.col = col; - getvcol(curwin, &curwin->w_cursor, &col, NULL, NULL); - amount = (int)col; - } + /* XXX */ + amount = get_baseclass_amount(col, ind_maxparen, + ind_maxcomment, ind_cpp_baseclass); break; } @@ -7604,7 +7643,7 @@ term_again: * bar; * indent_to_0 here; */ - if (cin_ends_in(l, (char_u*)";", NULL)) + if (cin_ends_in(l, (char_u *)";", NULL)) { l = ml_get(curwin->w_cursor.lnum - 1); if (cin_ends_in(l, (char_u *)",", NULL) diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -2066,7 +2066,7 @@ static struct vimoption {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, #ifdef FEAT_SESSION (char_u *)&p_ssop, PV_NONE, - {(char_u *)"blank,buffers,curdir,folds,help,options,tabpage,winsize", + {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize", (char_u *)0L} #else (char_u *)NULL, PV_NONE, @@ -6458,6 +6458,12 @@ did_set_string_option(opt_idx, varp, new if (check_opt_strings(p_fcl, p_fcl_values, TRUE) != OK) errmsg = e_invarg; } + /* 'foldignore' */ + else if (gvarp == &curwin->w_allbuf_opt.wo_fdi) + { + if (foldmethodIsIndent(curwin)) + foldUpdateAll(curwin); + } #endif #ifdef FEAT_VIRTUALEDIT diff --git a/src/os_mswin.c b/src/os_mswin.c --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -584,20 +584,6 @@ display_errors() for (p = (char *)error_ga.ga_data; *p; ++p) if (!isspace(*p)) { -#if 0 - /* Truncate a very long message, it will go off-screen. */ - if (STRLEN(p) > 2000) - { - char_u *s = p + 2000 - 14; - -#ifdef FEAT_MBYTE - if (has_mbyte) - s -= (*mb_head_off)(p, s); -#endif - STRCPY(s, _("...(truncated)")); - } -#endif - (void)gui_mch_dialog( #ifdef FEAT_GUI gui.starting ? VIM_INFO : @@ -608,13 +594,6 @@ display_errors() #endif (char_u *)_("Error"), p, (char_u *)_("&Ok"), 1, NULL); -#if 0 -#ifdef WIN3264 - MessageBox(NULL, p, "Vim", MB_TASKMODAL|MB_SETFOREGROUND); -#else - MessageBox(NULL, p, "Vim", MB_TASKMODAL); -#endif -#endif break; } ga_clear(&error_ga); diff --git a/src/testdir/test3.in b/src/testdir/test3.in --- a/src/testdir/test3.in +++ b/src/testdir/test3.in @@ -742,6 +742,31 @@ int main(void) next_line_of_code(); } +barry() +{ + Foo::Foo (int one, + int two) + : something(4) + {} +} + +barry() +{ + Foo::Foo (int one, int two) + : something(4) + {} +} + +Constructor::Constructor(int a, + int b + ) : + BaseClass(a, + b, + c), + mMember(b) +{ +} + /* end of AUTO */ STARTTEST @@ -1189,6 +1214,20 @@ protected: }; STARTTEST +:set cino=+20 +2kdd]]=][ +ENDTEST + + void +foo() +{ + if (a) + { + } else + asdf; +} + +STARTTEST :set cino=(0,W2s 2kdd]]=][ ENDTEST diff --git a/src/testdir/test3.ok b/src/testdir/test3.ok --- a/src/testdir/test3.ok +++ b/src/testdir/test3.ok @@ -618,7 +618,7 @@ Constructor::Constructor(int a, Constructor::Constructor(int a, int b ) /*x*/ : /*x*/ BaseClass(a), - member(b) + member(b) { } @@ -651,7 +651,7 @@ class CAbc : }; class CAbc : public BaseClass1, - protected BaseClass2 + protected BaseClass2 { }; @@ -730,6 +730,31 @@ int main(void) next_line_of_code(); } +barry() +{ + Foo::Foo (int one, + int two) + : something(4) + {} +} + +barry() +{ + Foo::Foo (int one, int two) + : something(4) + {} +} + +Constructor::Constructor(int a, + int b + ) : + BaseClass(a, + b, + c), + mMember(b) +{ +} + /* end of AUTO */ @@ -1070,6 +1095,16 @@ protected: }; + void +foo() +{ + if (a) + { + } else + asdf; +} + + { averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd( asdasdf, diff --git a/src/version.h b/src/version.h --- a/src/version.h +++ b/src/version.h @@ -35,6 +35,6 @@ */ #define VIM_VERSION_NODOT "vim70d" #define VIM_VERSION_SHORT "7.0d" -#define VIM_VERSION_MEDIUM "7.0d02 BETA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12, compiled " +#define VIM_VERSION_MEDIUM "7.0d03 BETA" +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13, compiled "