updated for version 7.0d03

This commit is contained in:
Bram Moolenaar
2006-04-13 20:37:35 +00:00
parent 18144c8423
commit 7fc904b610
23 changed files with 656 additions and 512 deletions

View File

@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network " netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION " AUTOLOAD PORTION
" Date: Apr 06, 2006 " Date: Apr 12, 2006
" Version: 86 " Version: 87
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz> " Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 " Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw") if &cp || exists("g:loaded_netrw")
finish finish
endif endif
let g:loaded_netrw = "v86" let g:loaded_netrw = "v87"
if v:version < 700 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 echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish finish
@ -1155,7 +1155,7 @@ fun! s:NetBrowse(dirname)
" set up menus " set up menus
let b:netrw_browser_active= 1 let b:netrw_browser_active= 1
call s:NetMenu() call s:NetMenu(1)
" make this buffer modifiable " make this buffer modifiable
setlocal ma nonu nowrap setlocal ma nonu nowrap
@ -1460,6 +1460,7 @@ fun! s:NetBrowse(dirname)
else else
exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!' exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
endif endif
" remove priority pattern prefix
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e' exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
endif endif
if w:netrw_longlist == 1 if w:netrw_longlist == 1
@ -1494,14 +1495,17 @@ fun! s:NetBrowseChgDir(dirname,newdir)
if newdir !~ '[\/]$' if newdir !~ '[\/]$'
" handling a file " handling a file
let dirname= dirname.newdir let dirname= dirname.newdir
let didfile= 0
if g:netrw_browse_split == 1 if g:netrw_browse_split == 1
new new
wincmd _ wincmd _
elseif g:netrw_browse_split == 2 elseif g:netrw_browse_split == 2
rightb vert new rightb vert new
wincmd | wincmd |
else
" handling a file, didn't split, so possibly remove menu
call s:NetMenu(0)
endif endif
call s:NetMenu()
" call Decho("handling a file: dirname<".dirname.">") " call Decho("handling a file: dirname<".dirname.">")
elseif newdir == './' elseif newdir == './'
@ -2567,7 +2571,7 @@ fun! netrw#NetObtain(...)
endfun 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. " If there's only one window, then the window will first be split.
fun! s:NetPrevWinOpen(islocal) fun! s:NetPrevWinOpen(islocal)
" call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")") " call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")")
@ -2644,69 +2648,81 @@ endfun
" --------------------------------------------------------------------- " ---------------------------------------------------------------------
" NetMenu: generates the menu for gvim and netrw {{{2 " NetMenu: generates the menu for gvim and netrw {{{2
fun! s:NetMenu() fun! s:NetMenu(domenu)
if has("menu") && has("gui_running") && &go =~ 'm' if has("menu") && has("gui_running") && &go =~ 'm'
" call Dfunc("NetMenu()") " call Dfunc("NetMenu(domenu=".a:domenu.")")
if !exists("s:netrw_menu_enabled") if !exists("s:netrw_menu_enabled") && a:domenu
" call Decho("initialize menu")
let s:netrw_menu_enabled= 1 let s:netrw_menu_enabled= 1
if !exists("g:DrChipTopLvlMenu") if !exists("g:NetrwTopLvlMenu")
let g:DrChipTopLvlMenu= "DrChip." let g:NetrwTopLvlMenu= "Netrw."
endif
exe 'silent! menu '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b Nb'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B NB'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u u'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U U'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr> '."\<cr>"
exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v v'
exe 'silent! menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q q'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i i'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a a'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O O'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p p'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P P'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
exe 'silent! menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
exe 'silent! menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s s'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S S'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
exe 'silent! menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
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
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Help<tab>? ?'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Apply\ Special\ Viewer<tab>x x'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Bookmark\ Current\ Directory<tab>b Nb'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Go\ Up\ Directory<tab>- -'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Goto\ Bookmarked\ Directory<tab>B NB'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Recently\ Used\ Directory<tab>u u'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Subsequently\ Used\ Directory<tab>U U'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Delete\ File/Directory<tab>D D'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory<tab><cr> '."\<cr>"
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Window<tab>o o'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Vertical\ Window\ <tab>v v'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.List\ Bookmarks\ and\ History<tab>q q'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Listing\ Style\ (thin-long-wide)<tab>i i'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Make\ Subdirectory<tab>d d'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Normal-Hide-Show<tab>a a'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Obtain\ File<tab>O O'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Preview\ File/Directory<tab>p p'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Previous\ Window\ Browser<tab>P P'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Rename\ File/Directory<tab>R R'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Reverse\ Sorting\ Order<tab>'."r r"
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Select\ Sorting\ Style<tab>s s'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Sorting\ Sequence\ Edit<tab>S S'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Set\ Current\ Directory<tab>c c'
exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
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'
endif endif
" call Dret("NetMenu") " call Dret("NetMenu")
endif endif
@ -2766,7 +2782,7 @@ fun! netrw#DirBrowse(dirname)
" set up menus " set up menus
let b:netrw_browser_active= 1 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 " find buffer number of buffer named precisely the same as a:dirname
let bufnum= bufnr(escape(a:dirname,'\')) let bufnum= bufnr(escape(a:dirname,'\'))
@ -2793,7 +2809,7 @@ fun! netrw#DirBrowse(dirname)
else else
exe "keepalt b ".bufnum exe "keepalt b ".bufnum
if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by 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 if !g:netrw_keepdir
" call Decho("change directory: cd ".b:netrw_curdir) " call Decho("change directory: cd ".b:netrw_curdir)
exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape) exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
@ -2911,7 +2927,7 @@ fun! netrw#DirBrowse(dirname)
" call Decho("set up banner") " call Decho("set up banner")
keepjumps put ='\" ============================================================================' keepjumps put ='\" ============================================================================'
keepjumps 1d keepjumps 1d
keepjumps put ='\" Directory Listing (netrw '.g:loaded_netrw.')' keepjumps put ='\" Netrw Directory Listing (netrw '.g:loaded_netrw.')'
keepjumps put ='\" '.b:netrw_curdir keepjumps put ='\" '.b:netrw_curdir
let w:netrw_bannercnt= 3 let w:netrw_bannercnt= 3
@ -2979,6 +2995,7 @@ fun! netrw#DirBrowse(dirname)
exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!' exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
endif endif
endif endif
" remove priority pattern prefix
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e' exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
else else
@ -3025,12 +3042,12 @@ fun! s:LocalBrowseList()
let dirname = escape(b:netrw_curdir,s:netrw_glob_escape) let dirname = escape(b:netrw_curdir,s:netrw_glob_escape)
let dirnamelen = strlen(b:netrw_curdir) let dirnamelen = strlen(b:netrw_curdir)
let filelist = glob(dirname."/*") let filelist = glob(dirname."/*")
" call Decho("glob(dirname<".dirname.">,*)=".filelist) " call Decho("glob(dirname<".dirname."/.*>)=".filelist)
if filelist != "" if filelist != ""
let filelist= filelist."\n" let filelist= filelist."\n"
endif endif
let filelist= filelist.glob(dirname."/.*") 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, " if the directory name includes a "$", and possibly other characters,
" the glob() doesn't include "." and ".." entries. " the glob() doesn't include "." and ".." entries.
@ -3145,9 +3162,11 @@ fun! s:LocalBrowseChgDir(dirname,newdir,...)
elseif g:netrw_browse_split == 2 elseif g:netrw_browse_split == 2
rightb vert new rightb vert new
wincmd | wincmd |
else
" handling a file, didn't split, so possibly remove menu
call s:NetMenu(0)
endif endif
exe "e! ".escape(dirname,s:netrw_cd_escape) exe "e! ".escape(dirname,s:netrw_cd_escape)
call s:NetMenu()
set ma nomod set ma nomod
endif endif
@ -3177,8 +3196,9 @@ endfun
" on the chance that s/he removed/created a file/directory with it. " on the chance that s/he removed/created a file/directory with it.
fun! s:LocalBrowseShellCmdRefresh() fun! s:LocalBrowseShellCmdRefresh()
" call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist)) " call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist))
" go through all buffers, " GO through all buffers on netrw_browselist (ie. just local-netrw buffers):
" including unlisted (which is why I can't use bufdo) " | refresh any netrw window
" | wipe out any non-displaying netrw buffer
let curwin = winnr() let curwin = winnr()
let ibl = 0 let ibl = 0
for ibuf in s:netrw_browselist for ibuf in s:netrw_browselist
@ -4098,11 +4118,12 @@ fun! s:SetSort()
let priority = priority + 1 let priority = priority + 1
endwhile endwhile
" I'm afraid that I don't remember why the following line was present. It " Following line associated with priority -- items that satisfy a priority
" has something to do with priority -- items that satisfy a two or more " pattern get prefixed by ###/ which permits easy sorting by priority.
" priority patterns get preceded by two or more priority patterns: ###/ " Sometimes files can satisfy multiple priority patterns -- only the latest
" So, I want to remove priority patterns, but not ###/ directory names. " priority pattern needs to be retained. So, at this point, these excess
" Following pattern retains just one priority pattern. " 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' exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+\ze./\1/e'
" call Dret("SetSort") " call Dret("SetSort")

View File

@ -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. VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
@ -847,11 +847,10 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
*g:netrw_winsize* specify initial size of new o/v windows *g:netrw_winsize* specify initial size of new o/v windows
default: "" default: ""
*g:DrChipTopLvlMenu* This variable specifies the top level *g:NetrwTopLvlMenu* This variable specifies the top level
submenu name; by default, its "DrChip.". menu name; by default, its "Netrw.". If
If you wish to change this, do so in your you wish to change this, do so in your
.vimrc. It affects all of my plugins which .vimrc.
have menus.
INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro* INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
@ -1448,6 +1447,7 @@ which is loaded automatically at startup (assuming :set nocp).
============================================================================== ==============================================================================
11. History *netrw-history* {{{1 11. History *netrw-history* {{{1
v87: * bug fix -- menus were partially disappearing
v85: * bug fix -- missing an endif v85: * bug fix -- missing an endif
* bug fix -- handles spaces in names and directories when using * bug fix -- handles spaces in names and directories when using
ftp-based browsing ftp-based browsing

View File

@ -2316,22 +2316,25 @@ If none of these cases pertain, then the first line of the file is examined
(ex. /bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype, (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 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 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 One may specify a global default by instantiating one of the following three
variables in your <.vimrc>: variables in your <.vimrc>:
ksh: > 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: > < bash: >
let is_bash = 1 let g:is_bash = 1
< sh: > < sh: (default) Borne shell >
let is_sh = 1 let g:is_sh = 1
If there's no "#! ..." line, and the user hasn't availed himself/herself of a 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 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 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 > If, in your <.vimrc>, you set >
let g:sh_fold_enabled= 1 let g:sh_fold_enabled= 1

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -124,11 +124,12 @@ next tab page. |'tabline'|
:tabn[ext] *:tabn* *:tabnext* *gt* :tabn[ext] *:tabn* *:tabnext* *gt*
gt *CTRL-<PageDown>* *<C-PageDown>* gt *CTRL-<PageDown>* *<C-PageDown>*
<C-PageDown> Go to the next tab page. Wraps around from the last to the <C-PageDown> *i_CTRL-<PageDown>* *i_<C-PageDown>*
Go to the next tab page. Wraps around from the last to the
first one. first one.
:tabn[ext] {count} :tabn[ext] {count} *CTRL-<PageUp>* *<C-PageUp>*
{count}gt *CTRL-<PageUp>* *<C-PageUp>* {count}gt *i_CTRL-<PageUp>* *i_<C-PageUp>*
<C-PageUp> Go to tab page {count}. The first tab page has number one. <C-PageUp> Go to tab page {count}. The first tab page has number one.

View File

@ -5367,7 +5367,7 @@ g, motion.txt /*g,*
g- undo.txt /*g-* g- undo.txt /*g-*
g0 motion.txt /*g0* g0 motion.txt /*g0*
g8 various.txt /*g8* 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_alto pi_netrw.txt /*g:netrw_alto*
g:netrw_altv pi_netrw.txt /*g:netrw_altv* g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split* g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
@ -5730,6 +5730,8 @@ i_<BS> insert.txt /*i_<BS>*
i_<C-End> insert.txt /*i_<C-End>* i_<C-End> insert.txt /*i_<C-End>*
i_<C-Home> insert.txt /*i_<C-Home>* i_<C-Home> insert.txt /*i_<C-Home>*
i_<C-Left> insert.txt /*i_<C-Left>* i_<C-Left> insert.txt /*i_<C-Left>*
i_<C-PageDown> tabpage.txt /*i_<C-PageDown>*
i_<C-PageUp> tabpage.txt /*i_<C-PageUp>*
i_<C-Right> insert.txt /*i_<C-Right>* i_<C-Right> insert.txt /*i_<C-Right>*
i_<CR> insert.txt /*i_<CR>* i_<CR> insert.txt /*i_<CR>*
i_<Del> insert.txt /*i_<Del>* i_<Del> insert.txt /*i_<Del>*
@ -5757,6 +5759,8 @@ i_<S-Up> insert.txt /*i_<S-Up>*
i_<Tab> insert.txt /*i_<Tab>* i_<Tab> insert.txt /*i_<Tab>*
i_<Up> insert.txt /*i_<Up>* i_<Up> insert.txt /*i_<Up>*
i_BS insert.txt /*i_BS* i_BS insert.txt /*i_BS*
i_CTRL-<PageDown> tabpage.txt /*i_CTRL-<PageDown>*
i_CTRL-<PageUp> tabpage.txt /*i_CTRL-<PageUp>*
i_CTRL-@ insert.txt /*i_CTRL-@* i_CTRL-@ insert.txt /*i_CTRL-@*
i_CTRL-A insert.txt /*i_CTRL-A* i_CTRL-A insert.txt /*i_CTRL-A*
i_CTRL-B-gone version5.txt /*i_CTRL-B-gone* i_CTRL-B-gone version5.txt /*i_CTRL-B-gone*

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -32,6 +32,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
Do some of the 'cindent' bugs below. 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. Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly) Win32: Describe how to do debugging. (George Reilly)
@ -2236,21 +2238,6 @@ Insert mode:
'cindent', 'smartindent': '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) 9 Too much indent for "lulu": (Uwe Zeisberger)
int main () int main ()
{ {

View File

@ -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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -2465,5 +2465,15 @@ When 'guitablabel' is set the effect wasn't visible right away.
Fixed a few 'cindent' errors. 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: vim:tw=78:ts=8:ft=help:norl:

View File

@ -1,8 +1,8 @@
" VHDL indent ('93 syntax) " VHDL indent ('93 syntax)
" Language: VHDL " Language: VHDL
" Maintainer: Gerald Lai <laigera+vim?gmail.com> " Maintainer: Gerald Lai <laigera+vim?gmail.com>
" Version: 1.34 " Version: 1.36
" Last Change: 2006 Feb 11 " Last Change: 2006 Apr 12
" URL: http://www.vim.org/scripts/script.php?script_id=1450 " URL: http://www.vim.org/scripts/script.php?script_id=1450
" only load this indent file when no other was loaded " only load this indent file when no other was loaded
@ -15,37 +15,37 @@ let b:did_indent = 1
setlocal indentexpr=GetVHDLindent() setlocal indentexpr=GetVHDLindent()
setlocal indentkeys=!^F,o,O,e,0(,0) setlocal indentkeys=!^F,o,O,e,0(,0)
setlocal indentkeys+==~if,=~then,=~elsif,=~else setlocal indentkeys+==~if,=~then,=~elsif,=~else
setlocal indentkeys+==~begin,=~is,=~select,=~-- setlocal indentkeys+==~begin,=~is,=~select
" count repeat " count repeat
function! <SID>CountWrapper(cmd) "function! <SID>CountWrapper(cmd)
let i = v:count1 " let i = v:count1
if a:cmd[0] == ":" " if a:cmd[0] == ":"
while i > 0 " while i > 0
execute a:cmd " execute a:cmd
let i = i - 1 " let i = i - 1
endwhile " endwhile
else " else
execute "normal! gv\<Esc>" " execute "normal! gv\<Esc>"
execute "normal ".i.a:cmd " execute "normal ".i.a:cmd
let curcol = col(".") " let curcol = col(".")
let curline = line(".") " let curline = line(".")
normal! gv " normal! gv
call cursor(curline, curcol) " call cursor(curline, curcol)
endif " endif
endfunction "endfunction
" explore motion " explore motion
" keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units" " 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\)' "let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR> "noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR> "noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR> "noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR> "noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR> "vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR> "vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR> "vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR> "vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
" constants " constants
" not a comment " not a comment
@ -56,26 +56,26 @@ let s:ES = '\s*\%(--.*\)\=$'
let s:NE = '\%(\<end\s\+\)\@<!' let s:NE = '\%(\<end\s\+\)\@<!'
" for matchit plugin " for matchit plugin
if exists("loaded_matchit") "if exists("loaded_matchit")
let b:match_ignorecase = 1 " let b:match_ignorecase = 1
let b:match_words = " let b:match_words =
\ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'. " \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
\ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'. " \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
\ s:NE.'\<loop\>:\<end\s\+loop\>,'. " \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
\ s:NE.'\<for\>:\<end\s\+for\>,'. " \ s:NE.'\<for\>:\<end\s\+for\>,'.
\ s:NE.'\<generate\>:\<end\s\+generate\>,'. " \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
\ s:NE.'\<record\>:\<end\s\+record\>,'. " \ s:NE.'\<record\>:\<end\s\+record\>,'.
\ s:NE.'\<units\>:\<end\s\+units\>,'. " \ s:NE.'\<units\>:\<end\s\+units\>,'.
\ s:NE.'\<process\>:\<end\s\+process\>,'. " \ s:NE.'\<process\>:\<end\s\+process\>,'.
\ s:NE.'\<block\>:\<end\s\+block\>,'. " \ s:NE.'\<block\>:\<end\s\+block\>,'.
\ s:NE.'\<function\>:\<end\s\+function\>,'. " \ s:NE.'\<function\>:\<end\s\+function\>,'.
\ s:NE.'\<entity\>:\<end\s\+entity\>,'. " \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
\ s:NE.'\<component\>:\<end\s\+component\>,'. " \ s:NE.'\<component\>:\<end\s\+component\>,'.
\ s:NE.'\<architecture\>:\<end\s\+architecture\>,'. " \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
\ s:NE.'\<package\>:\<end\s\+package\>,'. " \ s:NE.'\<package\>:\<end\s\+package\>,'.
\ s:NE.'\<procedure\>:\<end\s\+procedure\>,'. " \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
\ s:NE.'\<configuration\>:\<end\s\+configuration\>' " \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
endif "endif
" only define indent function once " only define indent function once
if exists("*GetVHDLindent") if exists("*GetVHDLindent")

View File

@ -1,11 +1,11 @@
" Vim ABAP syntax file " Vim ABAP syntax file
" Language: SAP - ABAP/4 " Language: SAP - ABAP/R4
" Revision: 0.8 " Revision: 1.0
" Maintainer: Marius van Wyk <marius@e.co.za> " Maintainer: Marius Piedallu van Wyk <marius@e.co.za>
" Last Change: 2004 Aug 30 " Last Change: 2006 Apr 13
" For version 5.x: Clear all syntax items " For version < 6.0: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version >= 6.0: Quit when a syntax file was already loaded
if version < 600 if version < 600
syntax clear syntax clear
elseif exists("b:current_syntax") elseif exists("b:current_syntax")
@ -16,19 +16,19 @@ endif
syn case ignore syn case ignore
" Symbol Operators " 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 " Literals
syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape
syn match abapStringEscape contained "''" syn match abapStringEscape contained "''"
syn match abapNumber "-\=\<\d\+\>" syn match abapNumber "-\=\<\d\+\>"
syn region abapHex matchgroup=abapHex start="X'" end="'" syn region abapHex matchgroup=abapHex start="X'" end="'"
if version >= 600 if version >= 600
@ -52,7 +52,7 @@ syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY
syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION
syn keyword abapStatement ON OVERLAY syn keyword abapStatement ON OVERLAY
syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT 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 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 TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES
syn keyword abapStatement UNPACK UPDATE syn keyword abapStatement UNPACK UPDATE
@ -82,7 +82,7 @@ syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1
" Special ABAP specific tables: " 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 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 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 " Pointer
syn match abapSpecial "<\w\+>" syn match abapSpecial "<\w\+>"
@ -118,7 +118,7 @@ syn match abapError "\.\."
" Comments " Comments
syn region abapComment start="^\*" end="$" contains=abapTodo syn region abapComment start="^\*" end="$" contains=abapTodo
syn match abapComment "\".*" contains=abapTodo syn match abapComment "\".*" contains=abapTodo
syn keyword abapTodo contained TODO NOTE syn keyword abapTodo contained TODO NOTE
" Define the default highlighting. " Define the default highlighting.
" For version 5.7 and earlier: only when not done already " For version 5.7 and earlier: only when not done already
@ -132,17 +132,17 @@ if version >= 508 || !exists("did_abap_syntax_inits")
endif endif
HiLink abapError Error HiLink abapError Error
HiLink abapComment Comment HiLink abapComment Comment
HiLink abapInclude Include HiLink abapInclude Include
HiLink abapSpecial Special HiLink abapSpecial Special
HiLink abapSpecialTables PreProc HiLink abapSpecialTables PreProc
HiLink abapSymbolOperator abapOperator HiLink abapSymbolOperator abapOperator
HiLink abapOperator Operator HiLink abapOperator Operator
HiLink abapStatement Statement HiLink abapStatement Statement
HiLink abapString String HiLink abapString String
HiLink abapFloat Float HiLink abapFloat Float
HiLink abapNumber Number HiLink abapNumber Number
HiLink abapHex Number HiLink abapHex Number
delcommand HiLink delcommand HiLink
endif endif
@ -150,3 +150,4 @@ endif
let b:current_syntax = "abap" let b:current_syntax = "abap"
" vim: ts=8 sw=2 " vim: ts=8 sw=2

View File

@ -2,9 +2,14 @@
" This is a GENERATED FILE. Please always refer to source file at the URI below. " 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) " Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess)
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz> " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" 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 " 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 " Setup
if version >= 600 if version >= 600
@ -15,25 +20,11 @@ else
syntax clear syntax clear
endif 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 syn case ignore
" Base constructs " Base constructs
syn match apacheComment "^\s*#.*$" contains=apacheFixme syn match apacheComment "^\s*#.*$" contains=apacheFixme
if s:av >= "002000000" syn match apacheUserID "#-\?\d\+\>"
syn match apacheUserID "#-\?\d\+\>"
endif
syn case match syn case match
syn keyword apacheFixme FIXME TODO XXX NOT syn keyword apacheFixme FIXME TODO XXX NOT
syn case ignore syn case ignore
@ -43,146 +34,118 @@ syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+
" Core and mpm " 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 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 AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter
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 syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable
endif syn keyword apacheOption INode MTime Size
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 apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full 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 emerg alert crit error warn notice info debug
syn keyword apacheOption registry script inetd standalone syn keyword apacheOption registry script inetd standalone
syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" 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 "\<valid-user\>"
syn case match syn case match
syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained
syn case ignore syn case ignore
syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)\+.*>" contains=apacheAnything 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 apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError
syn keyword apacheLimitSectionKeyword Limit LimitExcept contained syn keyword apacheLimitSectionKeyword Limit LimitExcept contained
syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue
syn keyword apacheAuthTypeValue Basic Digest syn keyword apacheAuthTypeValue Basic Digest
syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment
syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained
if s:av >= "002000000" 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 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 MaxThreads ThreadStackSize syn keyword apacheDeclaration Win32DisableAcceptEx
syn keyword apacheDeclaration AssignUserId ChildPerUserId syn keyword apacheDeclaration AssignUserId ChildPerUserId
syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers
syn keyword apacheOption flock fcntl sysvsem pthread syn keyword apacheOption flock fcntl sysvsem pthread
endif
" Modules " 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 "<\/\=\(<AuthnProviderAlias\)[^>]*>" 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 "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
syn keyword apacheAllowDenyValue All None contained syn keyword apacheAllowDenyValue All None contained
syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment
syn keyword apacheOrderValue Deny Allow contained syn keyword apacheOrderValue Deny Allow contained
syn keyword apacheDeclaration Action Script syn keyword apacheDeclaration AuthzOwnerAuthoritative
syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch syn keyword apacheDeclaration AuthzUserAuthoritative
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 AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName 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 DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified
syn keyword apacheOption Ascending Descending Name Date Size Description syn keyword apacheOption Ascending Descending Name Date Size Description
if s:av >= "002000000" syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort XHTML
syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules
endif syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer
if s:av < "002000000" syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase
endif
if s:av >= "002000000"
syn keyword apacheDeclaration CacheDefaultExpire CacheEnable CacheForceCompletion CacheIgnoreCacheControl CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheMaxStreamingBuffer
endif
syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix
syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer
if s:av >= "002000000" syn keyword apacheDeclaration ScriptStock
syn keyword apacheDeclaration ScriptStock syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc
syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd
syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout
endif syn keyword apacheDeclaration DavLockDB
syn keyword apacheDeclaration Dav DavDepthInfinity DavLockDB DavMinTimeout syn keyword apacheDeclaration DavGenericLockDB
if s:av < "002000000" syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver
syn keyword apacheDeclaration Define syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize
end syn keyword apacheDeclaration DirectoryIndex DirectorySlash
if s:av >= "002000000" syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin
syn keyword apacheDeclaration DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot
endif syn keyword apacheDeclaration DumpIOInput DumpIOOutput
if s:av < "002000000" syn keyword apacheDeclaration ProtocolEcho
syn keyword apacheDeclaration AuthDigestFile
endif
syn keyword apacheDeclaration DirectoryIndex
if s:av >= "002000000"
syn keyword apacheDeclaration ProtocolEcho
endif
syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv
syn keyword apacheDeclaration Example syn keyword apacheDeclaration Example
syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault
if s:av >= "002000000" syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions
syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr
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 CacheFile MMapFile
endif syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace
syn keyword apacheDeclaration Header syn keyword apacheDeclaration Header
if s:av >= "002000000" syn keyword apacheDeclaration RequestHeader
syn keyword apacheDeclaration RequestHeader
endif
syn keyword apacheOption set unset append add syn keyword apacheOption set unset append add
syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout
syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase
syn keyword apacheOption none formatted semiformatted unformatted syn keyword apacheOption none formatted semiformatted unformatted
syn keyword apacheOption nocontent referer error map syn keyword apacheOption nocontent referer error map
syn keyword apacheDeclaration XBitHack syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack
if s:av >= "002000000"
syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho
endif
syn keyword apacheOption on off full syn keyword apacheOption on off full
syn keyword apacheDeclaration AddModuleInfo syn keyword apacheDeclaration AddModuleInfo
syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery
if s:av >= "002000000" syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync
syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync syn keyword apacheDeclaration LDAPCertDBPath
syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPCertDBPath LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheSize syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert
endif 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
if s:av < "002000000" syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog
syn keyword apacheDeclaration AgentLog syn keyword apacheDeclaration ForensicLog
endif syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize
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 AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig
if s:av < "002000000" syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset
syn keyword apacheDeclaration ForceType SetHandler syn keyword apacheOption NegotiatedOnly Filters Handlers
endif
if s:av >= "002000000"
syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter
endif
syn keyword apacheDeclaration MimeMagicFile syn keyword apacheDeclaration MimeMagicFile
syn keyword apacheDeclaration MMapFile syn keyword apacheDeclaration MMapFile
syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority
if s:av >= "002000000" syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen
syn keyword apacheDeclaration ForceLanguagePriority
endif
syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn
syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv
syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler
@ -192,50 +155,25 @@ syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildE
syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag 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 syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything
if s:av < "002000000" 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 CacheRoot CacheSize CacheMaxExpire CacheDefaultExpire CacheLastModifiedFactor CacheGcInterval CacheDirLevels CacheDirLength CacheForceCompletion NoCache syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule
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 keyword apacheOption inherit syn keyword apacheOption inherit
if s:av < "002000000"
syn keyword apacheDeclaration RoamingAlias
endif
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
syn keyword apacheDeclaration LoadFile LoadModule syn keyword apacheDeclaration LoadFile LoadModule
syn keyword apacheDeclaration CheckSpelling 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 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
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 match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
syn keyword apacheOption builtin sem syn keyword apacheOption builtin sem
syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):"
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\)\>"
syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\)\>" syn keyword apacheOption optional optional_no_ca
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 keyword apacheDeclaration ExtendedStatus syn keyword apacheDeclaration ExtendedStatus
if s:av >= "002000000" syn keyword apacheDeclaration SuexecUserGroup
syn keyword apacheDeclaration SuexecUserGroup
endif
syn keyword apacheDeclaration UserDir syn keyword apacheDeclaration UserDir
syn keyword apacheDeclaration CookieExpires CookieName CookieTracking syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking
if s:av >= "002000000" syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965
syn keyword apacheDeclaration CookieDomain CookieStyle syn match apacheSection "<\/\=\(<IfVersion\)[^>]*>" contains=apacheAnything
syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965
endif
syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP
" Define the default highlighting " Define the default highlighting

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: Vim help file " Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org) " 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 " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") 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="^<" syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
if has("ebcdic") if has("ebcdic")
syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar
syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar
syn match helpHyperTextEntry "\*[^"*|]\+\*$" syn match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar
else else
syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
endif endif
syn match helpBar contained "|" syn match helpBar contained "|"
syn match helpStar contained "\*"
syn match helpNormal "|.*====*|" syn match helpNormal "|.*====*|"
syn match helpNormal ":|vim:|" " for :help modeline syn match helpNormal ":|vim:|" " for :help modeline
syn match helpVim "Vim version [0-9.a-z]\+" syn match helpVim "Vim version [0-9.a-z]\+"
@ -124,6 +125,7 @@ hi def link helpExampleStart helpIgnore
hi def link helpIgnore Ignore hi def link helpIgnore Ignore
hi def link helpHyperTextJump Subtitle hi def link helpHyperTextJump Subtitle
hi def link helpBar Ignore hi def link helpBar Ignore
hi def link helpStar Ignore
hi def link helpHyperTextEntry String hi def link helpHyperTextEntry String
hi def link helpHeadline Statement hi def link helpHeadline Statement
hi def link helpHeader PreProc hi def link helpHeader PreProc

View File

@ -1,6 +1,6 @@
" Vim syntax file " Vim syntax file
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-12 " Latest Revision: 2006-04-13
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@ -711,6 +711,8 @@ syn region kconfigHelpText
\ skip='^$' \ skip='^$'
\ end='^\z1\@!' \ end='^\z1\@!'
syn sync match kconfigSyncHelp grouphere kconfigHelpText 'help\|---help---'
hi def link kconfigTodo Todo hi def link kconfigTodo Todo
hi def link kconfigComment Comment hi def link kconfigComment Comment
hi def link kconfigKeyword Keyword hi def link kconfigKeyword Keyword

View File

@ -1,8 +1,15 @@
" Vim syntax file " Vim syntax file
" Language: Lifelines (v 3.0.7) http://lifelines.sourceforge.net " Language: LifeLines (v 3.0.50) http://lifelines.sourceforge.net
" Maintainer: Patrick Texier <p.texier@orsennes.com> " Maintainer: Patrick Texier <p.texier@genindre.org>
" Location: ftp://216.71.72.236/lifelines.vim " Location: http://www.genindre.org/ftp/lifelines/lifelines.vim
" Last Change: 2002 Mar 03 " 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 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded " For version 6.x: Quit when a syntax file was already loaded
@ -13,61 +20,94 @@ elseif exists("b:current_syntax")
finish finish
endif 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 lifelinesStatement set
syn keyword lifelinesUser getindi geindiset getfam getint getstr choosechild syn keyword lifelinesUser getindi geindiset getfam getint getstr choosechild
syn keyword lifelinesUser chooseindi choosespouse choosesubset menuchoose syn keyword lifelinesUser chooseindi choosespouse choosesubset menuchoose
syn keyword lifelinesUser choosefam getintmsg getindimsg getstrmsg syn keyword lifelinesUser choosefam
syn keyword lifelinesProc proc func return call syn keyword lifelinesProc proc func return call
syn keyword lifelinesInclude include syn keyword lifelinesInclude include
syn keyword lifelinesDef global syn keyword lifelinesDef global
syn keyword lifelinesConditional if else elsif switch syn keyword lifelinesConditional if else elsif switch
syn keyword lifelinesRepeat continue break while syn keyword lifelinesRepeat continue break while
syn keyword lifelinesLogical and or not eq ne lt gt le ge strcmp eqstr nestr 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 add sub mul div mod exp neg incr decr
syn keyword lifelinesIndi name fullname surname givens trimname birth syn keyword lifelinesArithm cos sin tan arccos arcsin arctan
syn keyword lifelinesIndi death baptism burial syn keyword lifelinesArithm deg2dms dms2deg spdist
syn keyword lifelinesIndi father mother nextsib prevsib sex male female syn keyword lifelinesIndi name fullname surname givens trimname birth
syn keyword lifelinesIndi pn nspouses nfamilies parents title key syn keyword lifelinesIndi death burial
syn keyword lifelinesIndi soundex inode root indi firstindi nextindi syn keyword lifelinesIndi father mother nextsib prevsib sex male female
syn keyword lifelinesIndi previndi spouses families forindi indiset syn keyword lifelinesIndi pn nspouses nfamilies parents title key
syn keyword lifelinesIndi addtoset deletefromset lengthset union intersect syn keyword lifelinesIndi soundex inode root indi firstindi nextindi
syn keyword lifelinesIndi difference parentset childset spouseset siblingset syn keyword lifelinesIndi previndi spouses families forindi indiset
syn keyword lifelinesIndi ancestorset descendentset descendantset uniqueset syn keyword lifelinesIndi addtoset deletefromset union intersect
syn keyword lifelinesIndi namesort keysort valuesort genindiset getindiset syn keyword lifelinesIndi difference parentset childset spouseset siblingset
syn keyword lifelinesIndi forindiset lastindi writeindi syn keyword lifelinesIndi ancestorset descendentset descendantset uniqueset
syn keyword lifelinesIndi inset syn keyword lifelinesIndi namesort keysort valuesort genindiset getindiset
syn keyword lifelinesFam marriage husband wife nchildren firstchild syn keyword lifelinesIndi forindiset lastindi writeindi
syn keyword lifelinesFam lastchild fnode fam firstfam nextfam lastfam syn keyword lifelinesIndi inset
syn keyword lifelinesFam prevfam children forfam writefam syn keyword lifelinesFam marriage husband wife nchildren firstchild
syn keyword lifelinesList list empty length enqueue dequeue requeue syn keyword lifelinesFam lastchild fnode fam firstfam nextfam lastfam
syn keyword lifelinesList push pop setel getel forlist inlist syn keyword lifelinesFam prevfam children forfam writefam
syn keyword lifelinesTable table insert lookup syn keyword lifelinesFam fathers mothers Parents
syn keyword lifelinesGedcom xref tag value parent child sibling savenode syn keyword lifelinesList list empty length enqueue dequeue requeue
syn keyword lifelinesGedcom fornodes traverse createnode addnode deletenode syn keyword lifelinesList push pop setel getel forlist inlist dup clear
syn keyword lifelinesGedcom reference dereference getrecord syn keyword lifelinesTable table insert lookup
syn keyword lifelinesGedcom gengedcom gengedcomstrong gengedcomweak syn keyword lifelinesGedcom xref tag value parent child sibling savenode
syn keyword lifelinesFunct date place year long short gettoday dayformat syn keyword lifelinesGedcom fornodes traverse createnode addnode
syn keyword lifelinesFunct monthformat dateformat extractdate syn keyword lifelinesGedcom detachnode foreven fornotes forothr forsour
syn keyword lifelinesFunct complexdate syn keyword lifelinesGedcom reference dereference getrecord
syn keyword lifelinesFunct extractnames extractplaces extracttokens lower syn keyword lifelinesFunct date place year long short gettoday dayformat
syn keyword lifelinesFunct upper capitalize trim rjustify save strsave syn keyword lifelinesFunct monthformat dateformat extractdate eraformat
syn keyword lifelinesFunct concat strconcat strlen substring index syn keyword lifelinesFunct complexdate complexformat complexpic datepic
syn keyword lifelinesFunct d card ord alpha roman strsoundex strtoint syn keyword lifelinesFunct extractnames extractplaces extracttokens lower
syn keyword lifelinesFunct atoi linemode pagemod col row pos pageout nl syn keyword lifelinesFunct yearformat
syn keyword lifelinesFunct sp qt newfile outfile copyfile print lock unlock syn keyword lifelinesFunct upper capitalize trim rjustify
syn keyword lifelinesFunct database version system stddate program syn keyword lifelinesFunct concat strconcat strlen substring index
syn keyword lifelinesFunct pvalue pagemode level extractdatestr debug syn keyword lifelinesFunct titlecase gettext
syn keyword lifelinesFunct f free getcol getproperty heapused 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 lifelinesString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
syn region lifelinesComment start="/\*" end="\*/" contains=lifelinesComment syn match lifelinesSpecial "\\\(\\\|\(n\|t\)\)" contained
" Only integers with lifelines syn region lifelinesComment start="/\*" end="\*/"
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 "catch errors caused by wrong parenthesis
"adapted from original c.vim written by Bram Moolenaar "adapted from original c.vim written by Bram Moolenaar
@ -90,25 +130,27 @@ if version >= 508 || !exists("did_lifelines_syn_inits")
endif endif
HiLink lifelinesConditional Conditional HiLink lifelinesConditional Conditional
HiLink lifelinesArithm Operator HiLink lifelinesArithm Operator
HiLink lifelinesLogical Conditional HiLink lifelinesLogical Conditional
HiLink lifelinesInclude Include HiLink lifelinesInclude Include
HiLink lifelinesComment Comment HiLink lifelinesComment Comment
HiLink lifelinesStatement Statement HiLink lifelinesStatement Statement
HiLink lifelinesUser Statement HiLink lifelinesUser Statement
HiLink lifelinesFunct Statement HiLink lifelinesFunct Statement
HiLink lifelinesTable Statement HiLink lifelinesTable Statement
HiLink lifelinesGedcom Statement HiLink lifelinesGedcom Statement
HiLink lifelinesList Statement HiLink lifelinesList Statement
HiLink lifelinesRepeat Repeat HiLink lifelinesRepeat Repeat
HiLink lifelinesFam Statement HiLink lifelinesFam Statement
HiLink lifelinesIndi Statement HiLink lifelinesIndi Statement
HiLink lifelinesProc Statement HiLink lifelinesProc Statement
HiLink lifelinesDef Statement HiLink lifelinesDef Statement
HiLink lifelinesString String HiLink lifelinesString String
HiLink lifelinesNumber Number HiLink lifelinesSpecial Special
HiLink lifelinesNumber Number
HiLink lifelinesParenError Error HiLink lifelinesParenError Error
HiLink lifelinesErrInParen Error HiLink lifelinesErrInParen Error
HiLink lifelinesError Error
delcommand HiLink delcommand HiLink
endif endif

View File

@ -3,18 +3,17 @@
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Apr 12, 2006 " Last Change: Apr 12, 2006
" Version: 83 " Version: 84
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax " URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
" "
" Using the following VIM variables: {{{1 " 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_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 " g:is_bash if none of the previous three variables are
" defined, then if g:is_bash is set enhance with " defined, then if g:is_bash is set enhance with
" bash syntax highlighting " 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_posix this variable is the same as g:is_kornshell
" g:sh_fold_enabled if non-zero, syntax folding is enabled " g:sh_fold_enabled if non-zero, syntax folding is enabled
" g:sh_minlines sets up syn sync minlines (dflt: 200) " g:sh_minlines sets up syn sync minlines (dflt: 200)
" g:sh_maxlines sets up syn sync maxlines (dflt: 2x sh_minlines) " 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, " a b:is_sh is converted into b:is_bash/b:is_kornshell,
" respectively. " respectively.
if !exists("b:is_kornshell") && !exists("b:is_bash") 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 let b:is_kornshell= 1
if exists("b:is_sh") if exists("b:is_sh")
unlet b:is_sh unlet b:is_sh
endif endif
elseif exists("is_bash") elseif exists("g:is_bash")
let b:is_bash= 1 let b:is_bash= 1
if exists("b:is_sh") if exists("b:is_sh")
unlet b:is_sh unlet b:is_sh

View File

@ -839,7 +839,13 @@ diff_file(tmp_orig, tmp_new, tmp_diff)
(diff_flags & DIFF_ICASE) ? "-i " : "", (diff_flags & DIFF_ICASE) ? "-i " : "",
tmp_orig, tmp_new); tmp_orig, tmp_new);
append_redir(cmd, p_srr, tmp_diff); 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); (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
#ifdef FEAT_AUTOCMD
--autocmd_block;
#endif
vim_free(cmd); vim_free(cmd);
} }
} }
@ -942,7 +948,13 @@ ex_diffpatch(eap)
fullname != NULL ? fullname : fullname != NULL ? fullname :
# endif # endif
eap->arg); eap->arg);
#ifdef FEAT_AUTOCMD
++autocmd_block; /* Avoid ShellCmdPost stuff */
#endif
(void)call_shell(buf, SHELL_FILTER | SHELL_COOKED); (void)call_shell(buf, SHELL_FILTER | SHELL_COOKED);
#ifdef FEAT_AUTOCMD
--autocmd_block;
#endif
} }
#ifdef UNIX #ifdef UNIX

