summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-04-27 00:02:13 +0000
committerBram Moolenaar <Bram@vim.org>2006-04-27 00:02:13 +0000
commitf193fffd16563cfbe7c02a21e19c8bb11707581d (patch)
tree4bae3092421aa986103b8000b1012989a9ea49e6 /runtime
parent551dbcc9b604c2992f908fb475e797fcc116315b (diff)
updated for version 7.0f02v7.0f02
Diffstat (limited to 'runtime')
-rw-r--r--runtime/autoload/htmlcomplete.vim120
-rw-r--r--runtime/autoload/netrw.vim8
-rw-r--r--runtime/autoload/sqlcomplete.vim111
-rw-r--r--runtime/autoload/vimball.vim153
-rw-r--r--runtime/autoload/xml/html32.vim14
-rw-r--r--runtime/autoload/xml/html401f.vim22
-rw-r--r--runtime/autoload/xml/html401s.vim20
-rw-r--r--runtime/autoload/xml/html401t.vim20
-rw-r--r--runtime/autoload/xml/html40f.vim30
-rw-r--r--runtime/autoload/xml/html40s.vim20
-rw-r--r--runtime/autoload/xml/html40t.vim20
-rw-r--r--runtime/autoload/xml/xhtml10f.vim2
-rw-r--r--runtime/autoload/xml/xhtml10s.vim2
-rw-r--r--runtime/autoload/xml/xhtml10t.vim2
-rw-r--r--runtime/autoload/xml/xhtml11.vim2
-rw-r--r--runtime/doc/eval.txt5
-rw-r--r--runtime/doc/insert.txt5
-rw-r--r--runtime/doc/options.txt16
-rw-r--r--runtime/doc/pi_netrw.txt7
-rw-r--r--runtime/doc/sql.txt26
-rw-r--r--runtime/doc/syntax.txt35
-rw-r--r--runtime/doc/tabpage.txt5
-rw-r--r--runtime/doc/tags5
-rw-r--r--runtime/doc/todo.txt13
-rw-r--r--runtime/doc/version7.txt48
-rw-r--r--runtime/ftplugin/debchangelog.vim52
-rw-r--r--runtime/ftplugin/html.vim11
-rw-r--r--runtime/ftplugin/sql.vim51
-rw-r--r--runtime/indent/make.vim151
-rw-r--r--runtime/plugin/vimballPlugin.vim5
-rw-r--r--runtime/syntax/baan.vim1855
-rw-r--r--runtime/syntax/smcl.vim10
-rw-r--r--runtime/syntax/stata.vim18
-rw-r--r--runtime/syntax/vim.vim8
34 files changed, 2533 insertions, 339 deletions
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 79eb9a631d..2170e21a90 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -127,8 +127,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
let res2 = []
" a:base is very short - we need context
let context = b:compl_context
- let g:ab = a:base
- let g:co = context
" Check if we should do CSS completion inside of <style> tag
" or JS completion inside of <script> tag or PHP completion in case of <?
" tag AND &ft==php
@@ -155,6 +153,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
if exists("b:entitiescompl")
unlet! b:entitiescompl
+ if !exists("b:html_doctype")
+ call htmlcomplete#CheckDoctype()
+ endif
if !exists("b:html_omni")
"runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData()
@@ -500,7 +501,10 @@ function! htmlcomplete#CompleteTags(findstart, base)
let sbase = matchstr(context, '.*\ze\s.*')
" Load data {{{
- if !exists("b:html_omni_gen")
+ if !exists("b:html_doctype")
+ call htmlcomplete#CheckDoctype()
+ endif
+ if !exists("b:html_omni")
call htmlcomplete#LoadData()
endif
" }}}
@@ -526,18 +530,31 @@ function! htmlcomplete#CompleteTags(findstart, base)
if has_key(b:html_omni['vimxmlattrinfo'], item)
let m_menu = b:html_omni['vimxmlattrinfo'][item][0]
let m_info = b:html_omni['vimxmlattrinfo'][item][1]
- if m_menu !~ 'Bool'
- let item .= '="'
- endif
else
let m_menu = ''
let m_info = ''
+ endif
+ if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
+ let item = item
+ let m_menu = 'Bool'
+ else
let item .= '="'
endif
let final_menu += [{'word':item, 'menu':m_menu, 'info':m_info}]
endfor
else
- let final_menu = map(menu, 'v:val."=\""')
+ let final_menu = []
+ for i in range(len(menu))
+ let item = menu[i]
+ if len(b:html_omni[tag][1][item]) > 0 && b:html_omni[tag][1][item][0] =~ '^\(BOOL\|'.item.'\)$'
+ let item = item
+ else
+ let item .= '="'
+ endif
+ let final_menu += [item]
+ endfor
+ return final_menu
+
endif
return final_menu
@@ -555,6 +572,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
" }}}
" Load data {{{
+ if !exists("b:html_doctype")
+ call htmlcomplete#CheckDoctype()
+ endif
if !exists("b:html_omni")
"runtime! autoload/xml/xhtml10s.vim
call htmlcomplete#LoadData()
@@ -585,7 +605,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let context = tolower(context)
endif
" Handle XML keywords: DOCTYPE and CDATA.
- if opentag == '' || opentag ==? 'head'
+ if opentag == ''
let tags += [
\ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">',
\ '!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">',
@@ -610,7 +630,6 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
endfor
let menu = res + res2
- let g:me = menu
if has_key(b:html_omni, 'vimxmltaginfo')
let final_menu = []
for i in range(len(menu))
@@ -656,23 +675,82 @@ function! htmlcomplete#LoadData() " {{{
exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
else
exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
+ exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
endif
- " This repetition is necessary because we don't know if
- " b:html_omni_flavor file exists and was sourced
- " Proper checking for files would require iterating through 'rtp'
- " and could introduce OS dependent mess.
- if !exists("g:xmldata_".b:html_omni_flavor)
- if &filetype == 'html'
+endfunction
+" }}}
+function! htmlcomplete#CheckDoctype() " {{{
+ if exists('b:html_omni_flavor')
+ let old_flavor = b:html_omni_flavor
+ else
+ let old_flavor = ''
+ endif
+ let i = 1
+ while i < 10 && i < line("$")
+ let line = getline(i)
+ if line =~ '<!DOCTYPE.*\<DTD HTML 3\.2'
+ let b:html_omni_flavor = 'html32'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0 Transitional'
+ let b:html_omni_flavor = 'html40t'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0 Frameset'
+ let b:html_omni_flavor = 'html40f'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.0'
+ let b:html_omni_flavor = 'html40s'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01 Transitional'
let b:html_omni_flavor = 'html401t'
- else
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01 Frameset'
+ let b:html_omni_flavor = 'html401f'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD HTML 4\.01'
+ let b:html_omni_flavor = 'html401s'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Transitional'
+ let b:html_omni_flavor = 'xhtml10t'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Frameset'
+ let b:html_omni_flavor = 'xhtml10f'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.0 Strict'
let b:html_omni_flavor = 'xhtml10s'
+ let b:html_doctype = 1
+ break
+ elseif line =~ '<!DOCTYPE.*\<DTD XHTML 1\.1'
+ let b:html_omni_flavor = 'xhtml11'
+ let b:html_doctype = 1
+ break
endif
- endif
- if exists('g:xmldata_'.b:html_omni_flavor)
- exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
+ let i += 1
+ endwhile
+ if !exists("b:html_doctype")
+ return
else
- exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
- exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
+ " Tie g:xmldata with b:html_omni this way we need to sourca data file only
+ " once, not every time per buffer.
+ if old_flavor == b:html_omni_flavor
+ return
+ else
+ if exists('g:xmldata_'.b:html_omni_flavor)
+ exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
+ else
+ exe 'runtime! autoload/xml/'.b:html_omni_flavor.'.vim'
+ exe 'let b:html_omni = g:xmldata_'.b:html_omni_flavor
+ endif
+ return
+ endif
endif
endfunction
" }}}
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 13081c8a78..bd581b6bd9 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 24, 2006
-" Version: 93
+" Date: Apr 26, 2006
+" Version: 94
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v93"
+let g:loaded_netrw = "v94"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
@@ -142,7 +142,7 @@ if !exists("g:netrw_list_cmd")
" provide a default listing command
let g:netrw_list_cmd= g:netrw_ssh_cmd." HOSTNAME ls -FLa"
else
-" call Decho(g:netrw_ssh_cmd." is not executable, can't do remote directory exploring)
+" call Decho(g:netrw_ssh_cmd." is not executable, can't do remote directory exploring")
let g:netrw_list_cmd= ""
endif
endif
diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim
index ec158f6832..146cf2133b 100644
--- a/runtime/autoload/sqlcomplete.vim
+++ b/runtime/autoload/sqlcomplete.vim
@@ -1,8 +1,12 @@
-" Vim completion script
+" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com>
-" Version: 3.0
-" Last Change: Thu Apr 20 2006 8:47:12 PM
+" Version: 4.0
+" Last Change: Wed Apr 26 2006 3:00:06 PM
+" Usage: For detailed help
+" ":help sql.txt"
+" or ":help ft-sql-omni"
+" or read $VIMRUNTIME/doc/sql.txt
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
@@ -18,7 +22,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
-let g:loaded_sql_completion = 30
+let g:loaded_sql_completion = 40
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -93,9 +97,14 @@ function! sqlcomplete#Complete(findstart, base)
" be replaced by whatever is chosen from the completion list
if a:findstart
" Locate the start of the item, including "."
- let line = getline('.')
- let start = col('.') - 1
+ let line = getline('.')
+ let start = col('.') - 1
let lastword = -1
+ let begindot = 0
+ " Check if the first character is a ".", for column completion
+ if line[start - 1] == '.'
+ let begindot = 1
+ endif
while start > 0
if line[start - 1] =~ '\w'
let start -= 1
@@ -104,18 +113,19 @@ function! sqlcomplete#Complete(findstart, base)
" If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup
" a table name if it was also supplied.
- if lastword != -1 && compl_type =~ 'column'
+ if lastword != -1 && compl_type == 'column'
break
endif
- " Assume we are looking for column completion
- " column_type can be either 'column' or 'column_csv'
- if lastword == -1 && compl_type =~ 'column'
+ " If column completion was specified stop at the "." if
+ " a . was specified, otherwise, replace all the way up
+ " to the owner name (if included).
+ if lastword == -1 && compl_type == 'column' && begindot == 1
let lastword = start
endif
" If omni_sql_include_owner = 0, do not include the table
" name as part of the substitution, so break here
if lastword == -1 &&
- \ compl_type =~ 'table\|view\|procedure' &&
+ \ compl_type =~ 'table\|view\|procedure\column_csv' &&
\ g:omni_sql_include_owner == 0
let lastword = start
break
@@ -234,6 +244,11 @@ function! sqlcomplete#Complete(findstart, base)
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
+
+ let msg = "All SQL cached items have been removed."
+ call s:SQLCWarningMsg(msg)
+ " Leave time for the user to read the error message
+ :sleep 2
else
let compl_list = s:SQLCGetSyntaxList(compl_type)
endif
@@ -252,18 +267,6 @@ function! sqlcomplete#Complete(findstart, base)
return compl_list
endfunc
-function! s:SQLCWarningMsg(msg)
- echohl WarningMsg
- echomsg a:msg
- echohl None
-endfunction
-
-function! s:SQLCErrorMsg(msg)
- echohl ErrorMsg
- echomsg a:msg
- echohl None
-endfunction
-
function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = []
if a:0 > 0
@@ -294,6 +297,51 @@ function! sqlcomplete#Map(type)
let &omnifunc='sqlcomplete#Complete'
endfunction
+function! sqlcomplete#DrillIntoTable()
+ " If the omni popup window is visible
+ if pumvisible()
+ call sqlcomplete#Map('column')
+ " C-Y, makes the currently highlighted entry active
+ " and trigger the omni popup to be redisplayed
+ call feedkeys("\<C-Y>\<C-X>\<C-O>")
+ else
+ if has('win32')
+ " If the popup is not visible, simple perform the normal
+ " <C-Right> behaviour
+ exec "normal! \<C-Right>"
+ endif
+ endif
+ return ""
+endfunction
+
+function! sqlcomplete#DrillOutOfColumns()
+ " If the omni popup window is visible
+ if pumvisible()
+ call sqlcomplete#Map('tableReset')
+ " Trigger the omni popup to be redisplayed
+ call feedkeys("\<C-X>\<C-O>")
+ else
+ if has('win32')
+ " If the popup is not visible, simple perform the normal
+ " <C-Left> behaviour
+ exec "normal! \<C-Left>"
+ endif
+ endif
+ return ""
+endfunction
+
+function! s:SQLCWarningMsg(msg)
+ echohl WarningMsg
+ echomsg a:msg
+ echohl None
+endfunction
+
+function! s:SQLCErrorMsg(msg)
+ echohl ErrorMsg
+ echomsg a:msg
+ echohl None
+endfunction
+
function! s:SQLCGetSyntaxList(syn_group)
let syn_group = a:syn_group
let compl_list = []
@@ -347,7 +395,8 @@ function! s:SQLCCheck4dbext()
endfunction
function! s:SQLCAddAlias(table_name, table_alias, cols)
- let table_name = a:table_name
+ " Strip off the owner if included
+ let table_name = matchstr(a:table_name, '\%(.\{-}\.\)\?\zs\(.*\)' )
let table_alias = a:table_alias
let cols = a:cols
@@ -373,7 +422,7 @@ function! s:SQLCAddAlias(table_name, table_alias, cols)
" Restore original value
let &iskeyword = save_keyword
elseif table_name =~ '\u\U'
- let initials = substitute(
+ let table_alias = substitute(
\ table_name, '\(\u\)\U*', '\1', 'g')
else
let table_alias = strpart(table_name, 0, 1)
@@ -397,6 +446,7 @@ endfunction
function! s:SQLCGetColumns(table_name, list_type)
let table_name = matchstr(a:table_name, '^\w\+')
+ let table_name = matchstr(a:table_name, '^[a-zA-Z0-9_.]\+')
let table_cols = []
let table_alias = ''
let move_to_top = 1
@@ -480,7 +530,9 @@ function! s:SQLCGetColumns(table_name, list_type)
\ 'from.\{-}'.
\ '\zs\(\(\<\w\+\>\)\.\)\?'.
\ '\<\w\+\>\ze'.
- \ '\s\+\%(as\s\+\)\?\<'.table_name.'\>'.
+ \ '\s\+\%(as\s\+\)\?\<'.
+ \ matchstr(table_name, '.\{-}\ze\.\?$').
+ \ '\>'.
\ '\s*\.\@!.*'.
\ '\(\<where\>\|$\)'.
\ '.*'
@@ -544,9 +596,12 @@ function! s:SQLCGetColumns(table_name, list_type)
exec 'DBSetOption use_tbl_alias='.saveSettingAlias
endif
+ " If the user has asked for a comma separate list of column
+ " values, ask the user if they want to prepend each column
+ " with a tablename alias.
if a:list_type == 'csv' && !empty(table_cols)
- let cols = join(table_cols, ', ')
- let cols = s:SQLCAddAlias(table_name, table_alias, cols)
+ let cols = join(table_cols, ', ')
+ let cols = s:SQLCAddAlias(table_name, table_alias, cols)
let table_cols = [cols]
endif
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 61d5fa662a..b5f924cc57 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
" vimball : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Apr 25, 2006
-" Version: 8
+" Date: Apr 26, 2006
+" Version: 9
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball")
finish
endif
let s:keepcpo = &cpo
-let g:loaded_vimball = "v8"
+let g:loaded_vimball = "v9"
set cpo&vim
" =====================================================================
@@ -40,12 +40,25 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
endif
" user option bypass
- let eikeep= &ei
- set ei=all
+ let eikeep = &ei
+ let acdkeep = &acd
+ set ei=all noacd
- let home = substitute(&rtp,',.*$','','')
+ " go to vim plugin home
+ for home in split(&rtp,',') + ['']
+ if isdirectory(home) | break | endif
+ endfor
+ if home == ""
+ let home= substitute(&rtp,',.*$','','')
+ endif
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ let home= substitute(home,'/','\\','ge')
+ endif
+" call Decho("home<".home.">")
+
+ " save current directory
let curdir = getcwd()
- exe "cd ".home
+ call s:ChgDir(home)
" record current tab, initialize while loop index
let curtabnr = tabpagenr()
@@ -58,8 +71,9 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
if !filereadable(svfile)
echohl Error | echo "unable to read file<".svfile.">" | echohl None
- let &ei= eikeep
- exe "cd ".curdir
+ call s:ChgDir(curdir)
+ let &ei = eikeep
+ let &acd = acdkeep
" call Dret("MkVimball")
return
endif
@@ -82,7 +96,12 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
endif
call setline(lastline ,svfile)
call setline(lastline+1,0)
- exe "$r ".svfile
+
+ " write the file from the tab
+ let svfilepath= s:Path(svfile,'')
+" call Decho("exe $r ".svfilepath)
+ exe "$r ".svfilepath
+
call setline(lastline+1,line("$") - lastline - 1)
" call Decho("lastline=".lastline." line$=".line("$"))
@@ -93,11 +112,15 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
" write the vimball
exe "tabn ".vbtabnr
- exe "cd ".curdir
+ call s:ChgDir(curdir)
if a:writelevel
- exe "w! ".vbname
+ let vbnamepath= s:Path(vbname,'')
+" call Decho("exe w! ".vbnamepath)
+ exe "w! ".vbnamepath
else
- exe "w ".vbname
+ let vbnamepath= s:Path(vbname,'')
+" call Decho("exe w ".vbnamepath)
+ exe "w ".vbnamepath
endif
" call Decho("Vimball<".vbname."> created")
echo "Vimball<".vbname."> created"
@@ -108,7 +131,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
exe "tabc ".vbtabnr
" restore options
- let &ei= eikeep
+ let &ei = eikeep
+ let &acd = acdkeep
" call Dret("MkVimball")
endfun
@@ -125,13 +149,14 @@ fun! vimball#Vimball(really)
endif
" initialize
+ let acdkeep = &acd
let fenkeep = &fen
let regakeep = @a
let eikeep = &ei
let vekeep = &ve
let makeep = getpos("'a")
let curtabnr = tabpagenr()
- set ei=all ve=all nofen
+ set ei=all ve=all nofen noacd
" set up vimball tab
tabnew
@@ -140,10 +165,21 @@ fun! vimball#Vimball(really)
let didhelp= ""
" go to vim plugin home
- let home = substitute(&rtp,',.*$','','')
+ for home in split(&rtp,',') + ['']
+ if isdirectory(home) | break | endif
+ endfor
+ if home == ""
+ let home= substitute(&rtp,',.*$','','')
+ endif
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ let home= substitute(home,'/','\\','ge')
+ endif
+" call Decho("home<".home.">")
+
+ " save current directory
let curdir = getcwd()
-" call Decho("exe cd ".home)
- exe "cd ".home
+ call s:ChgDir(home)
+
let linenr = 4
let filecnt = 0
@@ -174,35 +210,36 @@ fun! vimball#Vimball(really)
" call Decho("making directories if they don't exist yet")
let fnamebuf= fname
while fnamebuf =~ '/'
- let dirname = substitute(fnamebuf,'/.*$','','e')
+ let dirname = home."/".substitute(fnamebuf,'/.*$','','e')
let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','e')
if !isdirectory(dirname)
" call Decho("making <".dirname.">")
call mkdir(dirname)
endif
- exe "cd ".dirname
endwhile
- exe "cd ".home
+ call s:ChgDir(home)
" grab specified qty of lines and place into "a" buffer
" (skip over path/filename and qty-lines)
let linenr = linenr + 2
let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a")
- exe linenr.",".lastline."yank a"
+ exe "silent ".linenr.",".lastline."yank a"
" copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr
silent! %d
- put a
+ silent put a
1
- d
+ silent d
" write tab to file
if a:really
-" call Decho("exe w! ".fname)
- exe "silent w! ".fname
+ let fnamepath= s:Path(home."/".fname,'')
+" call Decho("exe w! ".fnamepath)
+ exe "silent w! ".fnamepath
+ echo "wrote ".fnamepath
endif
" return to tab with vimball
@@ -225,9 +262,10 @@ fun! vimball#Vimball(really)
" set up help
" call Decho("about to set up help: didhelp<".didhelp.">")
if didhelp != ""
-" call Decho("exe helptags ".home."/".didhelp)
- exe "helptags ".home."/".didhelp
- echomsg "did helptags"
+ let htpath= escape(substitute(s:Path(home."/".didhelp,'"'),'"','','ge'),' ')
+" call Decho("exe helptags ".htpath)
+ exe "helptags ".htpath
+ echo "did helptags"
endif
" make sure a "Press ENTER..." prompt appears to keep the messages showing!
@@ -244,13 +282,14 @@ fun! vimball#Vimball(really)
let &ei = eikeep
let @a = regakeep
let &fen = fenkeep
+ let &acd = acdkeep
if makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",makeep)
ka
endif
- exe "cd ".curdir
+ call s:ChgDir(curdir)
" call Dret("Vimball")
endfun
@@ -264,23 +303,65 @@ fun! vimball#Decompress(fname)
if expand("%") =~ '.*\.gz' && executable("gunzip")
exe "!gunzip ".a:fname
let fname= substitute(a:fname,'\.gz$','','')
- exe "e ".fname
- echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+ exe "e ".escape(fname,' \')
+ call vimball#ShowMesg("Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
exe "!bunzip2 ".a:fname
let fname= substitute(a:fname,'\.bz2$','','')
- exe "e ".fname
- echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+ exe "e ".escape(fname,' \')
+ call vimball#ShowMesg("Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.zip' && executable("unzip")
exe "!unzip ".a:fname
let fname= substitute(a:fname,'\.zip$','','')
- exe "e ".fname
- echohl WarningMsg | echo "Source this file to extract it! (:so ".fname.")" | echohl None
+ exe "e ".escape(fname,' \')
+ call vimball#ShowMesg("Source this file to extract it! (:so %)")
endif
" call Dret("Decompress")
endfun
+" ---------------------------------------------------------------------
+" ChgDir: change directory (in spite of Windoze) {{{2
+fun! s:ChgDir(newdir)
+" call Dfunc("ChgDir(newdir<".a:newdir.">)")
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ exe 'silent cd '.escape(substitute(a:newdir,'/','\\','g'),' ')
+ else
+ exe 'silent cd '.escape(a:newdir,' ')
+ endif
+" call Dret("ChgDir")
+endfun
+
+" ---------------------------------------------------------------------
+" Path: {{{2
+fun! s:Path(cmd,quote)
+" call Dfunc("Path(cmd<".a:cmd."> quote<".a:quote.">)")
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ let cmdpath= a:quote.substitute(a:cmd,'/','\\','ge').a:quote
+ else
+ let cmdpath= a:quote.a:cmd.a:quote
+ endif
+ if a:quote == ""
+ let cmdpath= escape(cmdpath,' ')
+ endif
+" call Dret("Path <".cmdpath.">")
+ return cmdpath
+endfun
+
+" ---------------------------------------------------------------------
+" vimball#ShowMesg: {{{2
+fun! vimball#ShowMesg(msg)
+" call Dfunc("vimball#ShowMesg(msg<".a:msg.">)")
+ let ich= 1
+ echohl WarningMsg | echo a:msg | echohl None
+ while ich < &ch
+ echo " "
+ let ich= ich + 1
+ endwhile
+" call Dret("vimball#ShowMesg")
+endfun
+
+" ---------------------------------------------------------------------
let &cpo= s:keepcpo
unlet s:keepcpo
" =====================================================================
diff --git a/runtime/autoload/xml/html32.vim b/runtime/autoload/xml/html32.vim
index e975bad936..9b971d6faa 100644
--- a/runtime/autoload/xml/html32.vim
+++ b/runtime/autoload/xml/html32.vim
@@ -2,7 +2,7 @@ let g:xmldata_html32 = {
\ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Aring', 'Atilde', 'Auml', 'Ccedil', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Euml', 'Iacute', 'Icirc', 'Igrave', 'Iuml', 'Ntilde', 'Oacute', 'Ocirc', 'Ograve', 'Oslash', 'Otilde', 'Ouml', 'THORN', 'Uacute', 'Ucirc', 'Ugrave', 'Uuml', 'Yacute', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'amp', 'aring', 'atilde', 'auml', 'brvbar', 'ccedil', 'cedil', 'cent', 'copy', 'curren', 'deg', 'divide', 'eacute', 'ecirc', 'egrave', 'eth', 'euml', 'frac12', 'frac14', 'frac34', 'gt', 'iacute', 'icirc', 'iexcl', 'igrave', 'iquest', 'iuml', 'laquo', 'lt', 'macr', 'micro', 'middot', 'nbsp', 'not', 'ntilde', 'oacute', 'ocirc', 'ograve', 'ordf', 'ordm', 'oslash', 'otilde', 'ouml', 'para', 'plusmn', 'pound', 'raquo', 'reg', 'sect', 'shy', 'sup1', 'sup2', 'sup3', 'szlig', 'thorn', 'times', 'uacute', 'ucirc', 'ugrave', 'uml', 'uuml', 'yacute', 'yen', 'yuml'],
\ 'vimxmlroot': ['html'],
\ 'a': [
-\ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
+\ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
\ { 'rel': [], 'href': [], 'name': [], 'rev': [], 'title': []}
\ ],
\ 'address': [
@@ -94,7 +94,7 @@ let g:xmldata_html32 = {
\ { 'size': [], 'color': []}
\ ],
\ 'form': [
-\ ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea', 'p', 'ul', 'ol', 'dir', 'menu', 'pre', 'xmp', 'listing', 'dl', 'div', 'center', 'blockquote', 'form', 'isindex', 'hr', 'table', 'address'],
+\ ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea', 'p', 'ul', 'ol', 'dir', 'menu', 'pre', 'xmp', 'listing', 'dl', 'div', 'center', 'blockquote', 'isindex', 'hr', 'table', 'address'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'action': [], 'method': ['GET', 'POST']}
\ ],
\ 'h1': [
@@ -122,7 +122,7 @@ let g:xmldata_html32 = {
\ { 'align': ['left', 'center', 'right']}
\ ],
\ 'head': [
-\ ['title', 'isindex', 'base'],
+\ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link'],
\ { }
\ ],
\ 'hr': [
@@ -198,7 +198,7 @@ let g:xmldata_html32 = {
\ { }
\ ],
\ 'pre': [
-\ ['tt', 'i', 'b', 'u', 'strike', 'big', 'small', 'sub', 'sup', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'img', 'applet', 'font', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
+\ ['tt', 'i', 'b', 'u', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'a', 'applet', 'basefont', 'br', 'script', 'map', 'input', 'select', 'textarea'],
\ { 'width': ['#implied']}
\ ],
\ 'samp': [
@@ -206,7 +206,7 @@ let g:xmldata_html32 = {
\ { }
\ ],
\ 'script': [
-\ [''],
+\ [],
\ { }
\ ],