summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/autoload/netrw.vim177
-rw-r--r--runtime/doc/pi_netrw.txt12
-rw-r--r--runtime/doc/syntax.txt15
-rw-r--r--runtime/doc/tabpage.txt9
-rw-r--r--runtime/doc/tags6
-rw-r--r--runtime/doc/todo.txt19
-rw-r--r--runtime/doc/version7.txt12
-rw-r--r--runtime/indent/vhdl.vim96
-rw-r--r--runtime/syntax/abap.vim53
-rw-r--r--runtime/syntax/apache.vim246
-rw-r--r--runtime/syntax/help.vim12
-rw-r--r--runtime/syntax/kconfig.vim4
-rw-r--r--runtime/syntax/lifelines.vim180
-rw-r--r--runtime/syntax/sh.vim18
-rw-r--r--src/diff.c12
-rw-r--r--src/edit.c20
-rw-r--r--src/ex_getln.c5
-rw-r--r--src/misc1.c157
-rw-r--r--src/option.c8
-rw-r--r--src/os_mswin.c21
-rw-r--r--src/testdir/test3.in39
-rw-r--r--src/testdir/test3.ok39
-rw-r--r--src/version.h6
23 files changed, 655 insertions, 511 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 7f4bd64e4d..1a865fabe5 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 06, 2006
-" Version: 86
+" Date: Apr 12, 2006
+" Version: 87
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v86"
+let g:loaded_netrw = "v87"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
@@ -1155,7 +1155,7 @@ fun! s:NetBrowse(dirname)
" set up menus
let b:netrw_browser_active= 1
- call s:NetMenu()
+ call s:NetMenu(1)
" make this buffer modifiable
setlocal ma nonu nowrap
@@ -1460,6 +1460,7 @@ fun! s:NetBrowse(dirname)
else
exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
endif
+ " remove priority pattern prefix
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
endif
if w:netrw_longlist == 1
@@ -1494,14 +1495,17 @@ fun! s:NetBrowseChgDir(dirname,newdir)
if newdir !~ '[\/]$'
" handling a file
let dirname= dirname.newdir
+ let didfile= 0
if g:netrw_browse_split == 1
new
wincmd _
elseif g:netrw_browse_split == 2
rightb vert new
wincmd |
+ else
+ " handling a file, didn't split, so possibly remove menu
+ call s:NetMenu(0)
endif
- call s:NetMenu()
" call Decho("handling a file: dirname<".dirname.">")
elseif newdir == './'
@@ -2567,7 +2571,7 @@ fun! netrw#NetObtain(...)
endfun
" ---------------------------------------------------------------------
-" NetPrevWinOpen: opoen file/directory in previous window. {{{2
+" NetPrevWinOpen: open file/directory in previous window. {{{2
" If there's only one window, then the window will first be split.
fun! s:NetPrevWinOpen(islocal)
" call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")")
@@ -2644,69 +2648,81 @@ endfun
" ---------------------------------------------------------------------
" NetMenu: generates the menu for gvim and netrw {{{2
-fun! s:NetMenu()
+fun! s:NetMenu(domenu)
if has("menu") && has("gui_running") && &go =~ 'm'
-" call Dfunc("NetMenu()")
- if !exists("s:netrw_menu_enabled")
+" call Dfunc("NetMenu(domenu=".a:domenu.")")
+ if !exists("s:netrw_menu_enabled") && a:domenu
+" call Decho("initialize menu")
let s:netrw_menu_enabled= 1
- if !exists("g:DrChipTopLvlMenu")
- let g:DrChipTopLvlMenu= "DrChip."
+ if !exists("g:NetrwTopLvlMenu")
+ let g:NetrwTopLvlMenu= "Netrw."
+ endif
+ exe 'silent! menu '.g: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
- 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
" call Dret("NetMenu")
endif
@@ -2766,7 +2782,7 @@ fun! netrw#DirBrowse(dirname)
" set up menus
let b:netrw_browser_active= 1
- call s:NetMenu()
+ call s:NetMenu(1)
" find buffer number of buffer named precisely the same as a:dirname
let bufnum= bufnr(escape(a:dirname,'\'))
@@ -2793,7 +2809,7 @@ fun! netrw#DirBrowse(dirname)
else
exe "keepalt b ".bufnum
if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by
- if getline(2) =~ '^" Directory Listing '
+ if getline(2) =~ '^" Netrw Directory Listing '
if !g:netrw_keepdir
" call Decho("change directory: cd ".b:netrw_curdir)
exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
@@ -2911,7 +2927,7 @@ fun! netrw#DirBrowse(dirname)
" call Decho("set up banner")
keepjumps put ='\" ============================================================================'
keepjumps 1d
- keepjumps put ='\" Directory Listing (netrw '.g:loaded_netrw.')'
+ keepjumps put ='\" Netrw Directory Listing (netrw '.g:loaded_netrw.')'
keepjumps put ='\" '.b:netrw_curdir
let w:netrw_bannercnt= 3
@@ -2979,6 +2995,7 @@ fun! netrw#DirBrowse(dirname)
exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
endif
endif
+ " remove priority pattern prefix
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
else
@@ -3025,12 +3042,12 @@ fun! s:LocalBrowseList()
let dirname = escape(b:netrw_curdir,s:netrw_glob_escape)
let dirnamelen = strlen(b:netrw_curdir)
let filelist = glob(dirname."/*")
-" call Decho("glob(dirname<".dirname.">,*)=".filelist)
+" call Decho("glob(dirname<".dirname."/.*>)=".filelist)
if filelist != ""
let filelist= filelist."\n"
endif
let filelist= filelist.glob(dirname."/.*")
-" call Decho("glob(dirname<".dirname.">,.*)=".glob(dirname.".*"))
+" call Decho("glob(dirname<".dirname."/.*>)=".glob(dirname.".*"))
" if the directory name includes a "$", and possibly other characters,
" the glob() doesn't include "." and ".." entries.
@@ -3145,9 +3162,11 @@ fun! s:LocalBrowseChgDir(dirname,newdir,...)
elseif g:netrw_browse_split == 2
rightb vert new
wincmd |
+ else
+ " handling a file, didn't split, so possibly remove menu
+ call s:NetMenu(0)
endif
exe "e! ".escape(dirname,s:netrw_cd_escape)
- call s:NetMenu()
set ma nomod
endif
@@ -3177,8 +3196,9 @@ endfun
" on the chance that s/he removed/created a file/directory with it.
fun! s:LocalBrowseShellCmdRefresh()
" call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist))
- " go through all buffers,
- " including unlisted (which is why I can't use bufdo)
+ " GO through all buffers on netrw_browselist (ie. just local-netrw buffers):
+ " | refresh any netrw window
+ " | wipe out any non-displaying netrw buffer
let curwin = winnr()
let ibl = 0
for ibuf in s:netrw_browselist
@@ -4098,11 +4118,12 @@ fun! s:SetSort()
let priority = priority + 1
endwhile
- " I'm afraid that I don't remember why the following line was present. It
- " has something to do with priority -- items that satisfy a two or more
- " priority patterns get preceded by two or more priority patterns: ###/
- " So, I want to remove priority patterns, but not ###/ directory names.
- " Following pattern retains just one priority pattern.
+ " Following line associated with priority -- items that satisfy a priority
+ " pattern get prefixed by ###/ which permits easy sorting by priority.
+ " Sometimes files can satisfy multiple priority patterns -- only the latest
+ " priority pattern needs to be retained. So, at this point, these excess
+ " priority prefixes need to be removed, but not directories that happen to
+ " be just digits themselves.
exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+\ze./\1/e'
" call Dret("SetSort")
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 5ee16fc23a..0927049750 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 06, 2006
+*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 12, 2006
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -847,11 +847,10 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
*g:netrw_winsize* specify initial size of new o/v windows
default: ""
- *g:DrChipTopLvlMenu* This variable specifies the top level
- submenu name; by default, its "DrChip.".
- If you wish to change this, do so in your
- .vimrc. It affects all of my plugins which
- have menus.
+ *g:NetrwTopLvlMenu* This variable specifies the top level
+ menu name; by default, its "Netrw.". If
+ you wish to change this, do so in your
+ .vimrc.
INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
@@ -1448,6 +1447,7 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
11. History *netrw-history* {{{1
+ v87: * bug fix -- menus were partially disappearing
v85: * bug fix -- missing an endif
* bug fix -- handles spaces in names and directories when using
ftp-based browsing
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index a085860b66..8c0b79c9b5 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -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,
then that shelltype is used. However some files (ex. .profile) are known to
be shell files but the type is not apparent. Furthermore, on many systems
-sh is symbolically linked to "bash" (linux) or "ksh" (posix).
+sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
One may specify a global default by instantiating one of the following three
variables in your <.vimrc>:
ksh: >
- let is_kornshell = 1
+ let g:is_kornshell = 1
+< posix: (using this is the same as setting is_kornshell to 1) >
+ let g:is_posix = 1
< bash: >
- let is_bash = 1
-< sh: >
- let is_sh = 1
+ let g:is_bash = 1
+< sh: (default) Borne shell >
+ let g:is_sh = 1
If there's no "#! ..." line, and the user hasn't availed himself/herself of a
default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
the Borne shell syntax. No need to quote RFCs or market penetration
-statistics in error reports, please.
+statistics in error reports, please -- just select the default version of
+the sh your system uses in your <.vimrc>.
If, in your <.vimrc>, you set >
let g:sh_fold_enabled= 1
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 43b05b3247..b775bacf99 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt* For Vim version 7.0d. Last change: 2006 Apr 09
+*tabpage.txt* For Vim version 7.0d. Last change: 2006 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -124,11 +124,12 @@ next tab page. |'tabline'|
:tabn[ext] *:tabn* *:tabnext* *gt*
gt *CTRL-<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.
-:tabn[ext] {count}
-{count}gt *CTRL-<PageUp>* *<C-PageUp>*
+:tabn[ext] {count} *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.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a16484982c..5f1b67dc22 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5367,7 +5367,7 @@ g, motion.txt /*g,*
g- undo.txt /*g-*
g0 motion.txt /*g0*
g8 various.txt /*g8*
-g:DrChipTopLvlMenu pi_netrw.txt /*g:DrChipTopLvlMenu*
+g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_browse_split pi_netrw.txt /*g:netrw_browse_split*
@@ -5730,6 +5730,8 @@ i_<BS> insert.txt /*i_<BS>*
i_<C-End> insert.txt /*i_<C-End>*
i_<C-Home> insert.txt /*i_<C-Home>*
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_<CR> insert.txt /*i_<CR>*
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_<Up> insert.txt /*i_<Up>*
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-A insert.txt /*i_CTRL-A*
i_CTRL-B-gone version5.txt /*i_CTRL-B-gone*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 0ff82d716a..8e9ba4bc51 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 12
+*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,6 +32,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
Do some of the 'cindent' bugs below.
+Should a[:5] not give an error for a list with 4 items?
+
Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly)
@@ -2236,21 +2238,6 @@ Insert mode:
'cindent', 'smartindent':
-8 Using "+" part of 'cinoptions' where it's not expected (Alexei Alexandrov):
- if (a)
- {
- } else
- asdf;
-8 Wrong indent for ":" after a method with line break in arguments:
- Foo::Foo (int one,
- int two)
- : something(4)
- {}
-8 Wrong indent for ":" after a method with multiple lines:
- Foo::Foo (int one, int two)
- : something(4),
- somethingelse(3)
- {}
9 Too much indent for "lulu": (Uwe Zeisberger)
int main ()
{
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 356e686f2b..a37d7234a9 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 12
+*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2465,5 +2465,15 @@ When 'guitablabel' is set the effect wasn't visible right away.
Fixed a few 'cindent' errors.
+When completing menu names, e.g., after ":emenu", don't sort the entries but
+keep them in the original order.
+
+Fixed a crash when editing a directory in diff mode. Don't trigger
+autocommands when executing the diff command.
+
+Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
+typing a special key.
+
+When 'foldignore' is set the folds were not updated right away.
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 82f0f834b0..8176673a81 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -1,8 +1,8 @@
" VHDL indent ('93 syntax)
" Language: VHDL
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
-" Version: 1.34
-" Last Change: 2006 Feb 11
+" Version: 1.36
+" Last Change: 2006 Apr 12
" URL: http://www.vim.org/scripts/script.php?script_id=1450
" only load this indent file when no other was loaded
@@ -15,37 +15,37 @@ let b:did_indent = 1
setlocal indentexpr=GetVHDLindent()
setlocal indentkeys=!^F,o,O,e,0(,0)
setlocal indentkeys+==~if,=~then,=~elsif,=~else
-setlocal indentkeys+==~begin,=~is,=~select,=~--
+setlocal indentkeys+==~begin,=~is,=~select
" count repeat
-function! <SID>CountWrapper(cmd)
- let i = v:count1
- if a:cmd[0] == ":"
- while i > 0
- execute a:cmd
- let i = i - 1
- endwhile
- else
- execute "normal! gv\<Esc>"
- execute "normal ".i.a:cmd
- let curcol = col(".")
- let curline = line(".")
- normal! gv
- call cursor(curline, curcol)
- endif
-endfunction
+"function! <SID>CountWrapper(cmd)
+" let i = v:count1
+" if a:cmd[0] == ":"
+" while i > 0
+" execute a:cmd
+" let i = i - 1
+" endwhile
+" else
+" execute "normal! gv\<Esc>"
+" execute "normal ".i.a:cmd
+" let curcol = col(".")
+" let curline = line(".")
+" normal! gv
+" call cursor(curline, curcol)
+" endif
+"endfunction
" explore motion
" keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
-let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
-noremap <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>\\%^","bW")')<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>
+"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>\\%$","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>\\%$","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>
" constants
" not a comment
@@ -56,26 +56,26 @@ let s:ES = '\s*\%(--.*\)\=$'
let s:NE = '\%(\<end\s\+\)\@<!'
" for matchit plugin
-if exists("loaded_matchit")
- let b:match_ignorecase = 1
- let b:match_words =
- \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
- \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
- \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
- \ s:NE.'\<for\>:\<end\s\+for\>,'.
- \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
- \ s:NE.'\<record\>:\<end\s\+record\>,'.
- \ s:NE.'\<units\>:\<end\s\+units\>,'.
- \ s:NE.'\<process\>:\<end\s\+process\>,'.
- \ s:NE.'\<block\>:\<end\s\+block\>,'.
- \ s:NE.'\<function\>:\<end\s\+function\>,'.
- \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
- \ s:NE.'\<component\>:\<end\s\+component\>,'.
- \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
- \ s:NE.'\<package\>:\<end\s\+package\>,'.
- \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
- \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
-endif
+"if exists("loaded_matchit")
+" let b:match_ignorecase = 1
+" let b:match_words =
+" \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
+" \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
+" \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
+" \ s:NE.'\<for\>:\<end\s\+for\>,'.
+" \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
+" \ s:NE.'\<record\>:\<end\s\+record\>,'.
+" \ s:NE.'\<units\>:\<end\s\+units\>,'.
+" \ s:NE.'\<process\>:\<end\s\+process\>,'.
+" \ s:NE.'\<block\>:\<end\s\+block\>,'.
+" \ s:NE.'\<function\>:\<end\s\+function\>,'.
+" \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
+" \ s:NE.'\<component\>:\<end\s\+component\>,'.
+" \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
+" \ s:NE.'\<package\>:\<end\s\+package\>,'.
+" \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
+" \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
+"endif
" only define indent function once
if exists("*GetVHDLindent")
diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim
index 2b1229fa29..18d3b0fd3f 100644
--- a/runtime/syntax/abap.vim
+++ b/runtime/syntax/abap.vim
@@ -1,11 +1,11 @@
" Vim ABAP syntax file
-" Language: SAP - ABAP/4
-" Revision: 0.8
-" Maintainer: Marius van Wyk <marius@e.co.za>
-" Last Change: 2004 Aug 30
+" Language: SAP - ABAP/R4
+" Revision: 1.0
+" Maintainer: Marius Piedallu van Wyk <marius@e.co.za>
+" Last Change: 2006 Apr 13
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
+" For version < 6.0: Clear all syntax items
+" For version >= 6.0: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
@@ -16,19 +16,19 @@ endif
syn case ignore
" Symbol Operators
-syn match abapSymbolOperator "[+\-/=<>$]"
-syn match abapSymbolOperator "\*"
-syn match abapSymbolOperator "[<>]="
-syn match abapSymbolOperator "<>"
-syn match abapSymbolOperator "\*\*"
-syn match abapSymbolOperator "[()]"
-syn match abapSymbolOperator "[:,\.]"
+syn match abapSymbolOperator "[+\-/=<>$]"
+syn match abapSymbolOperator "\*"
+syn match abapSymbolOperator "[<>]="
+syn match abapSymbolOperator "<>"
+syn match abapSymbolOperator "\*\*"
+syn match abapSymbolOperator "[()]"
+syn match abapSymbolOperator "[:,\.]"
" Literals
syn region abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape
syn match abapStringEscape contained "''"
-syn match abapNumber "-\=\<\d\+\>"
+syn match abapNumber "-\=\<\d\+\>"
syn region abapHex matchgroup=abapHex start="X'" end="'"
if version >= 600
@@ -52,7 +52,7 @@ syn keyword abapStatement MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY
syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION
syn keyword abapStatement ON OVERLAY
syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT
-syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK
+syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK RP-PROVIDE-FROM-LAST
syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE
syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES
syn keyword abapStatement UNPACK UPDATE
@@ -82,7 +82,7 @@ syn match abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1
" Special ABAP specific tables:
syn match abapSpecial "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1
syn match abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained
-syn match abapSpecial "\(\W\|^\)\w\+-\w\+"ms=s+1 contains=abapSpecialTables
+syn match abapSpecial "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables
" Pointer
syn match abapSpecial "<\w\+>"
@@ -118,7 +118,7 @@ syn match abapError "\.\."
" Comments
syn region abapComment start="^\*" end="$" contains=abapTodo
syn match abapComment "\".*" contains=abapTodo
-syn keyword abapTodo contained TODO NOTE
+syn keyword abapTodo contained TODO NOTE
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -132,17 +132,17 @@ if version >= 508 || !exists("did_abap_syntax_inits")
endif
HiLink abapError Error
- HiLink abapComment Comment
- HiLink abapInclude Include
+ HiLink abapComment Comment
+ HiLink abapInclude Include
HiLink abapSpecial Special
HiLink abapSpecialTables PreProc
- HiLink abapSymbolOperator abapOperator
- HiLink abapOperator Operator
- HiLink abapStatement Statement
- HiLink abapString String
- HiLink abapFloat Float
- HiLink abapNumber Number
- HiLink abapHex Number
+ HiLink abapSymbolOperator abapOperator
+ HiLink abapOperator Operator
+ HiLink abapStatement Statement
+ HiLink abapString String
+ HiLink abapFloat Float
+ HiLink abapNumber Number
+ HiLink abapHex Number
delcommand HiLink
endif
@@ -150,3 +150,4 @@ endif
let b:current_syntax = "abap"
" vim: ts=8 sw=2
+
diff --git a