View File

@ -8494,6 +8494,16 @@ ins_pageup()
pos_T tpos; pos_T tpos;
undisplay_dollar(); undisplay_dollar();
#ifdef FEAT_WINDOWS
if (mod_mask & MOD_MASK_CTRL)
{
/* <C-PageUp>: tab page back */
goto_tabpage(-1);
return;
}
#endif
tpos = curwin->w_cursor; tpos = curwin->w_cursor;
if (onepage(BACKWARD, 1L) == OK) if (onepage(BACKWARD, 1L) == OK)
{ {
@ -8543,6 +8553,16 @@ ins_pagedown()
pos_T tpos; pos_T tpos;
undisplay_dollar(); undisplay_dollar();
#ifdef FEAT_WINDOWS
if (mod_mask & MOD_MASK_CTRL)
{
/* <C-PageDown>: tab page forward */
goto_tabpage(0);
return;
}
#endif
tpos = curwin->w_cursor; tpos = curwin->w_cursor;
if (onepage(FORWARD, 1L) == OK) if (onepage(FORWARD, 1L) == OK)
{ {

View File

@ -4444,8 +4444,9 @@ ExpandGeneric(xp, regmatch, num_file, file, func)
} }
} }
/* Sort the results. */ /* Sort the results. Keep menu's in the specified order. */
sort_strings(*file, *num_file); if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS)
sort_strings(*file, *num_file);
return OK; return OK;
} }

