summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-10-20 22:22:38 +0200
committerBram Moolenaar <Bram@vim.org>2011-10-20 22:22:38 +0200
commit1514667a24c00c247d8527e9a2e12dba97ca9d85 (patch)
treeb5f8c262ed1763dd64224736e374ec90de5df4d9
parente3cc6d422367e5d7a0a15c69480313644caefd01 (diff)
downloadvim-1514667a24c00c247d8527e9a2e12dba97ca9d85.zip
Updated runtime files.
-rw-r--r--runtime/autoload/netrw.vim676
-rw-r--r--runtime/autoload/vimball.vim32
-rw-r--r--runtime/doc/eval.txt4
-rw-r--r--runtime/doc/map.txt13
-rw-r--r--runtime/doc/mbyte.txt6
-rw-r--r--runtime/doc/netbeans.txt2
-rw-r--r--runtime/doc/options.txt6
-rw-r--r--runtime/doc/pattern.txt9
-rw-r--r--runtime/doc/pi_netrw.txt129
-rw-r--r--runtime/doc/pi_vimball.txt4
-rw-r--r--runtime/doc/syntax.txt4
-rw-r--r--runtime/doc/tags13
-rw-r--r--runtime/doc/todo.txt76
-rw-r--r--runtime/doc/various.txt6
-rw-r--r--runtime/filetype.vim7
-rw-r--r--runtime/indent/r.vim14
-rw-r--r--runtime/indent/vhdl.vim45
-rw-r--r--runtime/plugin/netrwPlugin.vim23
-rw-r--r--runtime/plugin/vimballPlugin.vim2
-rw-r--r--runtime/syntax/gitolite.vim80
-rw-r--r--runtime/syntax/netrw.vim4
-rw-r--r--runtime/syntax/php.vim10
-rw-r--r--runtime/syntax/rhelp.vim8
-rw-r--r--runtime/syntax/sqr.vim12
-rw-r--r--runtime/syntax/tex.vim10
-rw-r--r--src/po/de.po2
26 files changed, 842 insertions, 355 deletions
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index ab6370a8e..2c85bf8d4 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
" AUTOLOAD SECTION
-" Date: May 31, 2011
-" Version: 142
+" Date: Sep 26, 2011
+" Version: 143
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2010 Charles E. Campbell, Jr. {{{1
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v142"
+let g:loaded_netrw = "v143"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrw needs vim 7.2"
@@ -226,6 +226,7 @@ if !exists("g:netrw_localcopycmd")
endif
endif
call s:NetrwInit("g:netrw_local_mkdir","mkdir")
+call s:NetrwInit("g:netrw_remote_mkdir","mkdir")
if !exists("g:netrw_localmovecmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
@@ -278,7 +279,7 @@ call s:NetrwInit("g:netrw_sort_options" , "")
call s:NetrwInit("g:netrw_sort_direction", "normal") " alternative: reverse (z y x ...)
if !exists("g:netrw_sort_sequence")
if has("unix")
- let g:netrw_sort_sequence= '[\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
+ let g:netrw_sort_sequence= '[\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
else
let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
endif
@@ -312,9 +313,11 @@ call s:NetrwInit("s:netrw_map_escape","<|\n\r\\\<C-V>\"")
" ======================
" Netrw Initialization: {{{1
" ======================
-if v:version >= 700 && has("balloon_eval") && &beval == 0
- let &l:bexpr= "netrw#NetrwBalloonHelp()"
+if v:version >= 700 && has("balloon_eval") && !exists("s:initbeval") && !exists("g:netrw_nobeval") && has("syntax") && exists("g:syntax_on")
+ let s:initbeval = &beval
+ let &l:bexpr = "netrw#NetrwBalloonHelp()"
set beval
+ au BufWinEnter,WinEnter * if &ft == "netrw"|set beval|else|let &beval= s:initbeval|endif
endif
" ==============================
@@ -323,12 +326,12 @@ endif
" ---------------------------------------------------------------------
" netrw#NetrwBalloonHelp: {{{2
-if v:version >= 700 && has("balloon_eval") && &beval == 1
+if v:version >= 700 && has("balloon_eval") && &beval == 1 && has("syntax") && exists("g:syntax_on")
fun! netrw#NetrwBalloonHelp()
- if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt
+ if !exists("w:netrw_bannercnt") || v:beval_lnum >= w:netrw_bannercnt || (exists("g:netrw_nobeval") && g:netrw_nobeval)
let mesg= ""
elseif v:beval_text == "Netrw" || v:beval_text == "Directory" || v:beval_text == "Listing"
- let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info"
+ let mesg = "i: thin-long-wide-tree gh: quick hide/unhide of dot-files qf: quick file info %:open new file"
elseif getline(v:beval_lnum) =~ '^"\s*/'
let mesg = "<cr>: edit/enter o: edit/enter in horiz window t: edit/enter in new tab v:edit/enter in vert window"
elseif v:beval_text == "Sorted" || v:beval_text == "by"
@@ -369,11 +372,12 @@ fun! s:NetrwOptionSave(vt)
" Save current settings and current directory
let s:yykeep = @@
- if exists("&l:acd")
- let {a:vt}netrw_acdkeep = &l:acd
- endif
+ if exists("&l:acd")|let {a:vt}netrw_acdkeep = &l:acd|endif
let {a:vt}netrw_aikeep = &l:ai
let {a:vt}netrw_awkeep = &l:aw
+ let {a:vt}netrw_bhkeep = &l:bh
+ let {a:vt}netrw_blkeep = &l:bl
+ let {a:vt}netrw_btkeep = &l:bt
let {a:vt}netrw_bombkeep = &l:bomb
let {a:vt}netrw_cikeep = &l:ci
let {a:vt}netrw_cinkeep = &l:cin
@@ -381,19 +385,35 @@ fun! s:NetrwOptionSave(vt)
let {a:vt}netrw_comkeep = &l:com
let {a:vt}netrw_cpokeep = &l:cpo
let {a:vt}netrw_diffkeep = &l:diff
- if g:netrw_keepdir
- let {a:vt}netrw_dirkeep = getcwd()
- endif
+ let {a:vt}netrw_fenkeep = &l:fen
+ let {a:vt}netrw_ffkeep = &l:ff
let {a:vt}netrw_fokeep = &l:fo " formatoptions
let {a:vt}netrw_gdkeep = &l:gd " gdefault
let {a:vt}netrw_hidkeep = &l:hidden
let {a:vt}netrw_imkeep = &l:im
+ let {a:vt}netrw_iskkeep = &l:isk
+ let {a:vt}netrw_lskeep = &l:ls
+ let {a:vt}netrw_makeep = &l:ma
let {a:vt}netrw_magickeep = &l:magic
+ let {a:vt}netrw_modkeep = &l:mod
+ let {a:vt}netrw_nukeep = &l:nu
let {a:vt}netrw_repkeep = &l:report
+ let {a:vt}netrw_rokeep = &l:ro
let {a:vt}netrw_selkeep = &l:sel
let {a:vt}netrw_spellkeep = &l:spell
+ let {a:vt}netrw_tskeep = &l:ts
let {a:vt}netrw_twkeep = &l:tw " textwidth
let {a:vt}netrw_wigkeep = &l:wig " wildignore
+ let {a:vt}netrw_wrapkeep = &l:wrap
+ let {a:vt}netrw_writekeep = &l:write
+ if g:netrw_use_noswf && has("win32") && !has("win95")
+ let {a:vt}netrw_swfkeep = &l:swf
+ endif
+
+ " save a few selected netrw-related variables
+ if g:netrw_keepdir
+ let {a:vt}netrw_dirkeep = getcwd()
+ endif
if has("win32") && !has("win95")
let {a:vt}netrw_swfkeep = &l:swf " swapfile
endif
@@ -408,6 +428,13 @@ endfun
fun! s:NetrwOptionRestore(vt)
" call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")." winnr($)=".winnr("$"))
if !exists("{a:vt}netrw_optionsave")
+ if exists("s:nbcd_curpos_{bufnr('%')}")
+" call Decho("restoring previous position")
+ keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')})
+" unlet s:nbcd_curpos_{bufnr('%')}
+ else
+" call Decho("no previous position")
+ endif
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap)
" call Dret("s:NetrwOptionRestore : ".a:vt."netrw_optionsave doesn't exist")
return
@@ -421,7 +448,7 @@ fun! s:NetrwOptionRestore(vt)
let &l:acd = {a:vt}netrw_acdkeep
unlet {a:vt}netrw_acdkeep
if &l:acd
-" call Decho("exe keepjumps lcd ".fnameescape(curdir)) " NOTE: was g:netrw_fname_escape for some reason
+" call Decho("exe keepj lcd ".fnameescape(curdir)) " NOTE: was g:netrw_fname_escape for some reason
try
if !exists("&l:acd") && !&l:acd
exe 'keepj lcd '.fnameescape(curdir)
@@ -434,6 +461,9 @@ fun! s:NetrwOptionRestore(vt)
endif
if exists("{a:vt}netrw_aikeep") |let &l:ai = {a:vt}netrw_aikeep |unlet {a:vt}netrw_aikeep |endif
if exists("{a:vt}netrw_awkeep") |let &l:aw = {a:vt}netrw_awkeep |unlet {a:vt}netrw_awkeep |endif
+ if exists("{a:vt}netrw_bhkeep") |let &l:bh = {a:vt}netrw_bhkeep |unlet {a:vt}netrw_bhkeep |endif
+ if exists("{a:vt}netrw_blkeep") |let &l:bl = {a:vt}netrw_blkeep |unlet {a:vt}netrw_blkeep |endif
+ if exists("{a:vt}netrw_btkeep") |let &l:bt = {a:vt}netrw_btkeep |unlet {a:vt}netrw_btkeep |endif
if exists("{a:vt}netrw_bombkeep") |let &l:bomb = {a:vt}netrw_bombkeep |unlet {a:vt}netrw_bombkeep |endif
if exists("{a:vt}netrw_cikeep") |let &l:ci = {a:vt}netrw_cikeep |unlet {a:vt}netrw_cikeep |endif
if exists("{a:vt}netrw_cinkeep") |let &l:cin = {a:vt}netrw_cinkeep |unlet {a:vt}netrw_cinkeep |endif
@@ -441,20 +471,27 @@ fun! s:NetrwOptionRestore(vt)
if exists("{a:vt}netrw_comkeep") |let &l:com = {a:vt}netrw_comkeep |unlet {a:vt}netrw_comkeep |endif
if exists("{a:vt}netrw_cpokeep") |let &l:cpo = {a:vt}netrw_cpokeep |unlet {a:vt}netrw_cpokeep |endif
if exists("{a:vt}netrw_diffkeep") |let &l:diff = {a:vt}netrw_diffkeep |unlet {a:vt}netrw_diffkeep |endif
- if exists("{a:vt}netrw_dirkeep") && isdirectory({a:vt}netrw_dirkeep) && g:netrw_keepdir
- let dirkeep = substitute({a:vt}netrw_dirkeep,'\\','/','g')
- if exists("{a:vt}netrw_dirkeep") |exe "keepjumps lcd ".fnameescape(dirkeep)|unlet {a:vt}netrw_dirkeep |endif
- endif
+ if exists("{a:vt}netrw_fenkeep") |let &l:fen = {a:vt}netrw_fenkeep |unlet {a:vt}netrw_fenkeep |endif
+ if exists("{a:vt}netrw_ffkeep") |let &l:ff = {a:vt}netrw_ffkeep |unlet {a:vt}netrw_ffkeep |endif
if exists("{a:vt}netrw_fokeep") |let &l:fo = {a:vt}netrw_fokeep |unlet {a:vt}netrw_fokeep |endif
if exists("{a:vt}netrw_gdkeep") |let &l:gd = {a:vt}netrw_gdkeep |unlet {a:vt}netrw_gdkeep |endif
if exists("{a:vt}netrw_hidkeep") |let &l:hidden = {a:vt}netrw_hidkeep |unlet {a:vt}netrw_hidkeep |endif
if exists("{a:vt}netrw_imkeep") |let &l:im = {a:vt}netrw_imkeep |unlet {a:vt}netrw_imkeep |endif
- if exists("{a:vt}netrw_magic") |let &l:magic = {a:vt}netrw_magic |unlet {a:vt}netrw_magic |endif
+ if exists("{a:vt}netrw_iskkeep") |let &l:isk = {a:vt}netrw_iskkeep |unlet {a:vt}netrw_iskkeep |endif
+ if exists("{a:vt}netrw_lskeep") |let &l:ls = {a:vt}netrw_lskeep |unlet {a:vt}netrw_lskeep |endif
+ if exists("{a:vt}netrw_makeep") |let &l:ma = {a:vt}netrw_makeep |unlet {a:vt}netrw_makeep |endif
+ if exists("{a:vt}netrw_magickeep")|let &l:magic = {a:vt}netrw_magickeep |unlet {a:vt}netrw_magickeep|endif
+ if exists("{a:vt}netrw_modkeep") |let &l:mod = {a:vt}netrw_modkeep |unlet {a:vt}netrw_modkeep |endif
+ if exists("{a:vt}netrw_nukeep") |let &l:nu = {a:vt}netrw_nukeep |unlet {a:vt}netrw_nukeep |endif
if exists("{a:vt}netrw_repkeep") |let &l:report = {a:vt}netrw_repkeep |unlet {a:vt}netrw_repkeep |endif
+ if exists("{a:vt}netrw_rokeep") |let &l:ro = {a:vt}netrw_rokeep |unlet {a:vt}netrw_rokeep |endif
if exists("{a:vt}netrw_selkeep") |let &l:sel = {a:vt}netrw_selkeep |unlet {a:vt}netrw_selkeep |endif
if exists("{a:vt}netrw_spellkeep")|let &l:spell = {a:vt}netrw_spellkeep |unlet {a:vt}netrw_spellkeep|endif
+ if exists("{a:vt}netrw_tskeep") |let &l:ts = {a:vt}netrw_tskeep |unlet {a:vt}netrw_tskeep |endif
if exists("{a:vt}netrw_twkeep") |let &l:tw = {a:vt}netrw_twkeep |unlet {a:vt}netrw_twkeep |endif
if exists("{a:vt}netrw_wigkeep") |let &l:wig = {a:vt}netrw_wigkeep |unlet {a:vt}netrw_wigkeep |endif
+ if exists("{a:vt}netrw_wrapkeep") |let &l:wrap = {a:vt}netrw_wrapkeep |unlet {a:vt}netrw_wrapkeep |endif
+ if exists("{a:vt}netrw_writekeep")|let &l:write = {a:vt}netrw_writekeep |unlet {a:vt}netrw_writekeep|endif
if exists("s:yykeep") |let @@ = s:yykeep |unlet s:yykeep |endif
if exists("{a:vt}netrw_swfkeep")
if &directory == ""
@@ -471,8 +508,19 @@ fun! s:NetrwOptionRestore(vt)
unlet {a:vt}netrw_swfkeep
endif
endif
+ if exists("{a:vt}netrw_dirkeep") && isdirectory({a:vt}netrw_dirkeep) && g:netrw_keepdir
+ let dirkeep = substitute({a:vt}netrw_dirkeep,'\\','/','g')
+ if exists("{a:vt}netrw_dirkeep") |exe "keepj lcd ".fnameescape(dirkeep)|unlet {a:vt}netrw_dirkeep |endif
+ endif
if exists("{a:vt}netrw_regstar") |sil! let @*= {a:vt}netrw_regstar |unlet {a:vt}netrw_regstar |endif
if exists("{a:vt}netrw_regslash")|sil! let @/= {a:vt}netrw_regslash|unlet {a:vt}netrw_regslash|endif
+ if exists("s:nbcd_curpos_{bufnr('%')}")
+" call Decho("restoring previous position")
+ keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')})
+" unlet s:nbcd_curpos_{bufnr('%')}
+ else
+" call Decho("no previous position")
+ endif
" call Decho("g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd)
" call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
@@ -486,16 +534,25 @@ endfun
fun! s:NetrwSafeOptions()
" call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%"))."> winnr($)=".winnr("$"))
" call Decho("win#".winnr()."'s ft=".&ft)
+ if exists("&acd") | setlocal noacd | endif
+ setlocal noai
+ setlocal noaw
+ setlocal nobomb
+ setlocal noci
+ setlocal nocin
setlocal cino=
setlocal com=
setlocal cpo-=aA
- if exists("&acd") | setlocal noacd | endif
- setlocal nocin noai nobomb noci magic nospell nohid wig= noaw noim
setlocal fo=nroql2
- setlocal tw=0
- setlocal report=10000
+ setlocal nohid
+ setlocal noim
setlocal isk+=@ isk+=* isk+=/
+ setlocal magic
+ setlocal report=10000
setlocal sel=inclusive
+ setlocal nospell
+ setlocal tw=0
+ setlocal wig=
if g:netrw_use_noswf && has("win32") && !has("win95")
setlocal noswf
endif
@@ -505,7 +562,7 @@ fun! s:NetrwSafeOptions()
" call Decho("ft<".&ft."> ei=".&ei)
if &ft == "netrw"
" call Decho("do any netrw FileType autocmds")
- sil keepalt keepj doau FileType netrw
+ sil! keepalt keepj doau FileType netrw
endif
" call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
@@ -679,7 +736,7 @@ fun! netrw#NetRead(mode,...)
" Check if NetrwBrowse() should be handling this request
" call Decho("checking if NetrwBrowse() should handle choice<".choice."> with netrw_list_cmd<".g:netrw_list_cmd.">")
- if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^http://'
+ if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^https\=://'
" call Decho("yes, choice matches '^.*[\/]$'")
keepj call s:NetrwBrowse(0,choice)
" call Dret("netrw#NetRead :3 getcwd<".getcwd().">")
@@ -926,7 +983,7 @@ fun! netrw#NetRead(mode,...)
endif
" call Dret("NetRead")
endif
- if exists("g:netrw_option") && g:netrw_option == ":http"
+ if exists("g:netrw_option") && g:netrw_option == ":https\="
let netrw_option= "http"
else
let netrw_option= "ftp"
@@ -1360,7 +1417,7 @@ fun! netrw#NetSource(...)
echomsg ':Nsource dav://machine[:port]/path uses cadaver'
echomsg ':Nsource fetch://machine/path uses fetch'
echomsg ':Nsource ftp://[user@]machine[:port]/path uses ftp autodetects <.netrc>'
- echomsg ':Nsource http://[user@]machine/path uses http wget'
+ echomsg ':Nsource http[s]://[user@]machine/path uses http wget'
echomsg ':Nsource rcp://[user@]machine/path uses rcp'
echomsg ':Nsource rsync://machine[:port]/path uses rsync'
echomsg ':Nsource scp://[user@]machine[[:#]port]/path uses scp'
@@ -1506,7 +1563,7 @@ endfun
" 2: ftp + <.netrc>
" 3: ftp + machine, id, password, and [path]filename
" 4: scp
-" 5: http (wget)
+" 5: http[s] (wget)
" 6: dav
" 7: rsync
" 8: fetch
@@ -1556,21 +1613,24 @@ fun! s:NetrwMethod(choice)
" rcpurm : rcp://[user@]host/filename Use rcp
" rcphf : [user@]host:filename Use rcp
" scpurm : scp://[user@]host[[#:]port]/filename Use scp
- " httpurm : http://[user@]host/filename Use wget
+ " httpurm : http[s]://[user@]host/filename Use wget
" davurm : dav[s]://host[:port]/path Use cadaver/curl
" rsyncurm : rsync://host[:port]/path Use rsync
" fetchurm : fetch://[user@]host[:http]/filename Use fetch (defaults to ftp, override for http)
" sftpurm : sftp://[user@]host/filename Use scp
let mipf = '^\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)\s\+\(\S\+\)$'
let mf = '^\(\S\+\)\s\+\(\S\+\)$'
- let ftpurm = '^ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
- let rcpurm = '^rcp://\%(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$'
+" let ftpurm = '^ftp://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
+" let rcpurm = '^rcp://\%(\([^/@]\{-}\)@\)\=\([^/]\{-}\)/\(.*\)$'
+" let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
+ let ftpurm = '^ftp://\(\([^/]*\)@\)\=\([^/#:]\{-}\)\([#:]\d\+\)\=/\(.*\)$'
+ let rcpurm = '^rcp://\%(\([^/]*\)@\)\=\([^/]\{-}\)/\(.*\)$'
let rcphf = '^\(\(\h\w*\)@\)\=\(\h\w*\):\([^@]\+\)$'
let scpurm = '^scp://\([^/#:]\+\)\%([#:]\(\d\+\)\)\=/\(.*\)$'
- let httpurm = '^http://\([^/]\{-}\)\(/.*\)\=$'
+ let httpurm = '^https\=://\([^/]\{-}\)\(/.*\)\=$'
let davurm = '^davs\=://\([^/]\+\)/\(.*/\)\([-_.~[:alnum:]]\+\)$'
let rsyncurm = '^rsync://\([^/]\{-}\)/\(.*\)\=$'
- let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
+ let fetchurm = '^fetch://\(\([^/]*\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
let sftpurm = '^sftp://\([^/]\{-}\)/\(.*\)\=$'
" call Decho("determine method:")
@@ -1594,7 +1654,7 @@ fun! s:NetrwMethod(choice)
let g:netrw_port = substitute(a:choice,scpurm,'\2',"")
let b:netrw_fname = substitute(a:choice,scpurm,'\3',"")
- " Method#5: http://user@hostname/...path-to-file {{{3
+ " Method#5: http[s]://user@hostname/...path-to-file {{{3
elseif match(a:choice,httpurm) == 0
" call Decho("http://...")
let b:netrw_method = 5
@@ -1605,7 +1665,7 @@ fun! s:NetrwMethod(choice)
elseif match(a:choice,davurm) == 0
" call Decho("dav://...")
let b:netrw_method= 6
- if a:choice =~ '^s'
+ if a:choice =~ 'davs:'
let g:netrw_machine= 'https://'.substitute(a:choice,davurm,'\1/\2',"")
else
let g:netrw_machine= 'http://'.substitute(a:choice,davurm,'\1/\2',"")
@@ -1842,50 +1902,7 @@ fun! s:NetrwMaps(islocal)
if a:islocal
" call Decho("make local maps")
- inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr>
- inoremap <buffer> <silent> c <c-o>:exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr>
- inoremap <buffer> <silent> C <c-o>:let g:netrw_chgwin= winnr()<cr>
- inoremap <buffer> <silent> % <c-o>:call <SID>NetrwOpenFile(1)<cr>
- inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr>
- inoremap <buffer> <silent> <cr> <c-o>:call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr>
- inoremap <buffer> <silent> d <c-o>:call <SID>NetrwMakeDir("")<cr>
- inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_curdir)<cr>
- inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(1)<cr>
- inoremap <buffer> <silent> gp <c-o>:<c-u>call <SID>NetrwChgPerm(1,b:netrw_curdir)<cr>
- inoremap <buffer> <silent> I <c-o>:call <SID>NetrwBannerCtrl(1)<cr>
- inoremap <buffer> <silent> i <c-o>:call <SID>NetrwListStyle(1)<cr>
- inoremap <buffer> <silent> mb <c-o>:<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr>
- inoremap <buffer> <silent> mB <c-o>:<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr>
- inoremap <buffer> <silent> mc <c-o>:<c-u>call <SID>NetrwMarkFileCopy(1)<cr>
- inoremap <buffer> <silent> md <c-o>:<c-u>call <SID>NetrwMarkFileDiff(1)<cr>
- inoremap <buffer> <silent> me <c-o>:<c-u>call <SID>NetrwMarkFileEdit(1)<cr>
- inoremap <buffer> <silent> mf <c-o>:<c-u>call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
- inoremap <buffer> <silent> mg <c-o>:<c-u>call <SID>NetrwMarkFileGrep(1)<cr>
- inoremap <buffer> <silent> mh <c-o>:<c-u>call <SID>NetrwMarkHideSfx(1)<cr>
- inoremap <buffer> <silent> mm <c-o>:<c-u>call <SID>NetrwMarkFileMove(1)<cr>
- inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(1)<cr>
- inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(1)<cr>
- inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(1)<cr>
- inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(1)<cr>
- inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(1)<cr>
- inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(1)<cr>
- inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(1)<cr>
- inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(1)<cr>
- inoremap <buffer> <silent> O <c-o>:call <SID>NetrwObtain(1)<cr>
- inoremap <buffer> <silent> o <c-o>:call <SID>NetrwSplit(3)<cr>
- inoremap <buffer> <silent> p <c-o>:call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
- inoremap <buffer> <silent> P <c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
- inoremap <buffer> <silent> qb <c-o>:<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr>
- inoremap <buffer> <silent> qf <c-o>:<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr>
- inoremap <buffer> <silent> r <c-o>:let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr>
- inoremap <buffer> <silent> s <c-o>:call <SID>NetrwSortStyle(1)<cr>
- inoremap <buffer> <silent> S <c-o>:call <SID>NetSortSequence(1)<cr>
- inoremap <buffer> <silent> T <c-o>:call <SID>NetrwSplit(4)<bar>norm! gT<cr>
- inoremap <buffer> <silent> t <c-o>:call <SID>NetrwSplit(4)<cr>
- inoremap <buffer> <silent> u <c-o>:<c-u>call <SID>NetrwBookHistHandler(4,expand("%"))<cr>
- inoremap <buffer> <silent> U <c-o>:<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr>
- inoremap <buffer> <silent> v <c-o>:call <SID>NetrwSplit(5)<cr>
- inoremap <buffer> <silent> x <c-o>:call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr>
+ " local normal-mode maps
nnoremap <buffer> <silent> a :call <SID>NetrwHide(1)<cr>
nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(1)<cr>
nnoremap <buffer> <silent> c :exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr>
@@ -1912,10 +1929,11 @@ fun! s:NetrwMaps(islocal)
nnoremap <buffer> <silent> mp :<c-u>call <SID>NetrwMarkFilePrint(1)<cr>
nnoremap <buffer> <silent> mr :<c-u>call <SID>NetrwMarkFileRegexp(1)<cr>
nnoremap <buffer> <silent> ms :<c-u>call <SID>NetrwMarkFileSource(1)<cr>
- nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr>
nnoremap <buffer> <silent> mt :<c-u>call <SID>NetrwMarkFileTgt(1)<cr>
+ nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(1)<cr>
nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(1)<cr>
nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(1)<cr>
+ nnoremap <buffer> <silent> mX :<c-u>call <SID>NetrwMarkFileVimCmd(1)<cr>
nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(1)<cr>
nnoremap <buffer> <silent> O :call <SID>NetrwObtain(1)<cr>
nnoremap <buffer> <silent> o :call <SID>NetrwSplit(3)<cr>
@@ -1932,6 +1950,52 @@ fun! s:NetrwMaps(islocal)
nnoremap <buffer> <silent> U :<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr>
nnoremap <buffer> <silent> v :call <SID>NetrwSplit(5)<cr>
nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr>
+ " local insert-mode maps
+ inoremap <buffer> <silent> a <c-o>:call <SID>NetrwHide(1)<cr>
+ inoremap <buffer> <silent> c <c-o>:exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> C <c-o>:let g:netrw_chgwin= winnr()<cr>
+ inoremap <buffer> <silent> % <c-o>:call <SID>NetrwOpenFile(1)<cr>
+ inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr>
+ inoremap <buffer> <silent> <cr> <c-o>:call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr>
+ inoremap <buffer> <silent> d <c-o>:call <SID>NetrwMakeDir("")<cr>
+ inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(1)<cr>
+ inoremap <buffer> <silent> gp <c-o>:<c-u>call <SID>NetrwChgPerm(1,b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> I <c-o>:call <SID>NetrwBannerCtrl(1)<cr>
+ inoremap <buffer> <silent> i <c-o>:call <SID>NetrwListStyle(1)<cr>
+ inoremap <buffer> <silent> mb <c-o>:<c-u>call <SID>NetrwBookHistHandler(0,b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> mB <c-o>:<c-u>call <SID>NetrwBookHistHandler(6,b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> mc <c-o>:<c-u>call <SID>NetrwMarkFileCopy(1)<cr>
+ inoremap <buffer> <silent> md <c-o>:<c-u>call <SID>NetrwMarkFileDiff(1)<cr>
+ inoremap <buffer> <silent> me <c-o>:<c-u>call <SID>NetrwMarkFileEdit(1)<cr>
+ inoremap <buffer> <silent> mf <c-o>:<c-u>call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
+ inoremap <buffer> <silent> mg <c-o>:<c-u>call <SID>NetrwMarkFileGrep(1)<cr>
+ inoremap <buffer> <silent> mh <c-o>:<c-u>call <SID>NetrwMarkHideSfx(1)<cr>
+ inoremap <buffer> <silent> mm <c-o>:<c-u>call <SID>NetrwMarkFileMove(1)<cr>
+ inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(1)<cr>
+ inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(1)<cr>
+ inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(1)<cr>
+ inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(1)<cr>
+ inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(1)<cr>
+ inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(1)<cr>
+ inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(1)<cr>
+ inoremap <buffer> <silent> mX <c-o>:<c-u>call <SID>NetrwMarkFileVimCmd(1)<cr>
+ inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(1)<cr>
+ inoremap <buffer> <silent> O <c-o>:call <SID>NetrwObtain(1)<cr>
+ inoremap <buffer> <silent> o <c-o>:call <SID>NetrwSplit(3)<cr>
+ inoremap <buffer> <silent> p <c-o>:call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
+ inoremap <buffer> <silent> P <c-o>:call <SID>NetrwPrevWinOpen(1)<cr>
+ inoremap <buffer> <silent> qb <c-o>:<c-u>call <SID>NetrwBookHistHandler(2,b:netrw_curdir)<cr>
+ inoremap <buffer> <silent> qf <c-o>:<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr>
+ inoremap <buffer> <silent> r <c-o>:let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr>
+ inoremap <buffer> <silent> s <c-o>:call <SID>NetrwSortStyle(1)<cr>
+ inoremap <buffer> <silent> S <c-o>:call <SID>NetSortSequence(1)<cr>
+ inoremap <buffer> <silent> T <c-o>:call <SID>NetrwSplit(4)<bar>norm! gT<cr>
+ inoremap <buffer> <silent> t <c-o>:call <SID>NetrwSplit(4)<cr>
+ inoremap <buffer> <silent> u <c-o>:<c-u>call <SID>NetrwBookHistHandler(4,expand("%"))<cr>
+ inoremap <buffer> <silent> U <c-o>:<c-u>call <SID>NetrwBookHistHandler(5,expand("%"))<cr>
+ inoremap <buffer> <silent> v <c-o>:call <SID>NetrwSplit(5)<cr>
+ inoremap <buffer> <silent> x <c-o>:call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr>
if !hasmapto('<Plug>NetrwHideEdit')
nmap <buffer> <unique> <c-h> <Plug>NetrwHideEdit
imap <buffer> <unique> <c-h> <Plug>NetrwHideEdit
@@ -1986,6 +2050,7 @@ fun! s:NetrwMaps(islocal)
else " remote
" call Decho("make remote maps")
call s:RemotePathAnalysis(b:netrw_curdir)
+ " remote normal-mode maps
nnoremap <buffer> <silent> <cr> :call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr>
nnoremap <buffer> <silent> <c-l> :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
nnoremap <buffer> <silent> - :exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr>
@@ -2001,10 +2066,11 @@ fun! s:NetrwMaps(islocal)
nnoremap <buffer> <silent> mp :<c-u>call <SID>NetrwMarkFilePrint(0)<cr>
nnoremap <buffer> <silent> mr :<c-u>call <SID>NetrwMarkFileRegexp(0)<cr>
nnoremap <buffer> <silent> ms :<c-u>call <SID>NetrwMarkFileSource(0)<cr>
- nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr>
nnoremap <buffer> <silent> mt :<c-u>call <SID>NetrwMarkFileTgt(0)<cr>
+ nnoremap <buffer> <silent> mT :<c-u>call <SID>NetrwMarkFileTag(0)<cr>
nnoremap <buffer> <silent> mu :<c-u>call <SID>NetrwUnMarkFile(0)<cr>
nnoremap <buffer> <silent> mx :<c-u>call <SID>NetrwMarkFileExe(0)<cr>
+ nnoremap <buffer> <silent> mX :<c-u>call <SID>NetrwMarkFileVimCmd(0)<cr>
nnoremap <buffer> <silent> mz :<c-u>call <SID>NetrwMarkFileCompress(0)<cr>
nnoremap <buffer> <silent> gb :<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_cur)<cr>
nnoremap <buffer> <silent> gd :<c-u>call <SID>NetrwForceChgDir(0,<SID>NetrwGetWord())<cr>
@@ -2031,6 +2097,7 @@ fun! s:NetrwMaps(islocal)
nnoremap <buffer> <silent> v :call <SID>NetrwSplit(2)<cr>
nnoremap <buffer> <silent> x :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()),1)<cr>
nnoremap <buffer> <silent> % :call <SID>NetrwOpenFile(0)<cr>
+ " remote insert-mode maps
inoremap <buffer> <silent> <cr> <c-o>:call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr>
inoremap <buffer> <silent> <c-l> <c-o>:call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
inoremap <buffer> <silent> - <c-o>:exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr>
@@ -2046,10 +2113,11 @@ fun! s:NetrwMaps(islocal)
inoremap <buffer> <silent> mp <c-o>:<c-u>call <SID>NetrwMarkFilePrint(0)<cr>
inoremap <buffer> <silent> mr <c-o>:<c-u>call <SID>NetrwMarkFileRegexp(0)<cr>
inoremap <buffer> <silent> ms <c-o>:<c-u>call <SID>NetrwMarkFileSource(0)<cr>
- inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(0)<cr>
inoremap <buffer> <silent> mt <c-o>:<c-u>call <SID>NetrwMarkFileTgt(0)<cr>
+ inoremap <buffer> <silent> mT <c-o>:<c-u>call <SID>NetrwMarkFileTag(0)<cr>
inoremap <buffer> <silent> mu <c-o>:<c-u>call <SID>NetrwUnMarkFile(0)<cr>
inoremap <buffer> <silent> mx <c-o>:<c-u>call <SID>NetrwMarkFileExe(0)<cr>
+ inoremap <buffer> <silent> mX <c-o>:<c-u>call <SID>NetrwMarkFileVimCmd(0)<cr>
inoremap <buffer> <silent> mz <c-o>:<c-u>call <SID>NetrwMarkFileCompress(0)<cr>
inoremap <buffer> <silent> gb <c-o>:<c-u>call <SID>NetrwBookHistHandler(1,b:netrw_cur)<cr>
inoremap <buffer> <silent> gh <c-o>:<c-u>call <SID>NetrwHidden(0)<cr>
@@ -2345,7 +2413,7 @@ fun! s:NetrwBookHistSave()
setlocal nocin noai noci magic nospell nohid wig= noaw
setlocal ma noro write
if exists("&acd") | setlocal noacd | endif
- sil! keepj %d
+ sil! keepj keepalt %d
" save .netrwhist -- no attempt to merge
sil! file .netrwhist
@@ -2457,11 +2525,12 @@ fun! s:NetrwBrowse(islocal,dirname)
call s:NetrwSafeOptions()
setlocal ma noro
" call Decho("setlocal ma noro")
- let b:netrw_curdir= dirname
-" call Decho("exe sil! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")")
- exe "sil! keepj keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)
+ let b:netrw_curdir = dirname
+ let url = s:method."://".s:user.s:machine.(s:port ? ":".s:port : "")."/".s:path
+" call Decho("exe sil! keepalt file ".fnameescape(url)." (bt=".&bt.")")
+ exe "sil! keepj keepalt file ".fnameescape(url)
exe "sil! keepj keepalt doau BufReadPre ".fnameescape(s:fname)
- sil call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path)
+ sil call netrw#NetRead(2,url)
if s:path !~ '.tar.bz2$' && s:path !~ '.tar.gz' && s:path !~ '.tar.xz' && s:path !~ '.txz'
" netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error
exe "sil keepj keepalt doau BufReadPost ".fnameescape(s:fname)
@@ -2604,10 +2673,12 @@ fun! s:NetrwBrowse(islocal,dirname)
" -----------------------
keepj call s:NetrwMaps(a:islocal)
keepj call s:PerformListing(a:islocal)
- if v:version >= 700 && has("balloon_eval") && &l:bexpr == ""
+ if v:version >= 700 && has("balloon_eval") && &beval == 0 && &l:bexpr == "" && !exists("g:netrw_nobeval")
let &l:bexpr= "netrw#NetrwBalloonHelp()"
+" call Decho("set up balloon help: l:bexpr=".&l:bexpr)
set beval
endif
+ call s:NetrwOptionRestore("w:")
" The s:LocalBrowseShellCmdRefresh() function is called by an autocmd
" installed by s:LocalFastBrowser() when g:netrw_fastbrowse <= 1 (ie. slow, medium speed).
@@ -3422,7 +3493,7 @@ fun! netrw#NetrwBrowseX(fname,remote)
" g:Netrw_corehandler is a function reference (see :help Funcref)
" call Decho("g:Netrw_corehandler is a funcref")
call g:Netrw_corehandler(a:fname)
- elseif type(g:netrw_corehandler) == 3)
+ elseif type(g:Netrw_corehandler) == 3)
" g:Netrw_corehandler is a List of function references (see :help Funcref)
" call Decho("g:Netrw_corehandler is a List")
for Fncref in g:Netrw_corehandler
@@ -3680,32 +3751,32 @@ fun! netrw#Explore(indx,dosplit,style,...)
if a:style == 0 " Explore, Sexplore
" call Decho("style=0: Explore or Sexplore")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz
exe winsz."wincmd s"
elseif a:style == 1 "Explore!, Sexplore!
" call Decho("style=1: Explore! or Sexplore!")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz
exe winsz."wincmd v"
elseif a:style == 2 " Hexplore
" call Decho("style=2: Hexplore")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz
exe "bel ".winsz."wincmd s"
elseif a:style == 3 " Hexplore!
" call Decho("style=3: Hexplore!")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winheight(0))/100 : -winsz
exe "abo ".winsz."wincmd s"
elseif a:style == 4 " Vexplore
" call Decho("style=4: Vexplore")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz
exe "lefta ".winsz."wincmd v"
elseif a:style == 5 " Vexplore!
" call Decho("style=5: Vexplore!")
- let winsz= (winsz*winheight(0))/100
+ let winsz= (winsz > 0)? (winsz*winwidth(0))/100 : -winsz
exe "rightb ".winsz."wincmd v"
elseif a:style == 6 " Texplore
@@ -3721,28 +3792,28 @@ fun! netrw#Explore(indx,dosplit,style,...)
keepj norm! 0
if a:0 > 0
-" call Decho("case [a:0=".a:0."] > 0: a:1<".a:1.">")
+" call Decho("case [a:0=".a:0."] > 0")
if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
-" call Decho("case a:1: ~ and unix or cygwin")
+" call Decho("..case a:1<".a:1.">: starts with ~ and unix or cygwin")
let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),''))
-" call Decho("using dirname<".dirname."> (case: ~ && unix||cygwin)")
+" call Decho("..using dirname<".dirname."> (case: ~ && unix||cygwin)")
elseif a:1 == '.'
-" call Decho("case a:1: .")
+" call Decho("..case a:1<".a:1.">: matches .")
let dirname= simplify(exists("b:netrw_curdir")? b:netrw_curdir : getcwd())
if dirname !~ '/$'
let dirname= dirname."/"
endif
-" call Decho("using dirname<".dirname."> (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")")
+" call Decho("..using dirname<".dirname."> (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")")
elseif a:1 =~ '\$'
-" call Decho("case a:1: $")
+" call Decho("..case a:1<".a:1.">: matches ending $")
let dirname= simplify(expand(a:1))
-" call Decho("using user-specified dirname<".dirname."> with $env-var")
- elseif a:1 !~ '^\*/'
-" call Decho("case a:1: other, not pattern or filepattern")
+" call Decho("..using user-specified dirname<".dirname."> with $env-var")
+ elseif a:1 !~ '^\*\{1,2}/'
+" call Decho("..case a:1<".a:1.">: other, not pattern or filepattern")
let dirname= simplify(a:1)
-" call Decho("using user-specified dirname<".dirname.">")
+" call Decho("..using user-specified dirname<".dirname.">")
else
-" call Decho("case a:1: pattern or filepattern")
+" call Decho("..case a:1: pattern or filepattern")
let dirname= a:1
endif
else
@@ -3761,26 +3832,12 @@ fun! netrw#Explore(indx,dosplit,style,...)
endif
" call Decho("dirname<".dirname."> (after simplify)")
- if dirname =~ '/\*\*/'
- " handle .../**/.../filepat
-" call Decho("case Explore .../**/.../filepat")
- let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
- if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
- let b:netrw_curdir = prefixdir
- else
- let b:netrw_curdir= getcwd().'/'.prefixdir
- endif
- let dirname= substitute(dirname,'^.\{-}\(\*\*/.*\)$','\1','')
- let starpat= 4;
-" call Decho("pwd<".getcwd()."> dirname<".dirname.">")
-" call Decho("case Explore ../**/../filepat (starpat=".starpat.")")
-
- elseif dirname =~ '^\*//'
+ if dirname =~ '^\*//'
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
" call Decho("case Explore *//pattern")
let pattern= substitute(dirname,'^\*//\(.*\)$','\1','')
let starpat= 1
-" call Decho("Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
+" call Decho("..Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
elseif dirname =~ '^\*\*//'
@@ -3788,7 +3845,21 @@ fun! netrw#Explore(indx,dosplit,style,...)
" call Decho("case Explore **//pattern")
let pattern= substitute(dirname,'^\*\*//','','')
let starpat= 2
-" call Decho("Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
+" call Decho("..Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
+
+ elseif dirname =~ '/\*\*/'
+ " handle .../**/.../filepat
+" call Decho("case Explore .../**/.../filepat")
+ let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
+ if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
+ let b:netrw_curdir = prefixdir
+ else
+ let b:netrw_curdir= getcwd().'/'.prefixdir
+ endif
+ let dirname= substitute(dirname,'^.\{-}\(\*\*/.*\)$','\1','')
+ let starpat= 4;
+" call Decho("..pwd<".getcwd()."> dirname<".dirname.">")
+" call Decho("..case Explore ../**/../filepat (starpat=".starpat.")")
elseif dirname =~ '^\*/'
" starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
@@ -3810,14 +3881,14 @@ fun! netrw#Explore(indx,dosplit,style,...)
" call Decho("case starpat==0 && a:indx=".a:indx.": dirname<".dirname."> Explore Hexplore Vexplore Sexplore")
if dirname == ""
let dirname= curfiledir
-" call Decho("empty dirname, using current file's directory<".dirname.">")
+" call Decho("..empty dirname, using current file's directory<".dirname.">")
endif
if dirname =~ '^scp:' || dirname =~ '^ftp:'
-" call Decho("calling NetrwBrowse(0,dirname<".dirname.">)")
+" call Decho("..calling NetrwBrowse(0,dirname<".dirname.">)")
call s:NetrwBrowse(0,dirname)
else
if dirname == ""|let dirname= getcwd()|endif
-" call Decho("calling LocalBrowseCheck(dirname<".dirname.">)")
+" call Decho("..calling LocalBrowseCheck(dirname<".dirname.">)")
call netrw#LocalBrowseCheck(dirname)
endif
@@ -3836,24 +3907,24 @@ fun! netrw#Explore(indx,dosplit,style,...)
" Nexplore, Pexplore, Explore: handle starpat
" call Decho("case a:indx<=0: Nexplore, Pexplore, <s-down>, <s-up> starpat=".starpat." a:indx=".a:indx)
if !mapcheck("<s-up>","n") && !mapcheck("<s-down>","n") && exists("b:netrw_curdir")
-" call Decho("set up <s-up> and <s-down> maps")
+" call Decho("..set up <s-up> and <s-down> maps")
let s:didstarstar= 1
nnoremap <buffer> <silent> <s-up> :Pexplore<cr>
nnoremap <buffer> <silent> <s-down> :Nexplore<cr>
endif
if has("path_extra")
-" call Decho("starpat=".starpat.": has +path_extra")
+" call Decho("..starpat=".starpat.": has +path_extra")
if !exists("w:netrw_explore_indx")
let w:netrw_explore_indx= 0
endif
let indx = a:indx
-" call Decho("starpat=".starpat.": set indx= [a:indx=".indx."]")
+" call Decho("..starpat=".starpat.": set indx= [a:indx=".indx."]")
if indx == -1
" Nexplore
-" call Decho("case Nexplore with starpat=".starpat.": (indx=".indx.")")
+" call Decho("..case Nexplore with starpat=".starpat.": (indx=".indx.")")
if !exists("w:netrw_explore_list") " sanity check
keepj call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40)
sil! let @* = keepregstar
@@ -3866,13 +3937,13 @@ fun! netrw#Explore(indx,dosplit,style,...)
if indx < 0 | let indx= 0 | endif
if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
let curfile= w:netrw_explore_list[indx]
-" call Decho("indx=".indx." curfile<".curfile.">")
+" call Decho("....indx=".indx." curfile<".curfile.">")
while indx < w:netrw_explore_listlen && curfile == w:netrw_explore_list[indx]
let indx= indx + 1
-" call Decho("indx=".indx." (Nexplore while loop)")
+" call Decho("....indx=".indx." (Nexplore while loop)")
endwhile
if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
-" call Decho("Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+" call Decho("....Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
elseif indx == -2
" Pexplore
@@ -3889,30 +3960,30 @@ fun! netrw#Explore(indx,dosplit,style,...)
if indx < 0 | let indx= 0 | endif
if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
let curfile= w:netrw_explore_list[indx]
-" call Decho("indx=".indx." curfile<".curfile.">")
+" call Decho("....indx=".indx." curfile<".curfile.">")
while indx >= 0 && curfile == w:netrw_explore_list[indx]
let indx= indx - 1
-" call Decho("indx=".indx." (Pexplore while loop)")
+" call Decho("....indx=".indx." (Pexplore while loop)")
endwhile
if indx < 0 | let indx= 0 | endif
-" call Decho("Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+" call Decho("....Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
else
" Explore -- initialize
" build list of files to Explore with Nexplore/Pexplore
-" call Decho("starpat=".starpat.": case Explore: initialize (indx=".indx.")")
+" call Decho("..starpat=".starpat.": case Explore: initialize (indx=".indx.")")
keepj call s:NetrwClearExplore()
let w:netrw_explore_indx= 0
if !exists("b:netrw_curdir")
let b:netrw_curdir= getcwd()
endif
-" call Decho("starpat=".starpat.": b:netrw_curdir<".b:netrw_curdir.">")
+" call Decho("....starpat=".starpat.": b:netrw_curdir<".b:netrw_curdir.">")
" switch on starpat to build the w:netrw_explore_list of files
if starpat == 1
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
-" call Decho("starpat=".starpat.": build *//pattern list")
-" call Decho("pattern<".pattern.">")
+" call Decho("..case starpat=".starpat.": build *//pattern list (curdir-only srch for files containing pattern) &hls=".&hls)
+" call Decho("....pattern<".pattern.">")
try
exe "keepj noautocmd vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*"
catch /^Vim\%((\a\+)\)\=:E480/
@@ -3925,7 +3996,8 @@ fun! netrw#Explore(indx,dosplit,style,...)
elseif starpat == 2
" starpat=2: Explore **//pattern (recursive descent search for files containing pattern)
-" call Decho("starpat=".starpat.": build **//pattern list")
+" call Decho("..case starpat=".starpat.": build **//pattern list (recursive descent files containing pattern)")
+" call Decho("....pattern<".pattern.">")
try
exe "sil keepj noautocmd vimgrep /".pattern."/gj "."**/*"
catch /^Vim\%((\a\+)\)\=:E480/
@@ -3940,27 +4012,28 @@ fun! netrw#Explore(indx,dosplit,style,...)
let s:netrw_curdir = b:netrw_curdir
let w:netrw_explore_list = getqflist()
let w:netrw_explore_list = s:NetrwExploreListUniq(map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)'))
+ if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
elseif starpat == 3
" starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
-" call Decho("starpat=".starpat.": build */filepat list")
+" call Decho("..case starpat=".starpat.": build */filepat list (curdir-only srch filenames matching filepat) &hls=".&hls)
let filepat= substitute(dirname,'^\*/','','')
let filepat= substitute(filepat,'^[%#<]','\\&','')
-" call Decho("b:netrw_curdir<".b:netrw_curdir.">")
-" call Decho("filepat<".filepat.">")
+" call Decho("....b:netrw_curdir<".b:netrw_curdir.">")
+" call Decho("....filepat<".filepat.">")
let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".filepat),'\n'))
if &hls | let keepregslash= s:ExplorePatHls(filepat) | endif
elseif starpat == 4
" starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat)
-" call Decho("starpat=".starpat.": build **/filepat list")
+" call Decho("..case starpat=".starpat.": build **/filepat list (recursive descent srch filenames matching filepat) &hls=".&hls)
let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".dirname),'\n'))
if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
endif " switch on starpat to build w:netrw_explore_list
let w:netrw_explore_listlen = len(w:netrw_explore_list)
-" call Decho("w:netrw_explore_list<".string(w:netrw_explore_list).">")
-" call Decho("w:netrw_explore_listlen=".w:netrw_explore_listlen)
+" call Decho("....w:netrw_explore_list<".string(w:netrw_explore_list).">")
+" call Decho("....w:netrw_explore_listlen=".w:netrw_explore_listlen)
if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/')
keepj call netrw#ErrorMsg(s:WARNING,"no files matched",42)
@@ -3974,22 +4047,22 @@ fun! netrw#Explore(indx,dosplit,style,...)
" NetrwStatusLine support - for exploring support
let w:netrw_explore_indx= indx
-" call Decho("w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
+" call Decho("....w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
" wrap the indx around, but issue a note
if indx >= w:netrw_explore_listlen || indx < 0
-" call Decho("wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")")
+" call Decho("....wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")")
let indx = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0
let w:netrw_explore_indx= indx
keepj call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43)
endif
exe "let dirfile= w:netrw_explore_list[".indx."]"
-" call Decho("dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">")
+" call Decho("....dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">")
let newdir= substitute(dirfile,'/[^/]*$','','e')
-" call Decho("newdir<".newdir.">")
+" call Decho("....newdir<".newdir.">")
-" call Decho("calling LocalBrowseCheck(newdir<".newdir.">)")
+" call Decho("....calling LocalBrowseCheck(newdir<".newdir.">)")
call netrw#LocalBrowseCheck(newdir)
if !exists("w:netrw_liststyle")
let w:netrw_liststyle= g:netrw_liststyle
@@ -4003,10 +4076,10 @@ fun! netrw#Explore(indx,dosplit,style,...)
let w:netrw_explore_bufnr = bufnr("%")
let w:netrw_explore_line = line(".")
keepj call s:SetupNetrwStatusLine('%f %h%m%r%=%9*%{NetrwStatusLine()}')
-" call Decho("explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line)
+" call Decho("....explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line)
else
-" call Decho("your vim does not have +path_extra")
+" call Decho("..your vim does not have +path_extra")
if !exists("g:netrw_quiet")
keepj call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44)
endif
@@ -4018,7 +4091,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
endif
else
-" call Decho("default case: Explore newdir<".dirname.">")
+" call Decho("..default case: Explore newdir<".dirname.">")
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && dirname =~ '/'
sil! unlet w:netrw_treedict
sil! unlet w:netrw_treetop
@@ -4084,7 +4157,7 @@ endfun
" ---------------------------------------------------------------------
" s:NetrwExploreListUniq: {{{2
fun! s:NetrwExploreListUniq(explist)
-" call Dfunc("s:NetrwExploreListUniq(explist)")
+" call Dfunc("s:NetrwExploreListUniq(explist<".string(a:explist).">)")
" this assumes that the list is already sorted
let newexplist= []
@@ -4095,7 +4168,7 @@ fun! s:NetrwExploreListUniq(explist)
endif
endfor
-" call Dret("s:NetrwExploreListUniq")
+" call Dret("s:NetrwExploreListUniq newexplist<".string(newexplist).">")
return newexplist
endfun
@@ -4455,11 +4528,15 @@ fun! s:NetrwMakeDir(usrhost)
" redraw!
elseif b:netrw_method == 2
- " COMBAK -- future work
- keepj call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68)
+ let svpos= netrw#NetrwSavePosn()
+ call s:NetrwRemoteFtpCmd("",g:netrw_remote_mkdir.' "'.newdirname.'"')
+ keepj call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./'))
+ keepj call netrw#NetrwRestorePosn(svpos)
elseif b:netrw_method == 3
- " COMBAK -- future work
- keepj call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68)
+ let svpos= netrw#NetrwSavePosn()
+ call s:NetrwRemoteFtpCmd("",g:netrw_remote_mkdir.' "'.newdirname.'"')
+ keepj call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./'))
+ keepj call netrw#NetrwRestorePosn(svpos)
endif
" call Dret("NetrwMakeDir")
@@ -4521,8 +4598,7 @@ fun! s:NetrwMarkFile(islocal,fname)
endif
let first= 0
endfor
-" call Decho("ending s:netrwmarkfilelist_"curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">")
-" call Decho("ending s:netrwmarkfilemtch_"curbufnr."<".s:netrwmarkfilemtch_{curbufnr}.">")
+" call Decho("ending s:netrwmarkfilelist_".curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">")
endif
endif
@@ -4788,7 +4864,7 @@ fun! s:NetrwMarkFileEdit(islocal)
endfun
" ---------------------------------------------------------------------
-" s:NetrwMarkFileExe: (invoked by mx) execute arbitrary command on marked files, one at a time {{{2
+" s:NetrwMarkFileExe: (invoked by mx) execute arbitrary system command on marked files, one at a time {{{2
" Uses the local marked-file list.
fun! s:NetrwMarkFileExe(islocal)
" call Dfunc("s:NetrwMarkFileExe(islocal=".a:islocal.")")
@@ -4802,6 +4878,10 @@ fun! s:NetrwMarkFileExe(islocal)
let cmd= input("Enter command: ","","file")
call inputrestore()
" call Decho("cmd<".cmd.">")
+ if cmd == ""
+" " call Dret("s:NetrwMarkFileExe : early exit, empty command")
+ return
+ endif
" apply command to marked files. Substitute: filename -> %
" If no %, then append a space and the filename to the command
@@ -4904,6 +4984,113 @@ fun! s:NetrwMarkHideSfx(islocal)
endfun
" ---------------------------------------------------------------------
+" s:NetrwMarkFileVimCmd: (invoked by mX) execute arbitrary vim command on marked files, one at a time {{{2
+" Uses the local marked-file list.
+fun! s:NetrwMarkFileVimCmd(islocal)
+" call Dfunc("s:NetrwMarkFileVimCmd(islocal=".a:islocal.")")
+ let svpos = netrw#NetrwSavePosn()
+ let curdir = b:netrw_curdir
+ let curbufnr = bufnr("%")
+
+ if exists("s:netrwmarkfilelist_{curbufnr}")
+ " get the command
+ call inputsave()
+ let cmd= input("Enter vim command: ","","file")
+ call inputrestore()
+" call Decho("cmd<".cmd.">")
+ if cmd == ""
+" " call Dret("s:NetrwMarkFileVimCmd : early exit, empty command")
+ return
+ endif
+
+ " apply command to marked files. Substitute: filename -> %
+ " If no %, then append a space and the filename to the command
+ for fname in s:netrwmarkfilelist_{curbufnr}
+" call Decho("fname<".fname.">")
+ if a:islocal
+ 1split
+ exe "sil! keepalt e ".fnameescape(fname)
+" call Decho("local<".fname.">: exe ".cmd)
+ exe cmd
+ exe "sil! keepalt wq!"
+ else
+ " COMBAK -- not supported yet
+" call Decho("remote<".fname.">: exe ".cmd." : NOT SUPPORTED YET")
+ echo "sorry, \"mX\" not supported yet for remote files"
+ endif
+ endfor
+
+ " unmark marked file list
+ call s:NetrwUnmarkList(curbufnr,curdir)
+
+ " refresh the listing
+ keepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+ keepj call netrw#NetrwRestorePosn(svpos)
+ else
+ keepj call netrw#ErrorMsg(s:ERROR,"no files marked!",59)
+ endif
+
+" call Dret("s:NetrwMarkFileVimCmd")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwMarkHideSfx: (invoked by mh) (un)hide files having same suffix
+" as the marked file(s) (toggles suffix presence)
+" Uses the local marked file list.
+fun! s:NetrwMarkHideSfx(islocal)
+" call Dfunc("s:NetrwMarkHideSfx(islocal=".a:islocal.")")
+ let svpos = netrw#NetrwSavePosn()
+ let curbufnr = bufnr("%")
+
+ " s:netrwmarkfilelist_{curbufnr}: the List of marked files
+ if exists("s:netrwmarkfilelist_{curbufnr}")
+
+ for fname in s:netrwmarkfilelist_{curbufnr}
+" call Decho("s:NetrwMarkFileCopy: fname<".fname.">")
+ " construct suffix pattern
+ if fname =~ '\.'
+ let sfxpat= "^.*".substitute(fname,'^.*\(\.[^. ]\+\)$','\1','')
+ else
+ let sfxpat= '^\%(\%(\.\)\@!.\)*$'
+ endif
+ " determine if its in the hiding list or not
+ let inhidelist= 0
+ if g:netrw_list_hide != ""
+ let itemnum = 0
+ let hidelist= split(g:netrw_list_hide,',')
+ for hidepat in hidelist
+ if sfxpat == hidepat
+ let inhidelist= 1
+ break
+ endif
+ let itemnum= itemnum + 1
+ endfor
+ endif
+" call Decho("fname<".fname."> inhidelist=".inhidelist." sfxpat<".sfxpat.">")
+ if inhidelist
+ " remove sfxpat from list
+ call remove(hidelist,itemnum)
+ let g:netrw_list_hide= join(hidelist,",")
+ elseif g:netrw_list_hide != ""
+ " append sfxpat to non-empty list
+ let g:netrw_list_hide= g:netrw_list_hide.",".sfxpat
+ else
+ " set hiding list to sfxpat
+ let g:netrw_list_hide= sfxpat
+ endif
+ endfor
+
+ " refresh the listing
+ keepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+ keepj call netrw#NetrwRestorePosn(svpos)
+ else
+ keepj call netrw#ErrorMsg(s:ERROR,"no files marked!",59)
+ endif
+
+" call Dret("s:NetrwMarkHideSfx")
+endfun
+
+" ---------------------------------------------------------------------
" s:NetrwMarkFileGrep: (invoked by mg) This function applies vimgrep to marked files {{{2
" Uses the global markfilelist
fun! s:NetrwMarkFileGrep(islocal)
@@ -5722,11 +5909,13 @@ fun! s:NetrwPrevWinOpen(islocal)
" if only one window, open a new one first
" call Decho("only one window, so open a new one (g:netrw_alto=".g:netrw_alto.")")
if g:netrw_preview
-" call Decho("exe ".(g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s")
- exe (g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s")
+ exe (g:netrw_alto? "top " : "bot ")."vert ".winsz."wincmd s"
else
-" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
- exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s")
+ exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
endif
let didsplit = 1
@@ -5991,8 +6180,9 @@ fun! s:NetrwPreview(path) range
if has("quickfix")
if !isdirectory(a:path)
if g:netrw_preview && !g:netrw_alto
- let pvhkeep= &pvh
- let &pvh = winwidth(0) - g:netrw_winsize
+ let pvhkeep = &pvh
+ let winsz = (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
+ let &pvh = winwidth(0) - winsz
endif
exe (g:netrw_alto? "top " : "bot ").(g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path)
if exists("pvhkeep")
@@ -6174,8 +6364,8 @@ fun! s:NetrwSplit(mode)
if a:mode == 0
" remote and o
-" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
- let winsz= (g:netrw_winsize*winheight(0))/100
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s")
exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
@@ -6194,8 +6384,8 @@ fun! s:NetrwSplit(mode)
elseif a:mode == 2
" remote and v
-" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
- let winsz= (g:netrw_winsize*winwidth(0))/100
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v")
exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
@@ -6204,8 +6394,8 @@ fun! s:NetrwSplit(mode)
elseif a:mode == 3
" local and o
-" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
- let winsz= (g:netrw_winsize*winheight(0))/100
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winheight(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_alto? "bel " : "abo ").winsz."wincmd s")
exe (g:netrw_alto? "bel " : "abo ").winsz."wincmd s"
let s:didsplit= 1
keepj call s:RestoreWinVars()
@@ -6226,8 +6416,8 @@ fun! s:NetrwSplit(mode)
elseif a:mode == 5
" local and v
-" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
- let winsz= (g:netrw_winsize*winwidth(0))/100
+ let winsz= (g:netrw_winsize > 0)? (g:netrw_winsize*winwidth(0))/100 : -g:netrw_winsize
+" call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v")
exe (g:netrw_altv? "rightb " : "lefta ").winsz."wincmd v"
let s:didsplit= 1
keepj call s:RestoreWinVars()
@@ -6498,6 +6688,17 @@ endfun
fun! s:PerformListing(islocal)
" call Dfunc("s:PerformListing(islocal=".a:islocal.") bufnr(%)=".bufnr("%")."<".bufname("%").">")
+ " set up syntax highlighting {{{3
+" call Decho("set up syntax highlighting")
+ if has("syntax")
+ if !exists("g:syntax_on") || !g:syntax_on
+" call Decho("but g:syntax_on".(exists("g:syntax_on")? "=".g:syntax_on : "<doesn't exist>"))
+ setlocal ft=
+ elseif &ft != "netrw"
+ setlocal ft=netrw
+ endif
+ endif
+
keepj call s:NetrwSafeOptions()
setlocal noro ma
" call Decho("setlocal noro ma")
@@ -6593,17 +6794,6 @@ fun! s:PerformListing(islocal)
" call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
endif
- " set up syntax highlighting {{{3
-" call Decho("set up syntax highlighting")
- if has("syntax")
- if !exists("g:syntax_on") || !g:syntax_on
-" call Decho("but g:syntax_on".(exists("g:syntax_on")? "=".g:syntax_on : "<doesn't exist>"))
- setlocal ft=
- elseif &ft != "netrw"
- setlocal ft=netrw
- endif
- endif
-
" get list of files
" call Decho("Get list of files - islocal=".a:islocal)
if a:islocal
@@ -6860,10 +7050,10 @@ fun! s:NetrwRemoteListing()
else
if s:path == ""
" call Decho("2: exe sil r! ".listcmd)
- exe "sil! keepalt r! ".listcmd
+ exe "sil! keepj keepalt r! ".listcmd
else
" call Decho("3: exe sil r! ".listcmd.' '.shellescape(fnameescape(s:path),1))
- exe "sil! keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1)
+ exe "sil! keepj keepalt r! ".listcmd.' '.shellescape(fnameescape(s:path),1)
" call Decho("listcmd<".listcmd."> path<".s:path.">")
endif
endif
@@ -6951,7 +7141,7 @@ fun! s:NetrwRemoteRm(usrhost,path) range
" remove multiple files and directories
while ctr <= a:lastline
- exe ctr
+ exe "keepj ".ctr
let ok= s:NetrwRemoteRmFile(a:path,s:NetrwGetWord(),all)
if ok =~ 'q\%[uit]'
break
@@ -7118,10 +7308,10 @@ fun! s:NetrwRemoteFtpCmd(path,listcmd)
" exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))'
if exists("g:netrw_port") && g:netrw_port != ""
" call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1))
- exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1)
+ exe s:netrw_silentxfer." keepj ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)." ".shellescape(g:netrw_port,1)
else
" call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1))
- exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)
+ exe s:netrw_silentxfer." keepj ".w:netrw_bannercnt.",$!".s:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1)
endif
".........................................
@@ -7463,8 +7653,8 @@ fun! s:LocalListing()
sil! keepj g/^$/d
sil! keepj %s/\r$//e
call histdel("/",-1)
- exe "setlocal ts=".g:netrw_maxfilenamelen
-" call Decho("setlocal ts=".g:netrw_maxfilenamelen)
+ exe "setl ts=".g:netrw_maxfilenamelen
+" call Decho("setl ts=".g:netrw_maxfilenamelen)
" call Dret("s:LocalListing")
endfun
@@ -7808,19 +7998,48 @@ fun! s:LocalFastBrowser()
endfun
" ---------------------------------------------------------------------
-" netrw#FileUrlRead: handles reading file:///* files {{{2
+" netrw#FileUrlRead: handles reading file://* files {{{2
+" Should accept: file://localhost/etc/fstab
+" file:///etc/fstab
+" file:///c:/WINDOWS/clock.avi
+" file:///c|/WINDOWS/clock.avi
+" file://localhost/c:/WINDOWS/clock.avi
+" file://localhost/c|/WINDOWS/clock.avi
+" file://c:/foo.txt
+" file:///c:/foo.txt
+" and %XX (where X is [0-9a-fA-F] is converted into a character with the given hexadecimal value
fun! netrw#FileUrlRead(fname)
-" call Dfunc("netrw#FileUrlRead()")
- let fname2396 = netrw#RFC2396(a:fname)
+" call Dfunc("netrw#FileUrlRead(fname<".a:fname.">)")
+ let fname = a:fname
+ if fname =~ '^file://localhost/'
+" call Decho('converting file://localhost/ -to- file:///')
+ let fname= substitute(fname,'^file://localhost/','file:///','')
+" call Decho("fname<".fname.">")
+ endif
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ if fname =~ '^file:///\=\a[|:]/'
+" call Decho('converting file:///\a|/ -to- file://\a:/')
+ let fname = substitute(fname,'^file:///\=\(\a\)[|:]/','file://\1:/','')
+" call Decho("fname<".fname.">")
+ endif
+ endif
+ let fname2396 = netrw#RFC2396(fname)
let fname2396e= fnameescape(fname2396)
let plainfname= substitute(fname2396,'file://\(.*\)','\1',"")
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+" call Decho("windows exception for plainfname")
+ if plainfname =~ '^/\+\a:'
+" call Decho('removing leading "/"s')
+ let plainfname= substitute(plainfname,'^/\+\(\a:\)','\1','')
+ endif
+ endif
" call Decho("fname2396<".fname2396.">")
" call Decho("plainfname<".plainfname.">")
exe "sil doau BufReadPre ".fname2396e
- exe 'r '.plainfname
+ exe 'keepj r '.plainfname
exe 'file! '.plainfname
- 1d
- setlocal nomod
+ keepj 1d
+ setl nomod
" call Dret("netrw#FileUrlRead")
exe "sil doau BufReadPost ".fname2396e
endfun
@@ -7859,8 +8078,8 @@ fun! netrw#ErrorMsg(level,msg,errnum)
if bufexists("NetrwMessage") && bufwinnr("NetrwMessage") > 0
" call Decho("write to NetrwMessage buffer")
exe bufwinnr("NetrwMessage")."wincmd w"
-" call Decho("setlocal ma noro")
- setlocal ma noro
+" call Decho("setl ma noro")
+ setl ma noro
keepj call setline(line("$")+1,level.a:msg)
keepj $
else
@@ -7868,10 +8087,10 @@ fun! netrw#ErrorMsg(level,msg,errnum)
bo 1split
call s:NetrwEnew()
keepj call s:NetrwSafeOptions()
- setlocal bt=nofile
+ setl bt=nofile
keepj file NetrwMessage
" call Decho("setlocal ma noro")
- setlocal ma noro
+ setl ma noro
call setline(line("$"),level.a:msg)
endif
" call Decho("wrote msg<".level.a:msg."> to NetrwMessage win#".winnr())
@@ -7883,7 +8102,7 @@ fun! netrw#ErrorMsg(level,msg,errnum)
hi link netrwMesgWarning WarningMsg
hi link netrwMesgError Error
endif
- setlocal noma ro bh=wipe
+ setl noma ro bh=wipe
else
" (optional) netrw will show messages using echomsg. Even if the
@@ -7913,7 +8132,7 @@ fun! netrw#NetrwRestorePosn(...)
endif
if a:0 > 0
- exe a:1
+ exe "keepj ".a:1
endif
" restore window
@@ -7929,13 +8148,13 @@ fun! netrw#NetrwRestorePosn(...)
" restore top-of-screen line
if exists("w:netrw_hline")
-" call Decho("restore topofscreen: exe norm! ".w:netrw_hline."G0z")
+" call Decho("restore topofscreen: exe keepj norm! ".w:netrw_hline."G0z")
exe "keepj norm! ".w:netrw_hline."G0z\<CR>"
endif
" restore position
if exists("w:netrw_line") && exists("w:netrw_col")
-" call Decho("restore posn: exe norm! ".w:netrw_line."G0".w:netrw_col."|")
+" call Decho("restore posn: exe keepj norm! ".w:netrw_line."G0".w:netrw_col."|")
exe "keepj norm! ".w:netrw_line."G0".w:netrw_col."\<bar>"
endif
@@ -8160,48 +8379,56 @@ fun! s:NetrwCursor()
if !exists("w:netrw_liststyle")
let w:netrw_liststyle= g:netrw_liststyle
endif
-" call Dfunc("s:NetrwCursor() liststyle=".w:netrw_liststyle." g:netrw_cursor=".g:netrw_cursor." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul)
+" call Dfunc("s:NetrwCursor() ft<".&ft."> liststyle=".w:netrw_liststyle." g:netrw_cursor=".g:netrw_cursor." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul)
if &ft != "netrw"
" if the current window isn't a netrw directory listing window, then use user cursorline/column
" settings. Affects when netrw is used to read/write a file using scp/ftp/etc.
+" call Decho("case ft!=netrw: use user cul,cuc")
let &l:cursorline = s:netrw_usercul
let &l:cursorcolumn = s:netrw_usercuc
elseif g:netrw_cursor == 4
" all styles: cursorline, cursorcolumn
- setlocal cursorline
- setlocal cursorcolumn
+" call Decho("case g:netrw_cursor==4: setl cul cuc")
+ setl cursorline
+ setl cursorcolumn
elseif g:netrw_cursor == 3
" thin-long-tree: cursorline, user's cursorcolumn
" wide : cursorline, cursorcolumn
if w:netrw_liststyle == s:WIDELIST
- setlocal cursorline
- setlocal cursorcolumn
+" call Decho("case g:netrw_cursor==3 and wide: setlocal cul cuc")
+ setl cursorline
+ setl cursorcolumn
else
- setlocal cursorline
+" call Decho("case g:netrw_cursor==3 and not wide: setlocal cul (use user's cuc)")
+ setl cursorline
let &l:cursorcolumn = s:netrw_usercuc
endif
elseif g:netrw_cursor == 2
" thin-long-tree: cursorline, user's cursorcolumn
" wide : cursorline, user's cursorcolumn
+" call Decho("case g:netrw_cursor==2: setlocal cuc (use user's cul)")
let &l:cursorcolumn = s:netrw_usercuc
- setlocal cursorline
+ setl cursorline
elseif g:netrw_cursor == 1
" thin-long-tree: user's cursorline, user's cursorcolumn
" wide : cursorline, user's cursorcolumn
let &l:cursorcolumn = s:netrw_usercuc
if w:netrw_liststyle == s:WIDELIST
- setlocal cursorline
+" call Decho("case g:netrw_cursor==2 and wide: setlocal cul (use user's cuc)")
+ set cursorline
else
+" call Decho("case g:netrw_cursor==2 and not wide: (use user's cul,cuc)")
let &l:cursorline = s:netrw_usercul
endif
else
" all styles: user's cursorline, user's cursorcolumn
+" call Decho("default: (use user's cul,cuc)")
let &l:cursorline = s:netrw_usercul
let &l:cursorcolumn = s:netrw_usercuc
endif
@@ -8444,14 +8671,21 @@ endfun
" s:nbcd_curpos_{bufnr('%')} is set up by s:NetrwBrowseChgDir()
fun! s:NetrwRexplore(islocal,dirname)
" call Dfunc("s:NetrwRexplore() w:netrw_rexlocal=".w:netrw_rexlocal." w:netrw_rexdir<".w:netrw_rexdir.">")
+ if !exists("w:netrw_rexlocal")
+ " call Dret("s:NetrwRexplore() w:netrw_rexlocal doesn't exist")
+ return
+ endif
if w:netrw_rexlocal
keepj call netrw#LocalBrowseCheck(w:netrw_rexdir)
else
keepj call s:NetrwBrowse(0,w:netrw_rexdir)
endif
+ if exists("s:initbeval")
+ set beval
+ endif
if exists("s:nbcd_curpos_{bufnr('%')}")
keepj call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')})
- unlet s:nbcd_curpos_{bufnr('%')}
+" unlet s:nbcd_curpos_{bufnr('%')}
endif
if exists("s:explore_match")
exe "2match netrwMarkFile /".s:explore_match."/"
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 0e3a4fce8..b51077826 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Apr 02, 2011
-" Version: 33
+" Date: Sep 26, 2011
+" Version: 34
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
-let g:loaded_vimball = "v33"
+let g:loaded_vimball = "v34"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -220,7 +220,16 @@ fun! vimball#Vimball(really,...)
" go to vim plugin home
if a:0 > 0
+ " let user specify the directory where the vimball is to be unpacked.
+ " If, however, the user did not specify a full path, set the home to be below the current directory
let home= expand(a:1)
+ if has("win32") || has("win95") || has("win64") || has("win16")
+ if home !~ '^\a:[/\\]'
+ let home= getcwd().'/'.a:1
+ endif
+ elseif home !~ '^/'
+ let home= getcwd().'/'.a:1
+ endif
else
let home= vimball#VimballHome()
endif
@@ -282,11 +291,14 @@ fun! vimball#Vimball(really,...)
" call Decho("making directories if they don't exist yet (fname<".fname.">)")
let fnamebuf= substitute(fname,'\\','/','g')
let dirpath = substitute(home,'\\','/','g')
+" call Decho("init: fnamebuf<".fnamebuf.">")
+" call Decho("init: dirpath <".dirpath.">")
while fnamebuf =~ '/'
let dirname = dirpath."/".substitute(fnamebuf,'/.*$','','')
let dirpath = dirname
let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','')
" call Decho("dirname<".dirname.">")
+" call Decho("dirpath<".dirpath.">")
if !isdirectory(dirname)
" call Decho("making <".dirname.">")
if exists("g:vimball_mkdir")
@@ -569,9 +581,19 @@ endfun
fun! s:ChgDir(newdir)
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
- exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
+ try
+ exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
+ catch /^Vim\%((\a\+)\)\=:E/
+ call mkdir(fnameescape(substitute(a:newdir,'/','\\','g')))
+ exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
+ endtry
else
- exe 'silent cd '.fnameescape(a:newdir)
+ try
+ exe 'silent cd '.fnameescape(a:newdir)
+ catch /^Vim\%((\a\+)\)\=:E/
+ call mkdir(fnameescape(a:newdir))
+ exe 'silent cd '.fnameescape(a:newdir)
+ endtry
endif
" call Dret("ChgDir : curdir<".getcwd().">")
endfun
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 624b47da9..46ecaee45 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.3. Last change: 2011 Aug 29
+*eval.txt* For Vim version 7.3. Last change: 2011 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6374,7 +6374,7 @@ last defined. Example: >
<
See |:verbose-cmd| for more information.
- *E124* *E125*
+ *E124* *E125* *E853*
:fu[nction][!] {name}([arguments]) [range] [abort] [dict]
Define a new function by the name {name}. The name
must be made of alphanumeric characters and '_', and
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 92e21668f..759c90c52 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.3. Last change: 2011 Aug 19
+*map.txt* For Vim version 7.3. Last change: 2011 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -237,11 +237,18 @@ For this reason the following is blocked:
- Editing another buffer.
- The |:normal| command.
- Moving the cursor is allowed, but it is restored afterwards.
-- You can use getchar(), but the existing typeahead isn't seen and new
- typeahead is discarded.
If you want the mapping to do any of these let the returned characters do
that.
+You can use getchar(), it consumes typeahead if there is any. E.g., if you
+have these mappings: >
+ inoremap <expr> <C-L> nr2char(getchar())
+ inoremap <expr> <C-L>x "foo"
+If you now type CTRL-L nothing happens yet, Vim needs the next character to
+decide what mapping to use. If you type 'x' the second mapping is used and
+"foo" is inserted. If you type 'a' the first mapping is used, getchar() gets
+the 'a' and returns it.
+
Here is an example that inserts a list number that increases: >
let counter = 0
inoremap <expr> <C-L> ListItem()
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 66af7b465..e8d067600 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 7.3. Last change: 2011 Jul 18
+*mbyte.txt* For Vim version 7.3. Last change: 2011 Oct 15
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -797,8 +797,8 @@ is suitable for complex input, such as CJK.
number of Hira-gana characters are 76. So, first, we pre-input text as
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
if needed. There are some Kana-Kanji conversion server: jserver
- (distributed with Wnn, see below) and canna. Canna could be found at:
- ftp://ftp.nec.co.jp/pub/Canna/ (no longer works).
+ (distributed with Wnn, see below) and canna. Canna can be found at:
+ http://canna.sourceforge.jp/
There is a good input system: Wnn4.2. Wnn 4.2 contains,
xwnmo (|IM-server|)
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 8798ee134..b7614e7f0 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
+*netbeans.txt* For Vim version 7.3. Last change: 2011 Oct 20
VIM REFERENCE MANUAL by Gordon Prieur et al.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b256cb6fb..c76147421 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.3. Last change: 2011 Sep 09
+*options.txt* For Vim version 7.3. Last change: 2011 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6762,8 +6762,8 @@ A jump table for the options with a short description can be found at |Q_op|.
usetab Like "useopen", but also consider windows in other tab
pages.
split If included, split the current window before loading
- a buffer. Otherwise: do not split, use current window.
- Supported in |quickfix| commands that display errors.
+ a buffer for a |quickfix| command that display errors.
+ Otherwise: do not split, use current window.
newtab Like "split", but open a new tab page. Overrules
"split" when both are present.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 9b7eacceb..9a9d0568b 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20
+*pattern.txt* For Vim version 7.3. Last change: 2011 Sep 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,7 +21,7 @@ explanations are in chapter 27 |usr_27.txt|.
10. Highlighting matches |match-highlight|
==============================================================================
-1. Search commands *search-commands* *E486*
+1. Search commands *search-commands*
*/*
/{pattern}[/]<CR> Search forward for the [count]'th occurrence of
@@ -150,6 +150,11 @@ use <Esc> to abandon the search.
All matches for the last used search pattern will be highlighted if you set
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
+When no match is found you get the error: *E486* Pattern not found
+Note that for the |:global| command this behaves like a normal message, for Vi
+compatibility. For the |:s| command the "e" flag can be used to avoid the
+error message |:s_flags|.
+
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
additional offset may be given. There are two types of offsets: line offsets
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 1ee4b6a52..4b74d1f56 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.3. Last change: 2011 May 31
+*pi_netrw.txt* For Vim version 7.3. Last change: 2011 Sep 26
-----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -89,7 +89,7 @@ Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright*
Marked Files: Unmarking............................|netrw-mu|
Netrw Browser Variables............................|netrw-browser-var|
Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
- Netrw Settings.....................................|netrw-settings|
+ Netrw Settings Window..............................|netrw-settings-window|
Obtaining A File...................................|netrw-O|
Preview Window.....................................|netrw-p|
Previous Window....................................|netrw-P|
@@ -294,14 +294,14 @@ DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
Attempts to use ftp will prompt you for a user-id and a password.
- These will be saved in global variables g:netrw_uid and
- s:netrw_passwd; subsequent uses of ftp will re-use those two items to
- simplify the further use of ftp. However, if you need to use a
- different user id and/or password, you'll want to call NetUserPass()
+ These will be saved in global variables |g:netrw_uid| and
+ |s:netrw_passwd|; subsequent use of ftp will re-use those two strings,
+ thereby simplifying use of ftp. However, if you need to use a
+ different user id and/or password, you'll want to call |NetUserPass()|
first. To work around the need to enter passwords, check if your ftp
supports a <.netrc> file in your home directory. Also see
|netrw-passwd| (and if you're using ssh/scp hoping to figure out how
- to not need to use passwords, look at |netrw-ssh-hack|).
+ to not need to use passwords for scp, look at |netrw-ssh-hack|).
:NetUserPass [uid [password]] -- prompts as needed
:call NetUserPass() -- prompts for uid and password
@@ -331,7 +331,8 @@ settings are described below, in |netrw-browser-options|, and in
netrw edits a file. The file is first edited, and
then the function reference (|Funcref|) is called.
This variable may also hold a |List| of Funcrefs.
- (default) not defined
+ (default) not defined. (the capital in g:Netrw...
+ is required by its holding a function reference)
>
Example: place in .vimrc; affects all file opening
fun! MyFuncRef()
@@ -479,6 +480,9 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
<
+(note: it has been reported that windows 7 with putty v0.6's "-batch" option
+ doesn't work, so its best to leave it off for that system)
+
See |netrw-p8| for more about putty, pscp, psftp, etc.
Ftp, an old protocol, seems to be blessed by numerous implementations.
@@ -716,13 +720,16 @@ below, a {netfile} is an url to a remote file.
==============================================================================
-8. Variables and Options *netrw-options* *netrw-var* {{{1
+8. Variables and Options *netrw-settings* {{{1
-(if you're interested in the netrw browser settings, see: |netrw-browser-var|)
+(also see: |netrw-options| |netrw-variables| |netrw-protocol|
+ |netrw-browser-settings| |netrw-browser-options|
+ |netrw-browser-var| )
The <netrw.vim> script provides several variables which act as options to
affect <netrw.vim>'s file transfer behavior. These variables typically may be
set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
+ *netrw-options*
>
-------------
Netrw Options
@@ -754,6 +761,7 @@ set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
=1 use default method to do ftp >
-----------------------------------------------------------------------
<
+ *netrw-internal-variables*
The script will also make use of the following variables internally, albeit
temporarily.
>
@@ -1147,15 +1155,14 @@ allows one to open a new window to hold the new directory listing or file. A
horizontal split is used. (for vertical splitting, see |netrw-v|)
Normally, the o key splits the window horizontally with the new window and
-cursor at the top. To change to splitting the window horizontally with the
-new window and cursor at the bottom, have
-
- let g:netrw_alto = 1
-
-in your <.vimrc>. (also see |netrw-t| |netrw-T| |netrw-v|)
+cursor at the top.
Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
+Related Actions |netrw-cr| |netrw-p| |netrw-t| |netrw-T| |netrw-v|
+Associated setting variables:
+ |g:netrw_alto| control above/below splitting
+ |g:netrw_winsize| control initial sizing
BROWSING WITH A NEW TAB *netrw-t* *netrw-T* {{{2
@@ -1164,8 +1171,9 @@ allows one to open a new window holding the new directory listing or file in
a new tab. The "T" version puts the file or directory into a background tab
(see |gT|)
-Related actions: |netrw-o| |netrw-v|
-
+Related Actions |netrw-cr| |netrw-o| |netrw-p| |netrw-v|
+Associated setting variables:
+ |g:netrw_winsize| control initial sizing
BROWSING WITH A VERTICALLY SPLIT WINDOW *netrw-v* {{{2
@@ -1174,18 +1182,18 @@ allows one to open a new window to hold the new directory listing or file. A
vertical split is used. (for horizontal splitting, see |netrw-o|)
Normally, the v key splits the window vertically with the new window and
-cursor at the left. To change to splitting the window vertically with the new
-window and cursor at the right, have
-
- let g:netrw_altv = 1
-
-in your <.vimrc>. (also see: |netrw-o| |netrw-t| |netrw-T|)
+cursor at the left.
There is only one tree listing buffer; using "v" on a displayed subdirectory
will split the screen, but the same buffer will be shown twice.
Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
+Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
+Associated setting variables:
+ |g:netrw_altv| control right/left splitting
+ |g:netrw_winsize| control initial sizing
+
CHANGE LISTING STYLE (THIN LONG WIDE TREE) *netrw-i* {{{2
@@ -1386,6 +1394,7 @@ to remove it again using the g:netrw_rmf_cmd variable. Its default value is:
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
+Related topics: |netrw-d|
Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
|g:netrw_rmdir_cmd| |g:netrw_ssh_cmd|
@@ -1520,7 +1529,7 @@ What it means:
Associated setting variables: |g:netrw_hide| |g:netrw_list_hide|
Associated topics: |netrw-a| |netrw-gh| |netrw-mh|
-
+ *netrw-sort-sequence*
EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence* {{{2
When "Sorted by" is name, one may specify priority via the sorting sequence
@@ -1723,9 +1732,9 @@ directory's name. A bare <CR> at that point will abort the making of the
directory. Attempts to make a local directory that already exists (as either
a file or a directory) will be detected, reported on, and ignored.
-Currently, making a directory via ftp is not supported.
-
-Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
+Related topics: |netrw-D|
+Associated setting variables: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
+ |g:netrw_remote_mkdir|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
@@ -1953,10 +1962,11 @@ MARKED FILES: UNMARKING *netrw-mu* {{{2
The "mu" mapping will unmark all currently marked files.
-
+ *netrw-browser-settings*
NETRW BROWSER VARIABLES *netrw-browser-options* *netrw-browser-var* {{{2
-(if you're interested in the netrw file transfer settings, see |netrw-options|)
+(if you're interested in the netrw file transfer settings, see |netrw-options|
+ and |netrw-protocol|)
The <netrw.vim> browser provides settings in the form of variables which
you may modify; by placing these settings in your <.vimrc>, you may customize
@@ -2006,6 +2016,15 @@ your browsing preferences. (see also: |netrw-settings|)
Will compress marked files with this
command
+ *g:Netrw_corehandler* Allows one to specify something additional
+ to do when handling <core> files via netrw's
+ browser's "x" command (see |netrw-x|). If
+ present, g:Netrw_corehandler specifies
+ either one or more function references
+ (see |Funcref|). (the capital g:Netrw...
+ is required its holding a function reference)
+
+
*g:netrw_ctags* ="ctags"
The default external program used to create tags
@@ -2157,6 +2176,7 @@ your browsing preferences. (see also: |netrw-settings|)
columnar.
*g:netrw_mkdir_cmd* command for making a remote directory
+ via ssh (also see |g:netrw_remote_mkdir|)
default: "ssh USEPORT HOSTNAME mkdir"
*g:netrw_mousemaps* =1 (default) enables mouse buttons while
@@ -2167,6 +2187,15 @@ your browsing preferences. (see also: |netrw-settings|)
rightmouse : remove file/directory
=0: disables mouse maps
+ *g:netrw_nobeval* doesn't exist (default)
+ If this variable exists, then balloon
+ evaluation will be suppressed
+ (see |'ballooneval'|)
+
+ *g:netrw_remote_mkdir* command for making a local directory
+ via ftp (also see |g:netrw_mkdir_cmd|)
+ default: "mkdir"
+
*g:netrw_retmap* if it exists and is set to one, then:
* if in a netrw-selected file, AND
* no normal-mode <2-leftmouse> mapping exists,
@@ -2279,6 +2308,9 @@ your browsing preferences. (see also: |netrw-settings|)
is an integer describing the percentage of the
current netrw buffer's window to be used for
the new window.
+ If g:netrw_winsize is less than zero, then
+ the absolute value of g:netrw_winsize lines
+ or columns will be used for the new window.
default: 50 (for 50%)
*g:netrw_xstrlen* Controls how netrw computes string lengths,
@@ -2313,7 +2345,7 @@ file you edit; this apparently also applies to directories. In other words,
autochdir sets the current directory to that containing the "file" (even if
that "file" is itself a directory).
-NETRW BROWSER SETTINGS *netrw-settings* {{{2
+NETRW SETTINGS WINDOW *netrw-settings-window* {{{2
With the NetrwSettings.vim plugin, >
:NetrwSettings
@@ -2356,7 +2388,6 @@ Related topics:
* To automatically make the currently browsed directory the current
directory, see |g:netrw_keepdir|.
-
*netrw-createfile*
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
@@ -2390,8 +2421,7 @@ PREVIOUS WINDOW *netrw-P* *netrw-prvwin* {{{2
To edit a file or directory in the previously used (last accessed) window (see
:he |CTRL-W_p|), press a "P". If there's only one window, then the one window
-will be horizontally split (above/below splitting is controlled by
-|g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|).
+will be horizontally split (by default).
If there's more than one window, the previous window will be re-used on
the selected file/directory. If the previous window's associated buffer
@@ -2399,6 +2429,13 @@ has been modified, and there's only one window with that buffer, then
the user will be asked if s/he wishes to save the buffer first (yes,
no, or cancel).
+Related Actions |netrw-cr| |netrw-o| |netrw-t| |netrw-T| |netrw-v|
+Associated setting variables:
+ |g:netrw_alto| control above/below splitting
+ |g:netrw_altv| control right/left splitting
+ |g:netrw_preview| control horizontal vs vertical splitting
+ |g:netrw_winsize| control initial sizing
+
REFRESHING THE LISTING *netrw-ctrl-l* *netrw-ctrl_l* {{{2
@@ -2804,6 +2841,30 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
12. History *netrw-history* {{{1
+ v143: Jun 01, 2011 * |g:netrw_winsize| will accept a negative
+ number; the absolute value of it will then
+ be used to specify lines/columns instead of
+ a percentage.
+ Jul 05, 2011 * the "d" map now supports mkdir via ftp
+ See |netrw-d| and |g:netrw_remote_mkdir|
+ Jul 11, 2011 * Changed Explore!, Sexplore!, and Vexplore
+ to use a percentage of |winwidth()| instead
+ of a percentage of |winheight()|.
+ Jul 11, 2011 * included support for https://... I'm just
+ beginning to test this, however.
+ Aug 01, 2011 * changed RestoreOptions to also restore
+ cursor position in netrw buffers.
+ Aug 12, 2011 * added a note about "%" to the balloon
+ Aug 30, 2011 * if |g:netrw_nobeval| exists, then balloon
+ evaluation is suppressed.
+ Aug 31, 2011 * (Benjamin R Haskell) provided a patch that
+ implements non-standard port handling for
+ files opened via the remote browser.
+ Aug 31, 2011 * Fixed a **//pattern Explorer bug
+ Sep 15, 2011 * (reported by Francesco Campana) netrw
+ now permits the "@" to be part of the
+ user id (if there's an @ that appears
+ to the right).
v142: Apr 06, 2011 * I modified NetrwRemoteListing() to use
shellescape(fnameescape(s:path),1) for
the benefit of those using scp://.../
diff --git a/runtime/doc/pi_vimball.txt b/runtime/doc/pi_vimball.txt
index 73e3e6669..fd0006df9 100644
--- a/runtime/doc/pi_vimball.txt
+++ b/runtime/doc/pi_vimball.txt
@@ -1,4 +1,4 @@
-*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14
+*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Sep 26
----------------
Vimball Archiver
@@ -177,6 +177,8 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
+ 34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
+ prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 6d14f617f..5eb7d1197 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.3. Last change: 2011 Sep 21
+*syntax.txt* For Vim version 7.3. Last change: 2011 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2723,7 +2723,7 @@ in your <.vimrc>, and :set fdm=syntax. I suggest doing the latter via a
modeline at the end of your LaTeX file: >
% vim: fdm=syntax
If your system becomes too slow, then you might wish to look into >
- https://vimhelp.appspot.com/vim_faq.txt.html#faq-29.7
+ http://vim.wikia.com/wiki/Keep_folds_closed_while_inserting_text
<
*tex-nospell*
Tex: Don't Want Spell Checking In Comments? ~
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 0f45dc5e0..6b43053ea 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4235,6 +4235,7 @@ E85 options.txt /*E85*
E850 change.txt /*E850*
E851 gui_x11.txt /*E851*
E852 gui_x11.txt /*E852*
+E853 eval.txt /*E853*
E86 windows.txt /*E86*
E87 windows.txt /*E87*
E88 windows.txt /*E88*
@@ -5759,6 +5760,7 @@ g- undo.txt /*g-*
g0 motion.txt /*g0*
g8 various.txt /*g8*
g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
+g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
g:ada#Comment ft_ada.txt /*g:ada#Comment*
g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds*
@@ -5846,9 +5848,11 @@ g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
g:netrw_mousemaps pi_netrw.txt /*g:netrw_mousemaps*
+g:netrw_nobeval pi_netrw.txt /*g:netrw_nobeval*
g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
+g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
@@ -5876,6 +5880,8 @@ g:netrw_use_nt_rcp pi_netrw.txt /*g:netrw_use_nt_rcp*
g:netrw_win95ftp pi_netrw.txt /*g:netrw_win95ftp*
g:netrw_winsize pi_netrw.txt /*g:netrw_winsize*
g:netrw_xstrlen pi_netrw.txt /*g:netrw_xstrlen*
+g:sh_isk syntax.txt /*g:sh_isk*
+g:sh_noisk syntax.txt /*g:sh_noisk*
g:syntax_on syntax.txt /*g:syntax_on*
g:tar_browseoptions pi_tar.txt /*g:tar_browseoptions*
g:tar_cmd pi_tar.txt /*g:tar_cmd*
@@ -6767,6 +6773,7 @@ netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds*
netrw-browse-maps pi_netrw.txt /*netrw-browse-maps*
netrw-browser pi_netrw.txt /*netrw-browser*
netrw-browser-options pi_netrw.txt /*netrw-browser-options*
+netrw-browser-settings pi_netrw.txt /*netrw-browser-settings*
netrw-browser-var pi_netrw.txt /*netrw-browser-var*
netrw-browsing pi_netrw.txt /*netrw-browsing*
netrw-c pi_netrw.txt /*netrw-c*
@@ -6815,6 +6822,7 @@ netrw-history pi_netrw.txt /*netrw-history*
netrw-horiz pi_netrw.txt /*netrw-horiz*
netrw-i pi_netrw.txt /*netrw-i*
netrw-incompatible pi_netrw.txt /*netrw-incompatible*
+netrw-internal-variables pi_netrw.txt /*netrw-internal-variables*
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
netrw-list pi_netrw.txt /*netrw-list*
@@ -6892,8 +6900,10 @@ netrw-rexplore pi_netrw.txt /*netrw-rexplore*
netrw-rightmouse pi_netrw.txt /*netrw-rightmouse*
netrw-s pi_netrw.txt /*netrw-s*
netrw-settings pi_netrw.txt /*netrw-settings*
+netrw-settings-window pi_netrw.txt /*netrw-settings-window*
netrw-sexplore pi_netrw.txt /*netrw-sexplore*
netrw-sort pi_netrw.txt /*netrw-sort*
+netrw-sort-sequence pi_netrw.txt /*netrw-sort-sequence*
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
netrw-source pi_netrw.txt /*netrw-source*
netrw-ssh-hack pi_netrw.txt /*netrw-ssh-hack*
@@ -6912,7 +6922,6 @@ netrw-updir pi_netrw.txt /*netrw-updir*
netrw-urls pi_netrw.txt /*netrw-urls*
netrw-userpass pi_netrw.txt /*netrw-userpass*
netrw-v pi_netrw.txt /*netrw-v*
-netrw-var pi_netrw.txt /*netrw-var*
netrw-variables pi_netrw.txt /*netrw-variables*
netrw-vexplore pi_netrw.txt /*netrw-vexplore*
netrw-write pi_netrw.txt /*netrw-write*
@@ -7447,6 +7456,8 @@ setuid change.txt /*setuid*
setwinvar() eval.txt /*setwinvar()*
sftp pi_netrw.txt /*sftp*
sgml.vim syntax.txt /*sgml.vim*
+sh-awk syntax.txt /*sh-awk*
+sh-embed syntax.txt /*sh-embed*
sh.vim syntax.txt /*sh.vim*
shell-window tips.txt /*shell-window*
shell_error-variable eval.txt /*shell_error-variable*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index cfc3eab84..be8207040 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.3. Last change: 2011 Sep 21
+*todo.txt* For Vim version 7.3. Last change: 2011 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,26 +34,29 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch.
-Another on Sep 15?
-
-Patch for DFLT_EFM. (Ben Boeckel, 2011 Sep 14)
-
-Code style patch. (Elias Diem, 2011 Sep 19)
-
Patch for 'transparency' option. (Ben Boeckel, 2011 Sep 14)
Do we want this? Also Sergiu Dotenco, 2011 Sep 17.
-Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17)
+Once syntax and other runtime files have been fixed: add "set cp" to
+check.vim. Use a function to run both with 'cp' and 'nocp'.
-Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17)
-Addition Sep 16.
+Windows stuff:
+- Patch for gui_w32.c: call DefWindowProc(). (Sergiu Dotenco, 2011 Sep 15, 17)
+- Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 15, 17)
+ Addition Sep 16.
+- Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep
+ 15, 17)
+- Patch for redirection. (Yasuhiro Matsumoto, 2011 Sep 15) 2nd patch. Another
+ on Sep 15? Can't reproduce it. Only with vim.exe, compiled with Mingw?
-Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011 Sep 15, 17)
+Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer?
-Change to #ifdef for PDP_RETVAL. (Sergiu Dotenco, 2011 Sep 17, patch 2)
+Something weird with text formatting when 'compatible' is set.
+Only formats from Insert starting point, even when using "gqj"?
+(Peter Wagenaar, 2011 Oct 20)
-Patch for phpcomplete.vim (Benjamin Haskell) picked up by maintainer?
+FocusGained event received event though it's in 'eventignore'?
+(Ben Fritz, 2011 Sep 25)
Add voting item: modern plugin management (automatic updates, handle
dependencies).
@@ -62,14 +65,13 @@ Read http://www.charlietanksley.net/philtex/sane-vim-plugin-management/
Go through more coverity reports.
-Patch for Issue #9: http://code.google.com/p/vim/issues/detail?id=9
-C++ indenting. martin.gieseking
+Better D/Dtrace detection. (Jesse Phillips, 2011 Oct 18)
-Using "." to repeat a Visual delete counts bytes, not characters. Can this be
-fixed? (Connor Lane Smith, 2011 Sep 1)
+Patch for not showing dict methods in completion. (Yasuhiro Matsumoto, 2011
+Oct 7) Move "<" methods to the end. Fix for compiler warnings, Oct 13.
-Patch to allow getchar() in expression mapping.
-Why was typeahead saved and restored? (James Vega, 2011 Aug 31)
+FPE exception in mbyte.c. Stack trace: (Lomy, 2011 Sep 26)
+Can't reproduce it.
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
@@ -81,9 +83,20 @@ Patch to fail if configure can't find an interface, such as Python.
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
Needs more work.
+Other way to start Mzscheme. Tim Brown, 2011 Oct 5: change main call.
+Later patch by Sergey Khorev, 2011 Oct 9.
+
+Patch to add getsid(). (Tyru, 2011 Oct 2) Do we want this? Update Oct 4.
+Or use expand('<sid>')?
+
Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
one)
+Patch to highlight cursor line number. (Howard Buchholz (lhb), 2011 Oct 18)
+
+Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
+v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
+
Patch for: (Christian Brabandt, 2011 Aug 22)
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
below/above).
@@ -92,11 +105,25 @@ Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
+Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
+
Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
Patch Sep 18.
+Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
+And one for gui_x11.txt.
+
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
+Patch to sort functions starting with '<' after others. Omit dict functions,
+they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)
+
+Updated syntax file for ssh_config, maintainer doesn't respond.
+(Leonard Ehrenfried, 2011 Sep 26)
+
+"fC" doesn't position the cursor correctly when there are concealed
+characters. Patch by Christian Brabandt, 2011 Oct 11)
+
'cursorline' is displayed too short when there are concealed characters and
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
@@ -166,8 +193,6 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
Make 'formatprg' global-local. (Sung Pae)
-v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
-
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
@@ -299,6 +324,8 @@ the system encoding (usually utf-8).
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
+'beval' option should be global-local.
+
Ruby: ":ruby print $buffer.number" returns zero.
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
@@ -461,15 +488,10 @@ Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
-Cannot use getchar() inside :normal and using an expression mapping. Is this
-supposed to work? (XyX, 2010 Sep 22)
-
When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value.
-There is no command line completion for ":lmap".
-
":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use
getpwent() to find all the matches.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 77a9f88d7..07c80c0bd 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.3. Last change: 2011 May 19
+*various.txt* For Vim version 7.3. Last change: 2011 Oct 1st
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -602,6 +602,10 @@ K Run a program to lookup the keyword under the
"gs" stands for "goto sleep".
While sleeping the cursor is positioned in the text,
if at a visible position. {not in Vi}
+ Also process the received netbeans messages. {only
+ available when compiled with the |+netbeans_intg|
+ feature}
+
*g_CTRL-A*
g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 5857c529a..983810ca0 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2011 Sep 07
+" Last Change: 2011 Oct 08
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -754,6 +754,11 @@ au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg
" gnash(1) configuration files
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
+" Gitolite
+au BufNewFile,BufRead gitolite.conf setf gitolite
+au BufNewFile,BufRead */gitolite-admin/conf/* call s:StarSetf('gitolite')
+au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
+
" Gnuplot scripts
au BufNewFile,BufRead *.gpi setf gnuplot
diff --git a/runtime/indent/r.vim b/runtime/indent/r.vim
index 9c78f3045..7d28f2910 100644
--- a/runtime/indent/r.vim
+++ b/runtime/indent/r.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: R
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
-" Last Change: Wed Aug 31, 2011 12:24AM
+" Last Change: Fri Oct 14, 2011 09:50PM
" Only load this indent file when no other was loaded.
@@ -455,19 +455,29 @@ function GetRIndent()
return ind
endif
+ if g:r_indent_align_args == 0 && bb != 0
+ let ind += bb * &sw
+ return ind
+ endif
+
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
return ind
endif
- while pind < ind && plnum > 0 && ppb == 0
+ let pline = getline(plnum)
+ let pbb = s:Get_paren_balance(pline, '[', ']')
+
+ while pind < ind && plnum > 0 && ppb == 0 && pbb == 0
let ind = pind
let plnum = s:Get_prev_line(plnum)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
+ let pbb = s:Get_paren_balance(pline, '[', ']')
while pline =~ '^\s*else'
let plnum = s:Get_matching_if(plnum, 1)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
+ let pbb = s:Get_paren_balance(pline, '[', ']')
endwhile
let pind = indent(plnum)
if ind == (pind + &sw) && pline =~ '{$'
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 717857fe3..3e847b957 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.56
-" Last Change: 2010 Jun 29
+" Version: 1.58
+" Last Change: 2011 Sep 27
" URL: http://www.vim.org/scripts/script.php?script_id=1450
" only load this indent file when no other was loaded
@@ -95,7 +95,7 @@ function GetVHDLindent()
" ****************************************************************************************
" indent: align generic variables & port names
- " keywords: "generic", "map", "port" + "(", provided current line is part of mapping
+ " keywords: "procedure" + name, "generic", "map", "port" + "(", provided current line is part of mapping
" where: anywhere in previous 2 lines
" find following previous non-comment line
let pn = prevnonblank(prevn - 1)
@@ -104,7 +104,7 @@ function GetVHDLindent()
let pn = prevnonblank(pn - 1)
let ps = getline(pn)
endwhile
- if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
+ if (curs =~ '^\s*)' || curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*\%(=>\s*\S\+\|:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)\)') && (prevs =~? s:NC.'\<\%(procedure\s\+\S\+\|generic\|map\|port\)\s*(\%(\s*\w\)\=' || (ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)'.s:ES && prevs =~ '^\s*('))
" align closing ")" with opening "("
if curs =~ '^\s*)'
return ind2 + stridx(prevs_noi, '(')
@@ -160,12 +160,12 @@ function GetVHDLindent()
" make sure one of these is true
" keywords: variable + "<=" without ";" ending
" where: start of previous non-comment line
- " keywords: "generic", "map", "port"
+ " keywords: "procedure", "generic", "map", "port"
" where: anywhere in previous non-comment line
" keyword: "("
" where: start of previous non-comment line
if m < 3 && ps !~? '^\s*\S\+\s*<=[^;]*'.s:ES
- if ps =~? s:NC.'\<\%(generic\|map\|port\)\>' || ps =~ '^\s*('
+ if ps =~? s:NC.'\<\%(procedure\|generic\|map\|port\)\>' || ps =~ '^\s*('
let ind = t
endif
break
@@ -207,14 +207,26 @@ function GetVHDLindent()
" keyword: "begin"
" where: anywhere in current line
if curs =~? s:NC.'\<begin\>'
- let ind = ind - &sw
" find previous opening statement of
" keywords: "architecture", "block", "entity", "function", "generate", "procedure", "process"
let s2 = s:NC.s:NE.'\<\%(architecture\|block\|entity\|function\|generate\|procedure\|process\)\>'
- if (curs !~? s2.'.*'.s:NC.'\<begin\>.*'.s:ES && prevs =~? s2) || m == 1
- let ind = ind + &sw
+
+ let pn = prevnonblank(curn - 1)
+ let ps = getline(pn)
+ while pn > 0 && (ps =~ '^\s*--' || ps !~? s2)
+ let pn = prevnonblank(pn - 1)
+ let ps = getline(pn)
+
+ if (ps =~? s:NC.'\<begin\>')
+ return indent(pn) - &sw
+ endif
+ endwhile
+
+ if (pn == 0)
+ return ind - &sw
+ else
+ return indent(pn)
endif
- return ind
endif
" indent: +sw if previous line is previous opening statement
@@ -319,8 +331,13 @@ function GetVHDLindent()
" indent: -sw
" keywords: "else", "elsif", "end" + "block", "for", "function", "generate", "if", "loop", "procedure", "process", "record", "units"
" where: start of current line
- if curs =~? '^\s*\%(else\|elsif\|end\s\+\%(block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units\)\)\>'
- return ind - &sw
+ let s5 = 'block\|for\|function\|generate\|if\|loop\|procedure\|process\|record\|units'
+ if curs =~? '^\s*\%(else\|elsif\|end\s\+\%('.s5.'\)\)\>'
+ if prevs =~? '^\s*\%(elsif\|'.s5.'\)'
+ return ind
+ else
+ return ind - &sw
+ endif
endif
" indent: backtrace previous non-comment lines
@@ -395,9 +412,9 @@ function GetVHDLindent()
" ****************************************************************************************
" indent: maintain indent of previous opening statement
- " keywords: without "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
+ " keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
" where: start of current line
- if curs =~? '^\s*\%(\<\%(generic\|map\|port\)\>.*\)\@<!\S\+\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
+ if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
return ind2
endif
diff --git a/runtime/plugin/netrwPlugin.vim b/runtime/plugin/netrwPlugin.vim
index e6a3c8490..07da60863 100644
--- a/runtime/plugin/netrwPlugin.vim
+++ b/runtime/plugin/netrwPlugin.vim
@@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
-" Date: Feb 10, 2011
+" Date: Aug 24, 2011
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
-let g:loaded_netrwPlugin = "v142"
+let g:loaded_netrwPlugin = "v143"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish
@@ -47,20 +47,15 @@ augroup END
" Network Browsing Reading Writing: {{{2
augroup Network
au!
- if has("win32") || has("win95") || has("win64") || has("win16")
- au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
- else
- au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
- au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','')
- endif
- au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
- au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
- au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
- au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
+ au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
+ au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
+ au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
+ au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau BufWritePost ".fnameescape(expand("<amatch>"))
+ au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "silent doau FileWritePost ".fnameescape(expand("<amatch>"))
try
- au SourceCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
+ au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
- au SourcePre ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
+ au SourcePre ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
endtry
augroup END
diff --git a/runtime/plugin/vimballPlugin.vim b/runtime/plugin/vimballPlugin.vim
index cb2b14732..bdfca0105 100644
--- a/runtime/plugin/vimballPlugin.vim
+++ b/runtime/plugin/vimballPlugin.vim
@@ -16,7 +16,7 @@
if &cp || exists("g:loaded_vimballPlugin")
finish
endif
-let g:loaded_vimballPlugin = "v33"
+let g:loaded_vimballPlugin = "v34"
let s:keepcpo = &cpo
set cpo&vim
diff --git a/runtime/syntax/gitolite.vim b/runtime/syntax/gitolite.vim
new file mode 100644
index 000000000..7d93c967e
--- /dev/null
+++ b/runtime/syntax/gitolite.vim
@@ -0,0 +1,80 @@
+" Vim syntax file
+" Language: gitolite configuration
+" URL: https://github.com/tmatilai/gitolite.vim
+" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
+" Last Change: 2011-10-05
+
+if exists("b:current_syntax")
+ finish
+endif
+
+" Comment
+syn match gitoliteComment "\(^\|\s\)#.*" contains=gitoliteTodo
+syn keyword gitoliteTodo TODO FIXME XXX NOT contained
+
+" Groups, users and repos
+syn match gitoliteGroupDef "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep
+syn match gitoliteGroupDefSep "\s*=" contained nextgroup=gitoliteRepoLine
+syn match gitoliteRepoDef "^\s*repo\s" nextgroup=gitoliteRepoLine
+
+syn match gitoliteRepoLine ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
+syn match gitoliteUserLine ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
+
+syn match gitoliteWildRepo "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{}][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
+syn match gitoliteGroup "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
+
+syn keyword gitoliteCreator CREATER CREATOR contained
+syn keyword gitolitePreProc CREATER CREATOR READERS WRITERS contained
+
+syn match gitoliteExtCmdHelper "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd
+syn match gitoliteExtCmd "rsync\(\s\|$\)" contained
+
+" Illegal characters
+syn match gitoliteRepoError "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{}-]\+" contained
+syn match gitoliteUserError "[^ \t0-9a-zA-Z._@+-]\+" contained
+syn match gitoliteSpaceError "\s\+" contained
+
+" Permission
+syn match gitoliteKeyword "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex
+syn match gitoliteKeyword "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex
+syn match gitoliteRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine
+syn match gitoliteDenyRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers
+syn match gitoliteSpecialRefex "\sNAME/"he=e-1 contained
+syn match gitoliteSpecialRefex "/USER/"hs=s+1,he=e-1 contained
+syn match gitoliteDenyUsers ".*" contained contains=gitoliteUserError,gitoliteComment
+
+" Configuration
+syn match gitoliteKeyword "^\s*config\s\+" nextgroup=gitoliteConfVariable
+syn match gitoliteConfVariable "[^=]*" contained
+
+" Include
+syn match gitoliteInclude "^\s*\(include\|subconf\)\s"
+
+" String
+syn region gitoliteString start=+"+ end=+"+ oneline
+
+" Define the default highlighting
+hi def link gitoliteComment Comment
+hi def link gitoliteTodo Todo
+hi def link gitoliteGroupDef gitoliteGroup
+hi def link gitoliteGroup Identifier
+hi def link gitoliteWildRepo Special
+hi def link gitoliteRepoError gitoliteError
+hi def link gitoliteUserError gitoliteError
+hi def link gitoliteSpaceError gitoliteError
+hi def link gitoliteError Error
+hi def link gitoliteCreator gitolitePreProc
+hi def link gitolitePreProc PreProc
+hi def link gitoliteExtCmdHelper PreProc
+hi def link gitoliteExtCmd Special
+hi def link gitoliteRepoDef Type
+hi def link gitoliteKeyword Keyword
+hi def link gitoliteRefex String
+hi def link gitoliteDenyRefex gitoliteRefex
+hi def link gitoliteSpecialRefex PreProc
+hi def link gitoliteDenyUsers WarningMsg
+hi def link gitoliteConfVariable Identifier
+hi def link gitoliteInclude Include
+hi def link gitoliteString String
+
+let b:current_syntax = "gitolite"
diff --git a/runtime/syntax/netrw.vim b/runtime/syntax/netrw.vim
index 59c65d79a..d4d266c39 100644
--- a/runtime/syntax/netrw.vim
+++ b/runtime/syntax/netrw.vim
@@ -22,7 +22,7 @@ syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
-syn match netrwExe "\%(\S\+ \)*\S\+\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
+syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
syn match netrwTreeBarSpace " " contained
@@ -63,7 +63,7 @@ if exists("g:netrw_special_syntax") && netrw_special_syntax
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
- syn match netrwTilde "\(\S\+ \)*\S\+\~\>" contains=netrwTreeBar,@NoSpell
+ syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
syn match netrwTmp "\<tmp\(\S\+ \)*\S\+\>\|\(\S\+ \)*\S*tmp\>" contains=netrwTreeBar,@NoSpell
endif
diff --git a/runtime/syntax/php.vim b/runtime/syntax/php.vim
index 2c49c64dd..956197d14 100644
--- a/runtime/syntax/php.vim
+++ b/runtime/syntax/php.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: php PHP 3/4/5
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
-" Last Change: July 29, 2011
+" Last Change: Oct 20, 2011
" URL: https://gitorious.org/jasonwoof/vim-syntax/blobs/master/php.vim
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
@@ -110,6 +110,10 @@ if exists( "php_htmlInStrings")
syn cluster phpAddStrings add=@htmlTop
endif
+" make sure we can use \ at the begining of the line to do a continuation
+let s:cpo_save = &cpo
+set cpo&vim
+
syn case match
" Env Variables
@@ -691,4 +695,8 @@ if main_syntax == 'php'
unlet main_syntax
endif
+" put cpoptions back the way we found it
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
" vim: ts=8 sts=2 sw=2 expandtab
diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim
index 9120d756b..0c07861d9 100644
--- a/runtime/syntax/rhelp.vim
+++ b/runtime/syntax/rhelp.vim
@@ -2,7 +2,7 @@
" Language: R Help File
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
" Former Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: Sat Feb 19, 2011 02:13PM
+" Last Change: Fri Oct 14, 2011 09:54PM
" Version: 0.7.4
" SVN: $Id: rhelp.vim 90 2010-11-22 10:58:11Z ranke $
" Remarks: - Includes R syntax highlighting in the appropriate
@@ -192,9 +192,9 @@ syn match rhelpDelimiter "{\|\[\|(\|)\|\]\|}"
syn match rhelpComment /%.*$/
" Error {{{1
-syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpCurlyError
-syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ transparent contains=ALLBUT,rhelpError,rhelpBraceError,rhelpParenError
-syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ transparent contains=ALLBUT,rhelpError,rhelpCurlyError,rhelpParenError
+syn region rhelpRegion matchgroup=Delimiter start=/(/ matchgroup=Delimiter end=/)/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
+syn region rhelpRegion matchgroup=Delimiter start=/{/ matchgroup=Delimiter end=/}/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
+syn region rhelpRegion matchgroup=Delimiter start=/\[/ matchgroup=Delimiter end=/]/ contains=@Spell,rhelpCodeSpecial,rhelpComment,rhelpDelimiter,rhelpDots,rhelpFreesec,rhelpFreesubsec,rhelpIdentifier,rhelpKeyword,rhelpLink,rhelpPreProc,rhelpRComment,rhelpRcode,rhelpRegion,rhelpS4method,rhelpSection,rhelpSexpr,rhelpSpecialChar,rhelpString,rhelpType,rhelpVerbatim
syn match rhelpError /[)\]}]/
syn match rhelpBraceError /[)}]/ contained
syn match rhelpCurlyError /[)\]]/ contained
diff --git a/runtime/syntax/sqr.vim b/runtime/syntax/sqr.vim
index 874944779..8c9e7b49e 100644
--- a/runtime/syntax/sqr.vim
+++ b/runtime/syntax/sqr.vim
@@ -43,11 +43,11 @@ syn keyword sqrSection begin-program begin-report begin-setup
syn keyword sqrSection end-footing end-heading end-procedure
syn keyword sqrSection end-program end-report end-setup
-syn keyword sqrParagraph alter-color-map alter-conection
+syn keyword sqrParagraph alter-color-map alter-connection
syn keyword sqrParagraph alter-locale alter-printer alter-report
syn keyword sqrParagraph begin-document begin-execute begin-select
syn keyword sqrParagraph begin-sql declare-chart declare-image
-syn keyword sqrParagraph declare-color-map declare-conection
+syn keyword sqrParagraph declare-color-map declare-connection
syn keyword sqrParagraph declare-layout declare-printer
syn keyword sqrParagraph declare-report declare-procedure
syn keyword sqrParagraph declare-toc declare-variable end-declare
@@ -224,16 +224,16 @@ if version >= 600
" See also the sqrString section above for handling of ! characters
" inside of strings. (Those patterns override the ones below.)
syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo
- " the ! can't be preceeded by another !,
+ " the ! can't be preceded by another !,
" and must be followed by at least one
" character other than ! or =, or immediately
" by the end-of-line
syn match sqrComment /^!=.*/ contains=sqrTodo
syn match sqrComment /^!!.*/ contains=sqrTodo
syn match sqrError /^\s\+\zs!=.*/
- " it's an error to have "!=" preceeded by
+ " it's an error to have "!=" preceded by
" just whitespace on the line ("!="
- " preceeded by non-whitespace is treated
+ " preceded by non-whitespace is treated
" as neither a comment nor an error, since
" it is often correct, i.e.
" if #count != 7
@@ -259,7 +259,7 @@ endif
" Define the default highlighting.
" For version 5.7 and earlier, only when not done already.
-" For version 5.8 and later, only when an item doesn;t have hightlighting yet.
+" For version 5.8 and later, only when an item doesn't have highlighting yet.
if version >= 508 || !exists("did_sqr_syn_inits")
if version < 508
let did_sqr_syn_inits = 1
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index b8756a88f..a2b98251b 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change: Aug 22, 2011
-" Version: 68
+" Last Change: Oct 12, 2011
+" Version: 69
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Notes: {{{1
@@ -37,6 +37,8 @@ if version < 600
elseif exists("b:current_syntax")
finish
endif
+let s:keepcpo= &cpo
+set cpo&vim
scriptencoding utf-8
" Define the default highlighting. {{{1
@@ -1217,7 +1219,9 @@ if did_tex_syntax_inits == 1
delcommand HiLink
endif
-" Current Syntax: {{{1
+" Cleanup: {{{1
unlet s:extfname
let b:current_syntax = "tex"
+let &cpo = s:keepcpo
+unlet s:keepcpo
" vim: ts=8 fdm=marker
diff --git a/src/po/de.po b/src/po/de.po
index e0c40333a..1a61bffe8 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -1700,7 +1700,7 @@ msgid ""
"&Load File"
msgstr ""
"&OK\n"
-"&Lese Datei"
+"&Lies Datei"
#, c-format
msgid "E462: Could not prepare for reloading \"%s\""