View File

@ -3085,6 +3085,7 @@ get_keystroke()
mch_memmove(buf, buf + 3, (size_t)len); mch_memmove(buf, buf + 3, (size_t)len);
continue; continue;
} }
break;
} }
#ifdef FEAT_MBYTE #ifdef FEAT_MBYTE
if (has_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_iswhileofdo __ARGS((char_u *, linenr_T, int));
static int cin_isbreak __ARGS((char_u *)); static int cin_isbreak __ARGS((char_u *));
static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col)); 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_ends_in __ARGS((char_u *, char_u *, char_u *));
static int cin_skip2pos __ARGS((pos_T *trypos)); static int cin_skip2pos __ARGS((pos_T *trypos));
static pos_T *find_start_brace __ARGS((int)); 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])); 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: * constructor-initialization. eg:
* *
* class MyClass : * class MyClass :
@ -5462,10 +5465,11 @@ cin_isbreak(p)
static int static int
cin_is_cpp_baseclass(line, col) cin_is_cpp_baseclass(line, col)
char_u *line; char_u *line;
colnr_T *col; colnr_T *col; /* return: column to align with */
{ {
char_u *s; char_u *s;
int class_or_struct, lookfor_ctor_init, cpp_base_class; int class_or_struct, lookfor_ctor_init, cpp_base_class;
linenr_T lnum = curwin->w_cursor.lnum;
*col = 0; *col = 0;
@ -5478,8 +5482,49 @@ cin_is_cpp_baseclass(line, col)
cpp_base_class = lookfor_ctor_init = class_or_struct = FALSE; 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[0] == ':')
{ {
if (s[1] == ':') if (s[1] == ':')
@ -5542,43 +5587,53 @@ cin_is_cpp_baseclass(line, col)
lookfor_ctor_init = FALSE; lookfor_ctor_init = FALSE;
/* the first statement starts here: lineup with this one... */ /* the first statement starts here: lineup with this one... */
if (cpp_base_class && *col == 0) if (cpp_base_class)
*col = (colnr_T)(s - line); *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); 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; 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 * Return TRUE if string "s" ends with the string "find", possibly followed by
* white space and comments. Skip strings and comments. * white space and comments. Skip strings and comments.
@ -6902,22 +6957,17 @@ get_c_indent()
else else
amount += ind_continuation; amount += ind_continuation;
} }
else if (col == 0 || theline[0] == '{') else if (theline[0] == '{')
{ {
amount = get_indent(); /* Need to find start of the declaration. */
if (find_last_paren(l, '(', ')') lookfor = LOOKFOR_UNTERM;
&& (trypos = find_match_paren(ind_maxparen, ind_continuation = 0;
ind_maxcomment)) != NULL) continue;
amount = get_indent_lnum(trypos->lnum); /* XXX */
if (theline[0] != '{')
amount += ind_cpp_baseclass;
} }
else else
{ /* XXX */
curwin->w_cursor.col = col; amount = get_baseclass_amount(col, ind_maxparen,
getvcol(curwin, &curwin->w_cursor, &col, NULL, NULL); ind_maxcomment, ind_cpp_baseclass);
amount = (int)col;
}
break; break;
} }
else if (lookfor == LOOKFOR_CPP_BASECLASS) else if (lookfor == LOOKFOR_CPP_BASECLASS)
@ -6967,7 +7017,8 @@ get_c_indent()
* If we are looking for ',', we also look for matching * If we are looking for ',', we also look for matching
* braces. * braces.
*/ */
if (trypos == NULL && find_last_paren(l, '{', '}')) if (trypos == NULL && terminated == ','
&& find_last_paren(l, '{', '}'))
trypos = find_start_brace(ind_maxcomment); trypos = find_start_brace(ind_maxcomment);
if (trypos != NULL) if (trypos != NULL)
@ -7490,21 +7541,9 @@ term_again:
} }
if (n) if (n)
{ {
if (col == 0) /* XXX */
{ amount = get_baseclass_amount(col, ind_maxparen,
amount = get_indent() + ind_cpp_baseclass; /* XXX */ ind_maxcomment, ind_cpp_baseclass);
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;
}
break; break;
} }
@ -7604,7 +7643,7 @@ term_again:
* bar; * bar;
* indent_to_0 here; * 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); l = ml_get(curwin->w_cursor.lnum - 1);
if (cin_ends_in(l, (char_u *)",", NULL) if (cin_ends_in(l, (char_u *)",", NULL)

View File

@ -2066,7 +2066,7 @@ static struct vimoption
{"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
#ifdef FEAT_SESSION #ifdef FEAT_SESSION
(char_u *)&p_ssop, PV_NONE, (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} (char_u *)0L}
#else #else
(char_u *)NULL, PV_NONE, (char_u *)NULL, PV_NONE,
@ -6458,6 +6458,12 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
if (check_opt_strings(p_fcl, p_fcl_values, TRUE) != OK) if (check_opt_strings(p_fcl, p_fcl_values, TRUE) != OK)
errmsg = e_invarg; errmsg = e_invarg;
} }
/* 'foldignore' */
else if (gvarp == &curwin->w_allbuf_opt.wo_fdi)
{
if (foldmethodIsIndent(curwin))
foldUpdateAll(curwin);
}
#endif #endif
#ifdef FEAT_VIRTUALEDIT #ifdef FEAT_VIRTUALEDIT

View File

@ -584,20 +584,6 @@ display_errors()
for (p = (char *)error_ga.ga_data; *p; ++p) for (p = (char *)error_ga.ga_data; *p; ++p)
if (!isspace(*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( (void)gui_mch_dialog(
#ifdef FEAT_GUI #ifdef FEAT_GUI
gui.starting ? VIM_INFO : gui.starting ? VIM_INFO :
@ -608,13 +594,6 @@ display_errors()
#endif #endif
(char_u *)_("Error"), (char_u *)_("Error"),
p, (char_u *)_("&Ok"), 1, NULL); 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; break;
} }
ga_clear(&error_ga); ga_clear(&error_ga);

View File

@ -742,6 +742,31 @@ int main(void)
next_line_of_code(); 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 */ /* end of AUTO */
STARTTEST STARTTEST
@ -1188,6 +1213,20 @@ protected:
int Test() { return FALSE; } int Test() { return FALSE; }
public: // comment public: // comment
void testfall();
protected:
void testfall();
};
STARTTEST
:set cino=+20
2kdd]]=][
ENDTEST
void
foo()
{
if (a)
{ {
} else } else
asdf; asdf;

View File

@ -618,7 +618,7 @@ Constructor::Constructor(int a,
Constructor::Constructor(int a, Constructor::Constructor(int a,
int b ) /*x*/ : /*x*/ BaseClass(a), int b ) /*x*/ : /*x*/ BaseClass(a),
member(b) member(b)
{ {
} }
@ -651,7 +651,7 @@ class CAbc :
}; };
class CAbc : public BaseClass1, class CAbc : public BaseClass1,
protected BaseClass2 protected BaseClass2
{ {
}; };
@ -730,6 +730,31 @@ int main(void)
next_line_of_code(); 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 */ /* end of AUTO */
@ -1070,6 +1095,16 @@ protected:
}; };
void
foo()
{
if (a)
{
} else
asdf;
}
{ {
averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd( averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd(
asdasdf, asdasdf,

View File

@ -35,6 +35,6 @@
*/ */
#define VIM_VERSION_NODOT "vim70d" #define VIM_VERSION_NODOT "vim70d"
#define VIM_VERSION_SHORT "7.0d" #define VIM_VERSION_SHORT "7.0d"
#define VIM_VERSION_MEDIUM "7.0d02 BETA" #define VIM_VERSION_MEDIUM "7.0d03 BETA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12)" #define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12, compiled " #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13, compiled "