diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-04-27 00:02:13 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-04-27 00:02:13 +0000 |
commit | f193fffd16563cfbe7c02a21e19c8bb11707581d (patch) | |
tree | 4bae3092421aa986103b8000b1012989a9ea49e6 | |
parent | 551dbcc9b604c2992f908fb475e797fcc116315b (diff) | |
download | vim-git-f193fffd16563cfbe7c02a21e19c8bb11707581d.tar.gz |
updated for version 7.0f02v7.0f02
59 files changed, 3039 insertions, 653 deletions
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim index 79eb9a631..2170e21a9 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 13081c8a7..bd581b6bd 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 ec158f683..146cf2133 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 61d5fa662..b5f924cc5 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 e975bad93..9b971d6fa 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': [ -\ [''], +\ [], \ { } \ ], \ 'select': [ @@ -226,7 +226,7 @@ let g:xmldata_html32 = { \ { } \ ], \ 'style': [ -\ [''], +\ [], \ { } \ ], \ 'sub': [ @@ -314,7 +314,7 @@ let g:xmldata_html32 = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html401f.vim b/runtime/autoload/xml/html401f.vim index 6c8937c59..626126550 100644 --- a/runtime/autoload/xml/html401f.vim +++ b/runtime/autoload/xml/html401f.vim @@ -1,8 +1,8 @@ -let g:xmldata_html401f = { +let g:xmldata_html401t = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -50,7 +50,7 @@ let g:xmldata_html401f = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'], \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -58,7 +58,7 @@ let g:xmldata_html401f = { \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -126,7 +126,7 @@ let g:xmldata_html401f = { \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -154,7 +154,7 @@ let g:xmldata_html401f = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'head': [ -\ ['title', 'isindex', 'base'], +\ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ @@ -202,7 +202,7 @@ let g:xmldata_html401f = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -262,7 +262,7 @@ let g:xmldata_html401f = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -279,7 +279,7 @@ let g:xmldata_html401f = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -303,7 +303,7 @@ let g:xmldata_html401f = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], @@ -398,7 +398,7 @@ let g:xmldata_html401f = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html401s.vim b/runtime/autoload/xml/html401s.vim index 319f4b38f..8f7264864 100644 --- a/runtime/autoload/xml/html401s.vim +++ b/runtime/autoload/xml/html401s.vim @@ -2,7 +2,7 @@ let g:xmldata_html401s = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -42,7 +42,7 @@ let g:xmldata_html401s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script', 'ins', 'del'], \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -50,7 +50,7 @@ let g:xmldata_html401s = { \ { 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -106,7 +106,7 @@ let g:xmldata_html401s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'fieldset', 'address', 'script'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -134,7 +134,7 @@ let g:xmldata_html401s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'head': [ -\ ['title', 'base'], +\ ['title', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ @@ -166,7 +166,7 @@ let g:xmldata_html401s = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -218,7 +218,7 @@ let g:xmldata_html401s = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -231,7 +231,7 @@ let g:xmldata_html401s = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL']} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL']} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -251,7 +251,7 @@ let g:xmldata_html401s = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], @@ -342,7 +342,7 @@ let g:xmldata_html401s = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html401t.vim b/runtime/autoload/xml/html401t.vim index 1d1bf8b2c..4c53f03bc 100644 --- a/runtime/autoload/xml/html401t.vim +++ b/runtime/autoload/xml/html401t.vim @@ -2,7 +2,7 @@ let g:xmldata_html401t = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -50,7 +50,7 @@ let g:xmldata_html401t = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'], \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -58,7 +58,7 @@ let g:xmldata_html401t = { \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -126,7 +126,7 @@ let g:xmldata_html401t = { \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -154,7 +154,7 @@ let g:xmldata_html401t = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'head': [ -\ ['title', 'isindex', 'base'], +\ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ @@ -194,7 +194,7 @@ let g:xmldata_html401t = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -254,7 +254,7 @@ let g:xmldata_html401t = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -271,7 +271,7 @@ let g:xmldata_html401t = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -295,7 +295,7 @@ let g:xmldata_html401t = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], @@ -390,7 +390,7 @@ let g:xmldata_html401t = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html40f.vim b/runtime/autoload/xml/html40f.vim index 7c7bffefe..2b3ccacfb 100644 --- a/runtime/autoload/xml/html40f.vim +++ b/runtime/autoload/xml/html40f.vim @@ -1,8 +1,8 @@ -let g:xmldata_html40f = { +let g:xmldata_html40t = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -50,7 +50,7 @@ let g:xmldata_html40f = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'], \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -58,7 +58,7 @@ let g:xmldata_html40f = { \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -126,7 +126,7 @@ let g:xmldata_html40f = { \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -154,17 +154,13 @@ let g:xmldata_html40f = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'head': [ -\ ['title', 'isindex', 'base'], +\ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ \ [], \ { 'width': [], 'ondblclick': [], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'style': [], 'onmousemove': [], 'onmouseout': [], 'noshade': ['BOOL'], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], -\ 'i': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], -\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} -\ ], \ 'html': [ \ ['head', 'frameset'], \ { 'xmlns': ['http://www.w3.org/1999/xhtml'], 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'xml:lang': []} @@ -177,6 +173,10 @@ let g:xmldata_html40f = { \ [], \ { 'scrolling': ['auto', 'yes', 'no', 'auto'], 'noresize': ['BOOL'], 'marginwidth': [], 'id': [], 'marginheight': [], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'frameborder': ['1', '0'], 'title': [], 'class': []} \ ], +\ 'i': [ +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} +\ ], \ 'iframe': [ \ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'width': [], 'scrolling': ['auto', 'yes', 'no', 'auto'], 'marginwidth': [], 'id': [], 'marginheight': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'height': [], 'frameborder': ['1', '0'], 'title': [], 'class': []} @@ -202,7 +202,7 @@ let g:xmldata_html40f = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -262,7 +262,7 @@ let g:xmldata_html40f = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -279,7 +279,7 @@ let g:xmldata_html40f = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -303,7 +303,7 @@ let g:xmldata_html40f = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], @@ -398,7 +398,7 @@ let g:xmldata_html40f = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html40s.vim b/runtime/autoload/xml/html40s.vim index 8009ff192..7db45ecf2 100644 --- a/runtime/autoload/xml/html40s.vim +++ b/runtime/autoload/xml/html40s.vim @@ -2,7 +2,7 @@ let g:xmldata_html40s = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -42,7 +42,7 @@ let g:xmldata_html40s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script', 'ins', 'del'], \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -50,7 +50,7 @@ let g:xmldata_html40s = { \ { 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -106,7 +106,7 @@ let g:xmldata_html40s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'hr', 'table', 'fieldset', 'address', 'script'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -134,7 +134,7 @@ let g:xmldata_html40s = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'head': [ -\ ['title', 'base'], +\ ['title', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ @@ -166,7 +166,7 @@ let g:xmldata_html40s = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -218,7 +218,7 @@ let g:xmldata_html40s = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -231,7 +231,7 @@ let g:xmldata_html40s = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL']} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL']} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -251,7 +251,7 @@ let g:xmldata_html40s = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'], @@ -342,7 +342,7 @@ let g:xmldata_html40s = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/html40t.vim b/runtime/autoload/xml/html40t.vim index 79a270415..f53aa22df 100644 --- a/runtime/autoload/xml/html40t.vim +++ b/runtime/autoload/xml/html40t.vim @@ -2,7 +2,7 @@ let g:xmldata_html40t = { \ 'vimxmlentities': ['AElig', 'Aacute', 'Acirc', 'Agrave', 'Alpha', 'Aring', 'Atilde', 'Auml', 'Beta', 'Ccedil', 'Chi', 'Dagger', 'Delta', 'ETH', 'Eacute', 'Ecirc', 'Egrave', 'Epsilon', 'Eta', 'Euml', 'Gamma', 'Iacute', 'Icirc', 'Igrave', 'Iota', 'Iuml', 'Kappa', 'Lambda', 'Mu', 'Ntilde', 'Nu', 'OElig', 'Oacute', 'Ocirc', 'Ograve', 'Omega', 'Omicron', 'Oslash', 'Otilde', 'Ouml', 'Phi', 'Pi', 'Prime', 'Psi', 'Rho', 'Scaron', 'Sigma', 'THORN', 'Tau', 'Theta', 'Uacute', 'Ucirc', 'Ugrave', 'Upsilon', 'Uuml', 'Xi', 'Yacute', 'Yuml', 'Zeta', 'aacute', 'acirc', 'acute', 'aelig', 'agrave', 'alefsym', 'alpha', 'amp', 'and', 'ang', 'apos', 'aring', 'asymp', 'atilde', 'auml', 'bdquo', 'beta', 'brvbar', 'bull', 'cap', 'ccedil', 'cedil', 'cent', 'chi', 'circ', 'clubs', 'cong', 'copy', 'crarr', 'cup', 'curren', 'dArr', 'dagger', 'darr', 'deg', 'delta', 'diams', 'divide', 'eacute', 'ecirc', 'egrave', 'empty', 'emsp', 'ensp', 'epsilon', 'equiv', 'eta', 'eth', 'euml', 'euro', 'exist', 'fnof', 'forall', 'frac12', 'frac14', 'frac34', 'frasl', 'gamma', 'ge', 'gt', 'hArr', 'harr', 'hearts', 'hellip', 'iacute', 'icirc', 'iexcl', 'igrave', 'image', 'infin', 'int', 'iota', 'iquest', 'isin', 'iuml', 'kappa', 'lArr', 'lambda', 'lang', 'laquo', 'larr', 'lceil', 'ldquo', 'le', 'lfloor', 'lowast', 'loz', 'lrm', 'lsaquo', 'lsquo', 'lt', 'macr', 'mdash', 'micro', 'middot', 'minus', 'mu', 'nabla', 'nbsp', 'ndash', 'ne', 'ni', 'not', 'notin', 'nsub', 'ntilde', 'nu', 'oacute', 'ocirc', 'oelig', 'ograve', 'oline', 'omega', 'omicron', 'oplus', 'or', 'ordf', 'ordm', 'oslash', 'otilde', 'otimes', 'ouml', 'para', 'part', 'permil', 'perp', 'phi', 'pi', 'piv', 'plusmn', 'pound', 'prime', 'prod', 'prop', 'psi', 'quot', 'rArr', 'radic', 'rang', 'raquo', 'rarr', 'rceil', 'rdquo', 'real', 'reg', 'rfloor', 'rho', 'rlm', 'rsaquo', 'rsquo', 'sbquo', 'scaron', 'sdot', 'sect', 'shy', 'sigma', 'sigmaf', 'sim', 'spades', 'sub', 'sube', 'sum', 'sup', 'sup1', 'sup2', 'sup3', 'supe', 'szlig', 'tau', 'there4', 'theta', 'thetasym', 'thinsp', 'thorn', 'tilde', 'times', 'trade', 'uArr', 'uacute', 'uarr', 'ucirc', 'ugrave', 'uml', 'upsih', 'upsilon', 'uuml', 'weierp', 'xi', 'yacute', 'yen', 'yuml', 'zeta', 'zwj', 'zwnj'], \ 'vimxmlroot': ['html'], \ 'a': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'circle', 'poly', 'default']} \ ], \ 'abbr': [ @@ -50,7 +50,7 @@ let g:xmldata_html40t = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []} \ ], \ 'body': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'ins', 'del'], \ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'br': [ @@ -58,7 +58,7 @@ let g:xmldata_html40t = { \ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []} \ ], \ 'button': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'hr', 'table', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo'], \ { 'accesskey': [], 'disabled': ['BOOL'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']} \ ], \ 'caption': [ @@ -126,7 +126,7 @@ let g:xmldata_html40t = { \ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []} \ ], \ 'form': [ -\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'isindex', 'hr', 'table', 'fieldset', 'address', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'POST'], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'h1': [ @@ -154,7 +154,7 @@ let g:xmldata_html40t = { \ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []} \ ], \ 'head': [ -\ ['title', 'isindex', 'base'], +\ ['title', 'isindex', 'base', 'script', 'style', 'meta', 'link', 'object'], \ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []} \ ], \ 'hr': [ @@ -194,7 +194,7 @@ let g:xmldata_html40t = { \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'label': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []} \ ], \ 'legend': [ @@ -254,7 +254,7 @@ let g:xmldata_html40t = { \ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'REF', 'OBJECT']} \ ], \ 'pre': [ -\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], +\ ['tt', 'i', 'b', 'u', 's', 'strike', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'br', 'script', 'map', 'q', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], \ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []} \ ], \ 'q': [ @@ -271,7 +271,7 @@ let g:xmldata_html40t = { \ ], \ 'script': [ \ [], -\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': ['text/javascript'], 'defer': ['BOOL'], 'language': []} +\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['BOOL'], 'language': []} \ ], \ 'select': [ \ ['optgroup', 'option'], @@ -295,7 +295,7 @@ let g:xmldata_html40t = { \ ], \ 'style': [ \ [], -\ { 'media': [], 'lang': [], 'type': ['text/css'], 'title': [], 'dir': ['ltr', 'rtl']} +\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']} \ ], \ 'sub': [ \ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'], @@ -390,7 +390,7 @@ let g:xmldata_html40t = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/xhtml10f.vim b/runtime/autoload/xml/xhtml10f.vim index c16ab5c59..4cd894d3a 100644 --- a/runtime/autoload/xml/xhtml10f.vim +++ b/runtime/autoload/xml/xhtml10f.vim @@ -398,7 +398,7 @@ let g:xmldata_xhtml10f = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/xhtml10s.vim b/runtime/autoload/xml/xhtml10s.vim index ca8779045..ec8300ed3 100644 --- a/runtime/autoload/xml/xhtml10s.vim +++ b/runtime/autoload/xml/xhtml10s.vim @@ -342,7 +342,7 @@ let g:xmldata_xhtml10s = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/xhtml10t.vim b/runtime/autoload/xml/xhtml10t.vim index 4d30017e4..9a9041897 100644 --- a/runtime/autoload/xml/xhtml10t.vim +++ b/runtime/autoload/xml/xhtml10t.vim @@ -390,7 +390,7 @@ let g:xmldata_xhtml10t = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/autoload/xml/xhtml11.vim b/runtime/autoload/xml/xhtml11.vim index 634d8f7d1..db631e2b5 100644 --- a/runtime/autoload/xml/xhtml11.vim +++ b/runtime/autoload/xml/xhtml11.vim @@ -366,7 +366,7 @@ let g:xmldata_xhtml11 = { \ 'height' : ['Number', ''], \ 'href' : ['*URI', ''], \ 'hreflang' : ['LangCode', ''], -\ 'id' : ['ID', 'Unique string'], +\ 'id' : ['ID', ''], \ 'ismap' : ['Bool', ''], \ 'label' : ['*Text', ''], \ 'lang' : ['LangCode', ''], diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 6b9a6ad30..c3f69477c 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1184,6 +1184,9 @@ v:beval_text The text under or after the mouse pointer. Usually a word as v:beval_winnr The number of the window, over which the mouse pointer is. Only valid while evaluating the 'balloonexpr' option. + *v:char* *char-variable* +v:char Argument for evaluating 'formatexpr'. + *v:charconvert_from* *charconvert_from-variable* v:charconvert_from The name of the character encoding of a file to be converted. diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index 61aaa6f78..a0ef63cbb 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -610,6 +610,9 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped. Also, when doing completion with 'complete' mappings apply as usual. +Note: While completion is active Insert mode can't be used recursively. +Mappings that somehow invoke ":normal i.." will generate an E523 error. + The following mappings are suggested to make typing the completion commands a bit easier (although they will hide other commands): > :inoremap ^] ^X^] diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index ebcb6c9a2..c2e3011c0 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*options.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2469,8 +2469,8 @@ A jump table for the options with a short description can be found at |Q_op|. {not available when compiled without the |+autocmd| feature} A list of autocommand event names, which are to be ignored. - When set to "all", all autocommand events are ignored, autocommands - will not be executed. + When set to "all" or when "all" is one of the items, all autocommand + events are ignored, autocommands will not be executed. Otherwise this is a comma separated list of event names. Example: > :set ei=WinEnter,WinLeave < @@ -2987,9 +2987,13 @@ A jump table for the options with a short description can be found at |Q_op|. {not available when compiled without the |+eval| feature} Expression which is evaluated to format a range of lines for the |gq| - operator. The |v:lnum| variable holds the first line to be formatted, - |v:count| the number of lines to be formatted. - When this option is empty 'formatprg' is used. + operator. When this option is empty 'formatprg' is used. + + The |v:lnum| variable holds the first line to be formatted. + The |v:count| variable the number of lines to be formatted. + The |v:char| variable the character to be inserted. This can be + empty. Don't insert it yet! + Example: > :set formatexpr=mylang#Format() < This will invoke the mylang#Format() function in the diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt index f5357797e..4c74a5d43 100644 --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -1,4 +1,4 @@ -*pi_netrw.txt* For Vim version 7.0f. Last change: Apr 22, 2006 +*pi_netrw.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Charles E. Campbell, Jr. @@ -1473,6 +1473,11 @@ which is loaded automatically at startup (assuming :set nocp). ============================================================================== 11. History *netrw-history* {{{1 + v94: * bugfix - a Decho() had a missing quote; only affects things + when debugging was enabled. + v93: * bugfix - removed FocusGained event from causing a slow-browser + refresh for Windows + v92: * :Explore **//pattern implemented (**/filepattern already taken) v91: * :Explore */pattern implemented * |'acd'| option bypassed v90: * mark ', as suggested by Yegappan Lakshmanan, used to help diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt index cee1139da..e7d40d667 100644 --- a/runtime/doc/sql.txt +++ b/runtime/doc/sql.txt @@ -1,4 +1,4 @@ -*sql.txt* For Vim version 7.0f. Last change: Fri Apr 21 2006 10:39:11 PM +*sql.txt* For Vim version 7.0f. Last change: Wed Apr 26 2006 3:05:33 PM by David Fishburn @@ -411,14 +411,16 @@ the space bar): Stored Procedure List - <C-C>p View List - <C-C>v Column List - <C-C>c - - Windows platform only - - When viewing a popup window displaying the list + + Windows platform only - When viewing a popup window displaying the list of tables, you can press <C-Right>, this will replace the table currently highlighted with the column list for that table. - When viewing a popup window displaying the list of columns, you can press <C-Left>, this will replace the column list with the list of tables. + - This allows you to quickly drill down into a + table to view it's columns and back again. The SQL completion plugin caches various lists that are displayed in the popup window. This makes the re-displaying of these lists very @@ -500,9 +502,10 @@ NOTE: The following example uses <C-Right> to trigger a column list while the popup window is active. This map is only available on the Windows platforms since *nix does not recognize CTRL and the right arrow held down together. If you wish to enable this functionality on a *nix platform choose -a key and create this mapping (see |sql-completion-maps| for further +a key and create one of these mappings (see |sql-completion-maps| for further details on where to create this imap): > - imap <buffer> <your_keystroke> <CR><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O> + imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR> + imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O> Example of using column completion: - Press <C-C>t again to display the list of tables. @@ -517,9 +520,8 @@ Example of using column completion: change the schema of a cached table you can press <C-C>R, which clears the SQL completion cache. - NOTE: <C-Right> and <C-Left> have been designed to work while the - completion window is active. If you use these maps when the completion - window is not active a carriage return will be inadvertently entered in - your buffer. + completion window is active. If the completion popup window is + not active, a normal <C-Right> or <C-Left> will be executed. Lets look how we can build a SQL statement dynamically. A select statement requires a list of columns. There are two ways to build a column list using @@ -549,7 +551,7 @@ the SQL completion plugin. > replaced with the comma separate list of columns with the alias prepended to each of the columns. 7. Step 3 and 4 can be replaced by pressing <C-C>L, which has - a <CR> embedded in the map to choose the currently highlighted + a <C-Y> embedded in the map to choose the currently highlighted table in the list. There is a special provision when writing select statements. Consider the @@ -687,15 +689,13 @@ plugin. > the completion window. <C-Right> is not recognized on most Unix systems, so this maps is only created on the Windows platform. If you would like the same feature on Unix, choose a different key - and make the same map in your vimrc. - This should only be used when the completion window is active. > + and make the same map in your vimrc. > <C-Left> < - Displays the list of tables. <C-Left> is not recognized on most Unix systems, so this maps is only created on the Windows platform. If you would like the same feature on Unix, choose a different key and make the same map in - your vimrc. - This should only be used when the completion window is active. > + your vimrc. > <C-C>R < - This maps removes all cached items and forces the SQL completion to regenerate the list of items. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index c1b517f18..ac155c81c 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 7.0f. Last change: 2006 Apr 24 +*syntax.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -610,6 +610,39 @@ For Visual Basic use: > :let g:filetype_asp = "aspvbs" +BAAN *baan.vim* *baan-syntax* + +The baan.vim gives syntax support for BaanC of release BaanIV upto SSA ERP LN +for both 3 GL and 4 GL programming. Large number of standard defines/constants +are supported. + +Some special violation of coding standards will be signalled when one specify +in ones |.vimrc|: > + let baan_code_stds=1 + +*baan-folding* + +Syntax folding can be enabled at various levels through the variables +mentioned below (Set those in your |.vimrc|). The more complex folding on +source blocks and SQL can be CPU intensive. + +To allow any folding and enable folding at function level use: > + let baan_fold=1 +Folding can be enabled at source block level as if, while, for ,... The +indentation preceding the begin/end keywords has to match (spaces are not +considered equal to a tab). > + let baan_fold_block=1 +Folding can be enabled for embedded SQL blocks as SELECT, SELECTDO, +SELECTEMPTY, ... The indentation preceding the begin/end keywords has to +match (spaces are not considered equal to a tab). > + let baan_fold_sql=1 +Note: Block folding can result in many small folds. It is suggested to |:set| +the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in +.../after/syntax/baan.vim (see |after-directory|). Eg: > + set foldminlines=5 + set foldnestmax=6 + + BASIC *basic.vim* *vb.vim* *ft-basic-syntax* *ft-vb-syntax* Both Visual Basic and "normal" basic use the extension ".bas". To detect diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt index 6fbdeb5b4..df7305578 100644 --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -1,4 +1,4 @@ -*tabpage.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*tabpage.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -52,6 +52,9 @@ A double click with the mouse in the non-GUI tab pages line opens a new, empty tab page. It is placed left of the position of the click. The first click may select another tab page first, causing an extra screen update. +This also works in a few GUI versions, esp. Win32 and Motif. But only when +clicking right of the labels. + In the GUI tab pages line you can use the right mouse button to open menu. |tabline-menu|. diff --git a/runtime/doc/tags b/runtime/doc/tags index 282b79a5c..b4d81e342 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -4509,6 +4509,9 @@ b:changedtick-variable eval.txt /*b:changedtick-variable* b:current_syntax-variable syntax.txt /*b:current_syntax-variable* b:netrw_lastfile pi_netrw.txt /*b:netrw_lastfile* b:var eval.txt /*b:var* +baan-folding syntax.txt /*baan-folding* +baan-syntax syntax.txt /*baan-syntax* +baan.vim syntax.txt /*baan.vim* backslash intro.txt /*backslash* backspace intro.txt /*backspace* backspace-delete version4.txt /*backspace-delete* @@ -4677,6 +4680,7 @@ changelog.vim syntax.txt /*changelog.vim* changenr() eval.txt /*changenr()* changetick eval.txt /*changetick* changing change.txt /*changing* +char-variable eval.txt /*char-variable* char2nr() eval.txt /*char2nr()* characterwise motion.txt /*characterwise* characterwise-register change.txt /*characterwise-register* @@ -7441,6 +7445,7 @@ v:beval_col eval.txt /*v:beval_col* v:beval_lnum eval.txt /*v:beval_lnum* v:beval_text eval.txt /*v:beval_text* v:beval_winnr eval.txt /*v:beval_winnr* +v:char eval.txt /*v:char* v:charconvert_from eval.txt /*v:charconvert_from* v:charconvert_to eval.txt /*v:charconvert_to* v:cmdarg eval.txt /*v:cmdarg* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 3dd56c05c..5f7968a99 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*todo.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -30,8 +30,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|. *known-bugs* -------------------- Known bugs and current work ----------------------- -GTK: when executing shell disable tab page labels. (Sean) - Add more tests for all new functionality in Vim 7. Especially new functions. Darren Hiebert is including the patch for omni completion in ctags. A new @@ -50,6 +48,7 @@ Awaiting updated patches: - remove 'macatsui' option when this has been fixed. 9 HTML indenting can be slow. Caused by using searchpair(). Can search() be used instead? +8 Win32: Add minidump generation. (George Reilly, 2006 Apr 24) 8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible. Aric Blumer has a patch for this. He will update the patch for 6.3. @@ -627,6 +626,9 @@ Macintosh: Alternate one: http://www.pramodx.20m.com/tee_for_win32.htm, but Walter Briscoe says it's not as good. 8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters. +8 When doing Insert mode completion a mapping cannot recursively call + edit(), because the completion information is global. Put everything in + an allocated structure? 8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing ":buf foo<Tab>" doesn't find the second one. (George V. Reilly) 7 Output for ":scriptnames" and ":breaklist" should shorten the file names: @@ -1403,6 +1405,11 @@ Syntax highlighting: 8 When using a regexp for "contains=", should delay matching with it until redrawing happens. Set a flag when a group is added, check this flag when highlighting starts. +7 It's possible for an item to be transparent, so that the colors of an item + lower on the stack is used. Also do this with highlighting, so that the + user can set transparent highlighting? E.g. a number in a C comment would + get the color of a comment, a number in an assignment Normal. (Nikolai + Weibull) 7 Add "semitrans": Add highlighting. E.g., make the text bold, but keep the colors. And add colors, so that Green+Red becomes Yellow. E.g. for this html: diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 06a0aeb2d..10e54bbda 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -1,4 +1,4 @@ -*version7.txt* For Vim version 7.0f. Last change: 2006 Apr 25 +*version7.txt* For Vim version 7.0f. Last change: 2006 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2616,4 +2616,50 @@ Win32: The height of the tab page labels is now adjusted to the font height. Win32: selecting the tab label was off by one. (Yegappan Lakshmanan) +Added tooltips for Motif tab page labels. (Yegappan Lakshmanan) + +When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and +the file was not converted from latin1 to utf-8. Now retry with latin1 if +reading the file as utf-8 results in illegal bytes. + +Escape argument of feedkeys() before putting it in the typeahead buffer. +(Yukihiro Nakadaira) + +Add v:char variable for evaluating 'formatexpr'. (Yukihiro Nakadaira) + +With 8 colors Search highlighting combined with Statement highlighted text +made the text disappear. + +VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy) + +When 'virtualedit' includes "onemore", stopping Visual selection would still +move the cursor left. + +Prevent that using CTRL-R = in Insert mode can start Visual mode. + +Fixed a crash that occured when in Insert mode with completion active a +mapping caused edit() to be called recursively. + +When using CTRL-O in Insert mode just after the last character while +'virtualedit' is "all", then typing CR moved the last character to the next +line. Call coladvance() before starting the new line. + +When using ":shell" and in the command line window ignore clicks on the tab +page labels. + +When 'eventignore' is "all" then ignoring some events, e.g., for ":vimgrep", +would actually trigger more events. + +Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname" +doesn't find it. When looking for a server name that doesn't end in a digit +and it is not found then use another server that is found (just like Unix). + +When using "double" in 'spellsuggest' when the language doesn't support sound +folding resulted in too many suggestions. + +Win32: Dropping a shortcut on the Vim icon did't edit the referred file like +editing it in another way would. Use fname_expand() in buf_set_name() instead +of simply make the file name a full path. + + vim:tw=78:ts=8:ft=help:norl: diff --git a/runtime/ftplugin/debchangelog.vim b/runtime/ftplugin/debchangelog.vim index 59f601ad0..6d1f20ee3 100644 --- a/runtime/ftplugin/debchangelog.vim +++ b/runtime/ftplugin/debchangelog.vim @@ -1,7 +1,9 @@ -" Vim filetype plugin file +" Vim filetype plugin file (GUI menu and folding) " Language: Debian Changelog " Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de> -" Last Change: 15 August 2005 +" Stefano Zacchiroli <zack@debian.org> +" Last Change: 25 April 2006 +" License: GNU GPL, version 2.1 or later if exists("g:did_changelog_ftplugin") finish @@ -10,6 +12,8 @@ endif " Don't load another plugin (this is global) let g:did_changelog_ftplugin = 1 +" {{{1 GUI menu + " Helper functions returning various data. " Returns full name, either from $DEBFULLNAME or debianfullname. " TODO Is there a way to determine name from anywhere else? @@ -204,3 +208,47 @@ augroup END setlocal tw=78 setlocal comments=f:* let b:undo_ftplugin = "setlocal tw< comments<" + +" }}} +" {{{1 folding + +setlocal foldmethod=expr +set foldexpr=GetDebChangelogFold(v:lnum) +setlocal foldtext=DebChangelogFoldText() + +" look for an author name searching backward from a given line number +function! s:getAuthor(lnum) + let line = getline(a:lnum) + let backsteps = 0 + while line !~ '^ --' + let backsteps += 1 + let line = getline(a:lnum - backsteps) + endwhile + let author = substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '') + return author +endfunction + +function! DebChangelogFoldText() + if v:folddashes == '-' " changelog entry fold + return foldtext() . ' -- ' . s:getAuthor(v:foldend) . ' ' + endif + return foldtext() +endfunction + +function! GetDebChangelogFold(lnum) + let line = getline(a:lnum) + if line =~ '^\w\+' + return '>1' " beginning of a changelog entry + endif + if line =~ '^\s\+\[.*\]' + return '>2' " beginning of an author-specific chunk + endif + if line =~ '^ --' + return '1' + endif + return '=' +endfunction + +" }}} + +" vim: set foldmethod=marker: diff --git a/runtime/ftplugin/html.vim b/runtime/ftplugin/html.vim index 484651faf..3d723315d 100644 --- a/runtime/ftplugin/html.vim +++ b/runtime/ftplugin/html.vim @@ -1,7 +1,7 @@ " Vim filetype plugin file " Language: html " Maintainer: Dan Sharp <dwsharp at hotmail dot com> -" Last Changed: 2004 Jul 08 +" Last Changed: 2006 Apr 26 " URL: http://mywebpage.netscape.com/sharppeople/vim/ftplugin if exists("b:did_ftplugin") | finish | endif @@ -14,16 +14,17 @@ set cpo-=C setlocal commentstring=<!--%s--> +if exists('&omnifunc') +" Distinguish between HTML versions +" To use with other HTML versions add another +" elseif condition to match proper DOCTYPE setlocal omnifunc=htmlcomplete#CompleteTags -" This part added as suggestion by Mikolaj Machowski, still be approved by Dan -" Sharp! if &filetype == 'xhtml' let b:html_omni_flavor = 'xhtml10s' else let b:html_omni_flavor = 'html401t' endif - let i = 1 while i < 10 && i < line("$") let line = getline(i) @@ -63,7 +64,7 @@ while i < 10 && i < line("$") endif let i += 1 endwhile - +endif " HTML: thanks to Johannes Zellner and Benji Fisher. if exists("loaded_matchit") diff --git a/runtime/ftplugin/sql.vim b/runtime/ftplugin/sql.vim index 1bc58318c..c9924b73d 100644 --- a/runtime/ftplugin/sql.vim +++ b/runtime/ftplugin/sql.vim @@ -1,8 +1,8 @@ " SQL filetype plugin file " Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase) -" Version: 1.0 +" Version: 3.0 " Maintainer: David Fishburn <fishburn at ianywhere dot com> -" Last Change: Tue Mar 28 2006 2:26:48 PM +" Last Change: Wed Apr 26 2006 3:02:32 PM " Download: http://vim.sourceforge.net/script.php?script_id=454 " For more details please use: @@ -360,6 +360,11 @@ setlocal comments=s1:/*,mb:*,ex:*/,:--,:// " Set completion with CTRL-X CTRL-O to autoloaded function. if exists('&omnifunc') + " Since the SQL completion plugin can be used in conjunction + " with other completion filetypes it must record the previous + " OMNI function prior to setting up the SQL OMNI function + let b:sql_compl_savefunc = &omnifunc + " This is used by the sqlcomplete.vim plugin " Source it for it's global functions runtime autoload/syntaxcomplete.vim @@ -370,28 +375,40 @@ if exists('&omnifunc') if !exists('g:omni_sql_no_default_maps') " Static maps which use populate the completion list " using Vim's syntax highlighting rules - imap <buffer> <c-c>a <C-\><C-O>:let b:sql_compl_type='syntax'<CR><C-X><C-O> - imap <buffer> <c-c>k <C-\><C-O>:let b:sql_compl_type='sqlKeyword'<CR><C-X><C-O> - imap <buffer> <c-c>f <C-\><C-O>:let b:sql_compl_type='sqlFunction'<CR><C-X><C-O> - imap <buffer> <c-c>o <C-\><C-O>:let b:sql_compl_type='sqlOption'<CR><C-X><C-O> - imap <buffer> <c-c>T <C-\><C-O>:let b:sql_compl_type='sqlType'<CR><C-X><C-O> - imap <buffer> <c-c>s <C-\><C-O>:let b:sql_compl_type='sqlStatement'<CR><C-X><C-O> + imap <buffer> <c-c>a <C-\><C-O>:call sqlcomplete#Map('syntax')<CR><C-X><C-O> + imap <buffer> <c-c>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O> + imap <buffer> <c-c>f <C-\><C-O>:call sqlcomplete#Map('sqlFunction')<CR><C-X><C-O> + imap <buffer> <c-c>o <C-\><C-O>:call sqlcomplete#Map('sqlOption')<CR><C-X><C-O> + imap <buffer> <c-c>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O> + imap <buffer> <c-c>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O> " Dynamic maps which use populate the completion list " using the dbext.vim plugin - imap <buffer> <c-c>t <C-\><C-O>:let b:sql_compl_type='table'<CR><C-X><C-O> - imap <buffer> <c-c>p <C-\><C-O>:let b:sql_compl_type='procedure'<CR><C-X><C-O> - imap <buffer> <c-c>v <C-\><C-O>:let b:sql_compl_type='view'<CR><C-X><C-O> - imap <buffer> <c-c>c <C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O> - imap <buffer> <c-c>l <C-\><C-O>:let b:sql_compl_type='column_csv'<CR><C-X><C-O> + imap <buffer> <c-c>t <C-\><C-O>:call sqlcomplete#Map('table')<CR><C-X><C-O> + imap <buffer> <c-c>p <C-\><C-O>:call sqlcomplete#Map('procedure')<CR><C-X><C-O> + imap <buffer> <c-c>v <C-\><C-O>:call sqlcomplete#Map('view')<CR><C-X><C-O> + imap <buffer> <c-c>c <C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O> + imap <buffer> <c-c>l <C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O> " The next 3 maps are only to be used while the completion window is " active due to the <CR> at the beginning of the map - imap <buffer> <c-c>L <CR><C-\><C-O>:let b:sql_compl_type='column_csv'<CR><C-X><C-O> + imap <buffer> <c-c>L <C-Y><C-\><C-O>:call sqlcomplete#Map('column_csv')<CR><C-X><C-O> + " <C-Right> is not recognized on most Unix systems, so only create + " these additional maps on the Windows platform. + " If you would like to use these maps, choose a different key and make + " the same map in your vimrc. if has('win32') - imap <buffer> <c-right> <CR><C-\><C-O>:let b:sql_compl_type='column'<CR><C-X><C-O> - imap <buffer> <c-left> <C-\><C-O>:let b:sql_compl_type='tableReset'<CR><C-X><C-O> + imap <buffer> <c-right> <C-R>=sqlcomplete#DrillIntoTable()<CR> + imap <buffer> <c-left> <C-R>=sqlcomplete#DrillOutOfColumns()<CR> endif " Remove any cached items useful for schema changes - imap <buffer> <c-c>R <C-\><C-O>:let b:sql_compl_type='resetCache'<CR><C-X><C-O> + imap <buffer> <c-c>R <C-\><C-O>:call sqlcomplete#Map('resetCache')<CR><C-X><C-O> + endif + + if b:sql_compl_savefunc != "" + " We are changing the filetype to SQL from some other filetype + " which had OMNI completion defined. We need to activate the + " SQL completion plugin in order to cache some of the syntax items + " while the syntax rules for SQL are active. + call sqlcomplete#PreCacheSyntax() endif endif diff --git a/runtime/indent/make.vim b/runtime/indent/make.vim index 58504929f..65670566b 100644 --- a/runtime/indent/make.vim +++ b/runtime/indent/make.vim @@ -1,7 +1,7 @@ " Vim indent file " Language: Makefile " Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2006-04-19 +" Latest Revision: 2006-04-26 if exists("b:did_indent") finish @@ -10,6 +10,7 @@ let b:did_indent = 1 setlocal indentexpr=GetMakeIndent() setlocal indentkeys=!^F,o,O +setlocal nosmartindent if exists("*GetMakeIndent") finish @@ -19,34 +20,148 @@ let s:rule_rx = '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)' let s:continuation_rx = '\\$' let s:assignment_rx = '^\s*\h\w*\s*+\==\s*\zs.*\\$' +" TODO: Deal with comments, string, and all kinds of other crap, e.g., defines. +" TODO: Unwrap the whole logic of this function into something that requires a +" lot less “return”s. function GetMakeIndent() let lnum = v:lnum - 1 if lnum == 0 return 0 endif + " Figure out if the previous line is part of a rule or not. If it is, then + " we more or less just indent by a ‘tabstop’, the previous’ lines indent, or + " remove all indent if the current line is itself a rule. Also, if the line + " in question is part of a continuation-line set constituting the rule line + " itself, we indent by either a ‘shiftwidth’, if the line is the first in the + " continuation, or use the indent of the previous line, if not. + while lnum > 0 + let line = getline(lnum) + if line[0] != "\t" + " We found a non-shell-command line, i.e., one that doesn’t have a + " leading tab. + if line =~ s:rule_rx + " The line looks like a rule line, so we must therefore either be inside a + " rule or we are a continuation line to that rule line. + if line =~ s:continuation_rx + " Ah, the rule line was continued, so look up the last continuation + " line that’s above the current line. + while line =~ s:continuation_rx && lnum < v:lnum + let lnum += 1 + let line = getline(lnum) + endwhile + let lnum -= 1 + let line = getline(lnum) + endif + + " If the line that we’ve found is right above the current line, deal + " with it specifically. + if lnum == v:lnum - 1 + " If it was continued, indent the current line by a shiftwidth, as it + " is the first to follow it. Otherwise, depending on if the current + " line is a rule line, i.e, a rule line following another rule line, + " then indent to the left margin. Otherwise, the current line is the + " first shell-command line in the rule, so indent by a ‘tabstop’ + if line =~ s:continuation_rx + return &sw + else + return getline(v:lnum) =~ s:rule_rx ? 0 : &ts + endif + else + " If the previous line was a continuation line, then unless it was + " itself a part of a continuation line, add a ‘shiftwidth’’s worth of + " indent. Otherwise, just use the indent of the previous line. + " Otherwise, if the previous line wasn’t a continuation line, check + " if the one above it was. If it was then indent to whatever level + " the “owning” line had. Otherwise, indent to the previous line’s + " level. + let lnum = v:lnum - 1 + let line = getline(lnum) + if line =~ s:continuation_rx + let pnum = v:lnum - 2 + let pine = getline(pnum) + if pine =~ s:continuation_rx + return indent(lnum) + else + return indent(lnum) + &sw + endif + else + let lnum = v:lnum - 2 + let line = getline(lnum) + if line =~ s:continuation_rx + while lnum > 0 + if line !~ s:continuation_rx + let lnum += 1 + let line = getline(lnum) + break + endif + let lnum -= 1 + let line = getline(lnum) + endwhile + " We’ve found the owning line. Indent to it’s level. + return indent(lnum) + else + return indent(v:lnum - 1) + endif + endif + endif + endif + + " The line wasn’t a rule line, so the current line is part of a series + " of tab-indented lines that don’t belong to any rule. + break + endif + let lnum -= 1 + endwhile + + " If the line before the one we are currently indenting ended with a + " continuation, then try to figure out what “owns” that line and indent + " appropriately. + let lnum = v:lnum - 1 let line = getline(lnum) - let ind = indent(lnum) + if line =~ s:continuation_rx + let indent = indent(lnum) + if line =~ s:assignment_rx + " The previous line is a continuation line that begins a variable- + " assignment expression, so set the indent to just beyond the whitespace + " following the assignment operator (‘=’). + call cursor(lnum, 1) + if search(s:assignment_rx, 'W') != 0 + let indent = virtcol('.') - 1 + endif + endif + + " The previous line didn’t constitute an assignment, so just indent to + " whatever level it had. + return indent + endif - if line =~ s:rule_rx - return ind + &ts - elseif line =~ s:continuation_rx - while lnum > 0 && line =~ s:continuation_rx && line !~ s:assignment_rx + " If the line above the line above the current line ended was continued, + " then the line above the current line was part of a continued line. Find + " the “owning” line and indent to its level. + let lnum = v:lnum - 2 + let line = getline(lnum) + if line =~ s:continuation_rx + while lnum > 0 + if line !~ s:continuation_rx + let lnum += 1 + let line = getline(lnum) + break + endif let lnum -= 1 let line = getline(lnum) endwhile - if line =~ s:assignment_rx - call cursor(lnum, 1) - return search(s:assignment_rx, 'W') != 0 ? virtcol('.') - 1 : 0 - else - return 0 - endif - else - let pnum = lnum - 1 - if pnum == 0 - return ind - endif + " We’ve found the owning line. Indent to it’s level. + return indent(lnum) + endif - return getline(pnum) =~ s:continuation_rx ? 0 : ind + " If nothing else caught on, then check if this line is a rule line. If it + " is, indent it to the left margin. Otherwise, simply use the indent of the + " previous line. + let line = getline(v:lnum) + if line =~ s:rule_rx + return 0 + else + return indent(v:lnum - 1) endif endfunction diff --git a/runtime/plugin/vimballPlugin.vim b/runtime/plugin/vimballPlugin.vim index e1ea57e26..95c06c3ec 100644 --- a/runtime/plugin/vimballPlugin.vim +++ b/runtime/plugin/vimballPlugin.vim @@ -9,9 +9,10 @@ " --------------------------------------------------------------------- " Load Once: {{{1 -if &cp || exists("g:loaded_vimball") +if &cp || exists("g:loaded_vimball") || exists("g:loaded_vimballplugin") finish endif +let g:loaded_vimballplugin= 1 let s:keepcpo= &cpo set cpo&vim @@ -22,7 +23,7 @@ com! -ra -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f com! -na=0 UseVimball call vimball#Vimball(1) com! -na=0 VimballList call vimball#Vimball(0) au BufEnter *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>")) -au BufEnter *.vba echohl WarningMsg | echo "Source this file to extract it! (:so %)" | echohl None +au BufEnter *.vba call vimball#ShowMesg("Source this file to extract it! (:so %)") let &cpo= s:keepcpo unlet s:keepcpo diff --git a/runtime/syntax/baan.vim b/runtime/syntax/baan.vim index 2efa8dea6..5009218b6 100644 --- a/runtime/syntax/baan.vim +++ b/runtime/syntax/baan.vim @@ -1,73 +1,863 @@ " Vim syntax file" " Language: Baan -" Maintainer: Erwin Smit / Her van de Vliert -" Last change: 30-10-2001" +" Maintainer: Erik Remmelzwaal (erik.remmelzwaal 0x40 ssaglobal.com) +" Originally owned by: Erwin Smit / Her van de Vliert +" Last change: v1.17 2006/04/26 10:40:18 " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded +" if version < 600 syntax clear + if exists("baan_fold") + unlet baan_fold + endif elseif exists("b:current_syntax") finish endif +"********************************** Lexical setting ***************************" +syn case ignore +setlocal iskeyword+=. +"setlocal ignorecase "This is not a local yet ;-( +" Identifier +syn match baanIdentifier "\<\k\+\>" + "************************************* 3GL ************************************" -syn match baan3gl "#ident" -syn match baan3gl "#include" -syn match baan3gl "#define" -syn match baan3gl "#undef" -syn match baan3gl "#pragma" -syn keyword baanConditional if then else case endif while endwhile endfor endcase -syn keyword baan3gl at based break bset call common const continue default double -syn keyword baan3gl empty extern fixed function ge global goto gt le lt mb -syn keyword baan3gl multibyte ne ofr prompt ref repeat static step stop string -syn keyword baan3gl true false until void wherebind +syn match baan3glpre "#ident\>" +syn match baan3glpre "#include\>" +syn region baan3glpre start="#define\>" end="^[^^|]"me=s-1 contains=baanString,baanConstant,baanNumber,baanComment,baansql +syn match baan3glpre "#undef\>" +syn match baan3glpre "#pragma\>" +syn match baan3glpre "#if\>" +syn match baan3glpre "#ifdef\>" +syn match baan3glpre "#ifndef\>" +syn match baan3glpre "#elif\>" +syn match baan3glpre "#else\>" +syn match baan3glpre "#endif\>" + +" Some keywords are only defined when no foldinat based break bset call continue default +syn keyword baan3gl empty fixed ge global goto gt le lt mb +syn keyword baan3gl multibyte ne ofr prompt repeat static step stop +syn keyword baan3gl until void wherebind ref reference break continue syn keyword baan3gl and or to not in -syn keyword baan3gl domain table eq input end long dim return at base print -syn match baan3gl "\<for\>" contains=baansql -syn match baan3gl "on case" -syn match baan3gl "e\=n\=d\=dllusage" +syn keyword baan3gl eq input end return at print +syn keyword baanType domain double long string table boolean common +syn keyword baanType bset void xmlNode +syn keyword baanStorageClass dim base based extern global fixed MB const +syn keyword baanConstant pi true false + +" Folding settings +if exists("baan_fold") && baan_fold + syn region baanFunctionFold matchgroup=baan3gl start="^\z(\s*\)\<function\>" matchgroup=NONE end="^\z1}" transparent fold keepend +else + syn keyword baan3gl function +endif +if exists("baan_fold") && baan_fold && exists("baan_fold_block") && baan_fold_block + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(if\>\|else\>\)" end="^\z1endif\>" end="^\z1else\>"me=s-1 transparent fold keepend extend + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)for\>" end="^\z1endfor\>" transparent fold keepend extend + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)while\>" end="^\z1endwhile\>" transparent fold keepend extend + syn region baanDLLUsage matchgroup=baan3gl start="^\z(\s*\)dllusage\>" end="^\z1enddllusage\>" fold contains=baanNumber,baanConstant,baanType + syn region baanFunUsage matchgroup=baan3gl start="^\z(\s*\)functionusage\>" end="^\z1endfunctionusage\>" fold contains=baanNumber,baanConstant,baanType + syn region baanCondFold matchgroup=baanConditional start="^\z(\s*\)\(case\>\|default\>\)\>" end="^\z1endcase\>" end="^\z1\(case\>\|default\>\)"me=s-1 transparent fold keepend extend + syn keyword baanConditional then else endif while endwhile endfor case endcase + syn match baanConditional "\<on case\>" +else + syn match baanConditional "\<for\>" contains=baansql + syn match baanConditional "\<on case\>" + syn keyword baanConditional if then else endif while endwhile endfor case endcase default + syn region baanDLLUsage matchgroup=baan3gl start="\<dllusage\>" end="\<enddllusage\>" contains=baanNumber,baanConstant,baanType + syn region baanFunUsage matchgroup=baan3gl start="\<functionusage\>" end="\<endfunctionusage\>" contains=baanNumber,baanConstant,baanType +endif "************************************* SQL ************************************" -syn keyword baansqlh where reference selecterror selectbind selectdo selectempty -syn keyword baansqlh selecteos whereused endselect unref setunref clearunref -syn keyword baansqlh from select clear skip rows +syn keyword baansql from selectbind +syn keyword baansql where wherebind whereused exsists syn keyword baansql between inrange having -syn match baansql "as set with \d\+ rows" -syn match baansql "as prepared set" -syn match baansql "as prepared set with \d\+ rows" -syn match baansql "refers to" -syn match baansql "with retry" -syn match baansql "with retry repeat last row" -syn match baansql "for update" -syn match baansql "order by" -syn match baansql "group by" -syn match baansql "commit\.transaction()" -syn match baansql "abort\.transaction()" -syn match baansql "db\.columns\.to\.record" -syn match baansql "db\.record\.to\.columns" -syn match baansql "db\.bind" -syn match baansql "db\.change\.order" -syn match baansql "\<db\.eq" -syn match baansql "\<db\.first" -syn match baansql "\<db\.gt" -syn match baansql "\<db\.ge" -syn match baansql "\<db\.le" -syn match baansql "\<db\.next" -syn match baansql "\<db\.prev" -syn match baansql "\<db\.insert" -syn match baansql "\<db\.delete" -syn match baansql "\<db\.update" -syn match baansql "\<db\.create\.table" -syn match baansql "db\.set\.to\.default" -syn match baansql "db\.retry" -syn match baansql "DB\.RETRY" -syn match baansql "db\.delayed\.lock" -syn match baansql "db\.retry\.point()" -syn match baansql "db\.retry\.hit()" -syn match baansql "db\.return\.dupl" -syn match baansql "db\.skip\.dupl" -syn match baansql "db\.row\.length" +syn keyword baansql hint ordered asc desc +syn match baansql "\<as set with \d\+ rows\>" +syn match baansql "\<as prepared set\>" +syn match baansql "\<as prepared set with \d\+ rows\>" +syn match baansql "\<with retry\>" +syn match baansql "\<with retry repeat last row\>" +syn match baansql "\<for update\>" +syn match baansql "\<order by\>" +syn match baansql "\<group by\>" +syn match baansql "\<union all\>" +" references +syn keyword path reference +syn match baansql "\<refers to\>" +syn match baansql "\<unref clear\>" +syn match baansql "\<unref setunref\>" +syn match baansql "\<unref clearunref\>" +syn match baansql "\<unref skip\>" +" hints +syn keyword baansql hint and ordered asc desc +syn match baansql "\<use index \d\+ on\>" +syn match baansql "\<array fetching\>" +syn match baansql "\<no array fetching\>" +syn match baansql "\<array size \d\+\>" +syn match baansql "\<all rows\>" +syn match baansql "\<first rows\>" +syn match baansql "\<buffer \d\+ rows\>" +syn match baansql "\<no hints\>" +" update +syn keyword baansql set + +if exists("baan_fold") && baan_fold && exists("baan_fold_sql") && baan_fold_sql + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(select\>\|selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)" end="^\z1endselect\>" end="^\z1\(selectdo\>\|selectempty\>\|selecterror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend + "syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\|selecteos\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\|selecteos\>\)"me=s-1 transparent fold keepend extend + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(update\>\|updateempty\>\|updateerror\>\)" end="^\z1endupdate\>" end="^\z1\(updateempty\>\|updateerror\>\)"me=s-1 transparent fold keepend extend + syn region baanSQLFold matchgroup=baansql start="^\z(\s*\)\(delete\s\+from\>\|deleteempty\>\|deleteerror\>\)" end="^\z1enddelete\>" end="^\z1\(deleteempty\>\|deleteerror\>\)"me=s-1 transparent fold keepend extend +else + syn keyword baansql select selectdo selectempty selecterror selecteos endselect + " delete + syn match baansql "\<delete from\>" + syn keyword baansql deleteempty deleteerror deleteeos enddelete + " update + syn keyword baansql update updateempty updateerror updateeos endupdate +endif + +setlocal foldmethod=syntax +"syn sync fromstart +syn sync minlines=100 + + +"These are bshell functions +if exists("baan_obsolete") +syn match baansql "commit\.transaction()" +syn match baansql "abort\.transaction()" +syn match baansql "db\.columns\.to\.record" +syn match baansql "db\.record\.to\.columns" +syn match baansql "db\.bind" +syn match baansql "db\.change\.order" +syn match baansql "db\.set\.to\.default" +syn match baansql "DB\.RETRY" +syn match baansql "db\.delayed\.lock" +syn match baansql "db\.retry\.point()" +syn match baansql "db\.retry\.hit()" +syn match baansql "db\.return\.dupl" +syn match baansql "db\.skip\.dupl" +syn match baansql "db\.row\.length" +endif + +" Constants +syn keyword baanConstant __function__ +syn keyword baanConstant __object__ +syn keyword baanConstant __file__ +syn keyword baanConstant __line__ + +syn keyword baanConstant ABORT.PROGRAM +syn keyword baanConstant ADD.SET +syn keyword baanConstant ALL_ENUMS_EXCEPT +syn keyword baanConstant APPL.EXCL +syn keyword baanConstant APPL.READ +syn keyword baanConstant APPL.WAIT +syn keyword baanConstant APPL.WIDE +syn keyword baanConstant APPL.WRITE +syn keyword baanConstant ASK.HELPINFO +syn keyword baanConstant AUTG_PRINT +syn keyword baanConstant AUTG_DISPLAY +syn keyword baanConstant AUTG_MODIFY +syn keyword baanConstant AUTG_INSERT +syn keyword baanConstant AUTG_DELETE +syn keyword baanConstant AUTG_ALL +syn keyword baanConstant BMS +syn keyword baanConstant CALCULATOR +syn keyword baanConstant CALENDAR +syn keyword baanConstant CHANGE.ORDER +syn keyword baanConstant CMD.OPTIONS +syn keyword baanConstant CMD.WHATS.THIS +syn keyword baanConstant CMF.MESSAGE +syn keyword baanConstant CMF.TASK +syn keyword baanConstant CMF.APPOINTMENT +syn match baanConstant "\<COMPANY\$" +syn keyword baanConstant COMPNR +syn keyword baanConstant CONT.PROCESS +syn keyword baanConstant CREATE.JOB +syn keyword baanConstant DALNOOBJSET +syn keyword baanConstant DALNOMETHOD +syn keyword baanConstant DALNOOBJSETID +syn keyword baanConstant DALNOOBJECTID +syn keyword baanConstant DALNOPROP +syn keyword baanConstant DALNOLOCMODE +syn keyword baanConstant DALNOGETPOS +syn keyword baanConstant DALNOSETPERM +syn keyword baanConstant DALNOOBJPERM +syn keyword baanConstant DALDBERROR +syn keyword baanConstant DALHOOKERROR +syn keyword baanConstant DALNOQUERYID +syn keyword baanConstant DAL_DESTROY +syn keyword baanConstant DAL_FIND +syn keyword baanConstant DAL_GET_CURR +syn keyword baanConstant DAL_GET_FIRST +syn keyword baanConstant DAL_GET_LAST +syn keyword baanConstant DAL_GET_NEXT +syn keyword baanConstant DAL_GET_PREV +syn keyword baanConstant DAL_GET_SPECIFIED +syn keyword baanConstant DAL_NEW +syn keyword baanConstant DAL_UPDATE +syn keyword baanConstant DB.ARRAY +syn keyword baanConstant DB.BASED +syn keyword baanConstant DB.BITSET +syn keyword baanConstant DB.BYTE +syn keyword baanConstant DB.CHECK.IGNORED.REF +syn keyword baanConstant DB.CHILD +syn keyword baanConstant DB.CLEAR.NO.ROLLBACK +syn keyword baanConstant DB.CLEAR.WITH.ROLLBACK +syn keyword baanConstant DB.COMBINED +syn keyword baanConstant DB.DATE +syn keyword baanConstant DB.DELAYED.LOCK +syn keyword baanConstant DB.DOUBLE +syn keyword baanConstant DB.ENUM +syn keyword baanConstant DB.EXIT.ON.DUPL +syn keyword baanConstant DB.EXIT.ON.NOREC +syn keyword baanConstant DB.EXIT.ON.ROWCHANGED +syn keyword baanConstant DB.FILLED +syn keyword baanConstant DB.FIXED +syn keyword baanConstant DB.FL.LOCK +syn keyword baanConstant DB.FLOAT +syn keyword baanConstant DB.IGNORE.ALL.REFS +syn keyword baanConstant DB.INTEGER +syn keyword baanConstant DB.IS.REF.TO +syn keyword baanConstant DB.LOCK +syn keyword baanConstant DB.LONG +syn keyword baanConstant DB.MAIL +syn keyword baanConstant DB.MULTIBYTE +syn keyword baanConstant DB.NOT.ACTIV +syn keyword baanConstant DB.PAR.IS.REF.TO +syn keyword baanConstant DB.REF.CASCADE +syn keyword baanConstant DB.REF.CHK.RUNTIME +syn keyword baanConstant DB.REF.DELETE +syn keyword baanConstant DB.REF.NOP +syn keyword baanConstant DB.REF.NULLIFY +syn keyword baanConstant DB.REF.RESTRICTED +syn keyword baanConstant DB.REF.UPDATE +syn keyword baanConstant DB.RETRY +syn keyword baanConstant DB.RETURN.DUPL +syn keyword baanConstant DB.RETURN.ERROR +syn keyword baanConstant DB.RETURN.NOREC +syn keyword baanConstant DB.RETURN.REF.EXISTS +syn keyword baanConstant DB.RETURN.REF.NOT.EXISTS +syn keyword baanConstant DB.RETURN.ROWCHANGED +syn keyword baanConstant DB.RPOINT +syn keyword baanConstant DB.SKIP.DUPL +syn keyword baanConstant DB.SKIP.NOREC +syn keyword baanConstant DB.SKIP.ROWCHANGED +syn keyword baanConstant DB.STRING +syn keyword baanConstant DB.TEXT +syn keyword baanConstant DB.TIME +syn keyword baanConstant DBG_BDB_ACTIONS +syn keyword baanConstant DBG_BDB_DELAY_LOCK +syn keyword baanConstant DBG_BDB_REFER +syn keyword baanConstant DBG_BDB_SERVER_TYPE +syn keyword baanConstant DBG_DATA_SIZE +syn keyword baanConstant DBG_DEBUG_MESG +syn keyword baanConstant DBG_DEBUG_TSS +syn keyword baanConstant DBG_FILE +syn keyword baanConstant DBG_FILEDEV +syn keyword baanConstant DBG_FUN_DEBUG +syn keyword baanConstant DBG_GET_PUT_VAR +syn keyword baanConstant DBG_INSTR_DEBUG +syn keyword baanConstant DBG_MUL_ACTION +syn keyword baanConstant DBG_OBJ_SIZE +syn keyword baanConstant DBG_PRINT_ENUMS +syn keyword baanConstant DBG_REF_PATH +syn keyword baanConstant DBG_RESOURCE_DBG +syn keyword baanConstant DBG_SCHED_DEBUG +syn keyword baanConstant DBG_SHOW_FLOW +syn keyword baanConstant DBG_SHOW_TRACE +syn keyword baanConstant DBG_SRDD_USAGE +syn keyword baanConstant DEBUG +syn keyword baanConstant DEF.FIND +syn keyword baanConstant DISPLAY.SET +syn keyword baanConstant DIS.RESTARTED +syn keyword baanConstant DLL_OVERLOAD +syn keyword baanConstant DLL_OVERLOAD_ALL +syn keyword baanConstant DLL_SILENT_ERR +syn keyword baanConstant DSTerminationCreateProcess +syn keyword baanConstant DSTerminationCreateThread +syn keyword baanConstant DSTerminationNormalExit +syn keyword baanConstant DSTerminationOpenStderr +syn keyword baanConstant DSTerminationOpenStdin +syn keyword baanConstant DSTerminationOpenStdout +syn keyword baanConstant DSTerminationSetDir +syn keyword baanConstant DUPL.OCCUR +syn keyword baanConstant E2BIG +syn keyword baanConstant EABORT +syn keyword baanConstant EACCES +syn keyword baanConstant EAGAIN +syn keyword baanConstant EAUDIT +syn keyword baanConstant EBADADRS +syn keyword baanConstant EBADARG +syn keyword baanConstant EBADCOLL +syn keyword baanConstant EBADCURSOR +syn keyword baanConstant EBADF +syn keyword baanConstant EBADFILE +syn keyword baanConstant EBADFLD +syn keyword baanConstant EBADKEY +syn keyword baanConstant EBADLOG +syn keyword baanConstant EBADMEM +syn keyword baanConstant EBDBNOTON +syn keyword baanConstant EBDBON +syn keyword baanConstant EBUSY +syn keyword baanConstant ECHILD +syn keyword baanConstant EDDCORRUPT +syn keyword baanConstant EDOM +syn keyword baanConstant EDUPL +syn keyword baanConstant EENDFILE +syn keyword baanConstant EEXIST +syn keyword baanConstant EFAULT +syn keyword baanConstant EFBIG +syn keyword baanConstant EFLOCKED +syn keyword baanConstant EFNAME +syn keyword baanConstant EINTR +syn keyword baanConstant EINVAL +syn keyword baanConstant EIO +syn keyword baanConstant EISDIR +syn keyword baanConstant EISREADONLY +syn keyword baanConstant EKEXISTS +syn keyword baanConstant ELOCKED +syn keyword baanConstant ELOGOPEN +syn keyword baanConstant ELOGREAD +syn keyword baanConstant ELOGWRIT +syn keyword baanConstant EMEMORY +syn keyword baanConstant EMFILE +syn keyword baanConstant EMLINK +syn keyword baanConstant EMLOCKED +syn keyword baanConstant END.PROGRAM +syn keyword baanConstant ENFILE +syn keyword baanConstant ENOBEGIN +syn keyword baanConstant ENOCURR +syn keyword baanConstant ENODD +syn keyword baanConstant ENODELAYEDLOCK +syn keyword baanConstant ENODEV +syn keyword baanConstant ENOENT +syn keyword baanConstant ENOEXEC +syn keyword baanConstant ENOLOK +syn keyword baanConstant ENOMEM +syn keyword baanConstant ENONFS +syn keyword baanConstant ENOREC +syn keyword baanConstant ENOSERVER +syn keyword baanConstant ENOSHMEM +syn keyword baanConstant ENOSPC +syn keyword baanConstant ENOTABLE +syn keyword baanConstant ENOTBLK +syn keyword baanConstant ENOTDIR +syn keyword baanConstant ENOTEXCL +syn keyword baanConstant ENOTINRANGE +syn keyword baanConstant ENOTLOCKED +syn keyword baanConstant ENOTOPEN +syn keyword baanConstant ENOTRANS +syn keyword baanConstant ENOTTY +syn keyword baanConstant ENXIO +syn keyword baanConstant ENUMMASK.INITIAL +syn keyword baanConstant ENUMMASK.GENERAL +syn keyword baanConstant EPERM +syn keyword baanConstant EPIPE +syn keyword baanConstant EPRIMKEY +syn keyword baanConstant ERANGE +syn keyword baanConstant EREFERENCE +syn keyword baanConstant EREFEXISTS +syn keyword baanConstant EREFLOCKED +syn keyword baanConstant EREFNOTEXISTS +syn keyword baanConstant EREFUNDEFINED +syn keyword baanConstant EREFUPDATE +syn keyword baanConstant EROFS +syn keyword baanConstant EROWCHANGED +syn keyword baanConstant ESPIPE +syn keyword baanConstant ESQLCARDINALITYVIOLATION +syn keyword baanConstant ESQLDIVBYZERO +syn keyword baanConstant ESQLFILEIO +syn keyword baanConstant ESQLINDEXOUTOFDIMS +syn keyword baanConstant ESQLINVALIDPARAMETERTYPE +syn keyword baanConstant ESQLQUERY +syn keyword baanConstant ESQLREFER +syn keyword baanConstant ESQLSTRINGTRUNCATION +syn keyword baanConstant ESQLSUBSTRINGERROR +syn keyword baanConstant ESQLSYNTAX +syn keyword baanConstant ESRCH +syn keyword baanConstant ETABLEEXIST +syn keyword baanConstant ETOOMANY +syn keyword baanConstant ETRANSACTIONON +syn keyword baanConstant ETXTBSY +syn keyword baanConstant EUNALLOWEDCOMPNR +syn keyword baanConstant EVTALLEVENTMASK +syn keyword baanConstant EVTARMBUTTON +syn keyword baanConstant EVTARMBUTTONMASK +syn keyword baanConstant EVTBUCKETMESSAGE +syn keyword baanConstant EVTBUTTON1 +syn keyword baanConstant EVTBUTTON1MASK +syn keyword baanConstant EVTBUTTON2 +syn keyword baanConstant EVTBUTTON2MASK +syn keyword baanConstant EVTBUTTON3 +syn keyword baanConstant EVTBUTTON3MASK +syn keyword baanConstant EVTBUTTON4 +syn keyword baanConstant EVTBUTTON4MASK +syn keyword baanConstant EVTBUTTON5 +syn keyword baanConstant EVTBUTTON5MASK +syn keyword baanConstant EVTBUTTONCHECKED +syn keyword baanConstant EVTBUTTONDPRESS +syn keyword baanConstant EVTBUTTONDPRESSMASK +syn keyword baanConstant EVTBUTTONMOTION +syn keyword baanConstant EVTBUTTONMOTIONMASK +syn keyword baanConstant EVTBUTTONPRESS +syn keyword baanConstant EVTBUTTONPRESSMASK +syn keyword baanConstant EVTBUTTONRELEASE +syn keyword baanConstant EVTBUTTONRELEASEMASK +syn keyword baanConstant EVTBUTTONSELECT +syn keyword baanConstant EVTBUTTONSELECTMASK +syn keyword baanConstant EVTBUTTONUNCHECKED +syn keyword baanConstant EVTBUTTONUNDEFINED +syn keyword baanConstant EVTCHANGEFOCUS +syn keyword baanConstant EVTCHANGEFOCUSMASK +syn keyword baanConstant EVTCHANNELEVENT +syn keyword baanConstant EVTCHECKBOXMASK +syn keyword baanConstant EVTCHECKBOXSELECT +syn keyword baanConstant EVTCLIENTMESSAGE +syn keyword baanConstant EVTCONNECTREQUEST +syn keyword baanConstant EVTCONTROLMASK +syn keyword baanConstant EVTDEATHCHILD +syn keyword baanConstant EVTDEATHCHILDMASK +syn keyword baanConstant EVTDISARMBUTTON +syn keyword baanConstant EVTDISARMBUTTONMASK +syn keyword baanConstant EVTDLLEVENT +syn keyword baanConstant EVTDLLEVENTMASK +syn keyword baanConstant EVTENTERNOTIFY +syn keyword baanConstant EVTENTERNOTIFYMASK +syn keyword baanConstant EVTFIELDSELECT +syn keyword baanConstant EVTFIELDSELECTMASK +syn keyword baanConstant EVTGRIDACTIVATE +syn keyword baanConstant EVTGRIDBUTTONPRESS +syn keyword baanConstant EVTGRIDCHANGEDATA +syn keyword baanConstant EVTGRIDCHANGEFOCUS +syn keyword baanConstant EVTGRIDEVENT +syn keyword baanConstant EVTGRIDEVENTMASK +syn keyword baanConstant EVTGRIDFOCUSCHANGEDBYMOUSE +syn keyword baanConstant EVTGRIDLISTBOXCHANGE +syn keyword baanConstant EVTGRIDMARKCELL +syn keyword baanConstant EVTGRIDMARKCOLUMN +syn keyword baanConstant EVTGRIDMARKRANGE +syn keyword baanConstant EVTGRIDMARKROW +syn keyword baanConstant EVTGRIDMOVECOLUMN +syn keyword baanConstant EVTGRIDMOVEROW +syn keyword baanConstant EVTGRIDRESETSELECTION +syn keyword baanConstant EVTGRIDRESIZECOLUMN +syn keyword baanConstant EVTGRIDRESIZEROW +syn keyword baanConstant EVTHELPCOMMAND +syn keyword baanConstant EVTHELPCONTEXT +syn keyword baanConstant EVTHELPEVENT +syn keyword baanConstant EVTHELPEVENTMASK +syn keyword baanConstant EVTIOEVENT +syn keyword baanConstant EVTIOEVENTMASK +syn keyword baanConstant EVTKEYPRESS +syn keyword baanConstant EVTKEYPRESSMASK +syn keyword baanConstant EVTKILLEVENT +syn keyword baanConstant EVTLEAVENOTIFY +syn keyword baanConstant EVTLEAVENOTIFYMASK +syn keyword baanConstant EVTLISTBOXREASONACTIVATE +syn keyword baanConstant EVTLISTBOXREASONSELECTION +syn keyword baanConstant EVTLISTBOXREASONTEXT +syn keyword baanConstant EVTLISTBOXSELECT +syn keyword baanConstant EVTLISTBOXSELECTMASK +syn keyword baanConstant EVTLOCKMASK +syn keyword baanConstant EVTMAXSIZE +syn keyword baanConstant EVTMENUSELECT +syn keyword baanConstant EVTMENUSELECTMASK +syn keyword baanConstant EVTMOD1MASK +syn keyword baanConstant EVTMOVEWINDOW +syn keyword baanConstant EVTMOVEWINDOWMASK +syn keyword baanConstant EVTNAVIGATOREVENT +syn keyword baanConstant EVTNAVIGATOREVENTMASK +syn keyword baanConstant EVTNOEVENTMASK +syn keyword baanConstant EVTOLEAUTOMATION +syn keyword baanConstant EVTOLECLOSE +syn keyword baanConstant EVTOLECREATEINSTANCE +syn keyword baanConstant EVTOLEDATACHANGED +syn keyword baanConstant EVTOLEEVENT +syn keyword baanConstant EVTOLEEVENTMASK +syn keyword baanConstant EVTOLEHIDEWINDOW +syn keyword baanConstant EVTOLELOADDATA +syn keyword baanConstant EVTOLELOCKSERVER +syn keyword baanConstant EVTOLEOBJECTWINDOWINVISIBLE +syn keyword baanConstant EVTOLEOBJECTWINDOWVISIBLE +syn keyword baanConstant EVTOLERELEASED +syn keyword baanConstant EVTOLESAVEDATA +syn keyword baanConstant EVTOLESETHOSTNAMES +syn keyword baanConstant EVTOLESHOWOBJECT +syn keyword baanConstant EVTOLESHOWWINDOW +syn keyword baanConstant EVTOLEUNLOCKSERVER +syn keyword baanConstant EVTOPTIONSELECT +syn keyword baanConstant EVTPROCESSEVENT +syn keyword baanConstant EVTPUSHBUTTON +syn keyword baanConstant EVTRADIOBOXMASK +syn keyword baanConstant EVTRADIOBOXSELECT +syn keyword baanConstant EVTRESIZEWINDOW +syn keyword baanConstant EVTRESIZEWINDOWMASK +syn keyword baanConstant EVTRUNPROGEXIT +syn keyword baanConstant EVTSCROLLBARSELECT +syn keyword baanConstant EVTSCROLLBARSELECTMASK +syn keyword baanConstant EVTSETFOCUS +syn keyword baanConstant EVTSETFOCUSMASK +syn keyword baanConstant EVTSHIFTMASK +syn keyword baanConstant EVTSLIDERSELECT +syn keyword baanConstant EVTSLIDERSELECTMASK +syn keyword baanConstant EVTSOCKHASDATA +syn keyword baanConstant EVTSOCKIOERROR +syn keyword baanConstant EVTTABSELECT +syn keyword baanConstant EVTTABSELECTMASK +syn keyword baanConstant EVTTERMINATION +syn keyword baanConstant EVTTERMINATIONMASK +syn keyword baanConstant EVTTIMEREVENT +syn keyword baanConstant EVTTIMEREVENTMASK +syn keyword baanConstant EVTTREEREASONACTIVATE +syn keyword baanConstant EVTTREEREASONACTIVATEMASK +syn keyword baanConstant EVTTREEREASONCOLLAPSE +syn keyword baanConstant EVTTREEREASONCOLLAPSEMASK +syn keyword baanConstant EVTTREEREASONEXPAND +syn keyword baanConstant EVTTREEREASONEXPANDMASK +syn keyword baanConstant EVTTREEREASONSELECT +syn keyword baanConstant EVTTREEREASONSELECTMASK +syn keyword baanConstant EVTTREESELECT +syn keyword baanConstant EVTTREESELECTMASK +syn keyword baanConstant EXDEV +syn keyword baanConstant EXPLICIT.MODELESS +syn keyword baanConstant EXTEND_APPEND +syn keyword baanConstant EXTEND_OVERWRITE +syn keyword baanConstant F.ASK.HELPINFO +syn keyword baanConstant F.BACKTAB +syn keyword baanConstant F.BMS +syn keyword baanConstant F.HELP.INDEX +syn keyword baanConstant F.NEXT.FLD +syn keyword baanConstant F.NEXT.OBJ +syn keyword baanConstant F.NEXT.OCC +syn keyword baanConstant F.PREV.FLD +syn keyword baanConstant F.PREV.OBJ +syn keyword baanConstant F.PREV.OCC +syn keyword baanConstant F.RESIZE +syn keyword baanConstant F.RETURN +syn keyword baanConstant F.SCROLL +syn keyword baanConstant F.SELECT.FIELD +syn keyword baanConstant F.SELECT.OPTION +syn keyword baanConstant F.TAB +syn keyword baanConstant F.TO.CHOICE +syn keyword baanConstant F.TO.FIELD +syn keyword baanConstant F.TO.FORM +syn keyword baanConstant F.ZOOM +syn keyword baanConstant FALSE +syn keyword baanConstant FC.CURR.FIELD +syn keyword baanConstant FC.FIRST.FIELD +syn keyword baanConstant FC.FIRST.FORM +syn keyword baanConstant FC.FRM.WINDOW +syn keyword baanConstant FC.GET.HEIGHT.FORM +syn keyword baanConstant FC.GET.SELECTED.FIELD +syn keyword baanConstant FC.GET.SELECTED.OCC +syn keyword baanConstant FC.GET.WIDTH.FORM +syn keyword baanConstant FC.GOTO.FIELD +syn keyword baanConstant FC.GOTO.FIRST.FLD +syn keyword baanConstant FC.GOTO.FIRST.FORM +syn keyword baanConstant FC.GOTO.FORM +syn keyword baanConstant FC.GOTO.NEXT.FLD +syn keyword baanConstant FC.GOTO.NEXT.FORM +syn keyword baanConstant FC.GRA.WINDOW +syn keyword baanConstant FC.KYS.WINDOW +syn keyword baanConstant FC.LAST.FIELD +syn keyword baanConstant FC.LAST.FORM +syn keyword baanConstant FC.MAKE.FLD.CURR +syn keyword baanConstant FC.MOVE.FORM +syn keyword baanConstant FC.NEXT.FIELD +syn keyword baanConstant FC.NEXT.FORM +syn keyword baanConstant FC.OPT.WINDOW +syn keyword baanConstant FC.PREV.FIELD +syn keyword baanConstant FC.PREV.FORM +syn keyword baanConstant FC.RESIZE.FORM +syn keyword baanConstant FC.REST.FRM.ST +syn keyword baanConstant FC.RPT.WINDOW +syn keyword baanConstant FC.SAVE.FRM.ST +syn keyword baanConstant FC.SAVE.SELECT +syn keyword baanConstant FC.SEL.FIELD +syn keyword baanConstant FC.SEL.FORM +syn keyword baanConstant FC.SWITCH.ORDER.OFF +syn keyword baanConstant FC.SWITCH.ORDER.ON +syn keyword baanConstant FC.TEXT.MAIL.WINDOW +syn keyword baanConstant FIND.DATA +syn keyword baanConstant FIRST.FRM +syn keyword baanConstant FIRST.SET +syn keyword baanConstant FIRST.VIEW +syn keyword baanConstant FLDCHANGED +syn keyword baanConstant FLDKEYPRESS +syn keyword baanConstant FORM.TAB.CHANGE +syn keyword baanConstant GET.DEFAULTS +syn keyword baanConstant GETS_ALL_CHARS +syn keyword baanConstant GETS_NORMAL +syn keyword baanConstant GETS_SKIP_ALL +syn keyword baanConstant GLOBAL.COPY +syn keyword baanConstant GLOBAL.DELETE +syn keyword baanConstant HELP_ABOUT +syn keyword baanConstant HELP_ARG_LEN +syn keyword baanConstant HELP_BITMAP +syn keyword baanConstant HELP_BLOCK +syn keyword baanConstant HELP_CHOICE +syn keyword baanConstant HELP_CLIENT_IMAGE_NOTLOADED +syn keyword baanConstant HELP_CLIENT_IMAGE_READY +syn keyword baanConstant HELP_CLIENT_NEW_ARGS +syn keyword baanConstant HELP_CLIENT_NEW_INFO +syn keyword baanConstant HELP_COMMANDS +syn keyword baanConstant HELP_DOMAIN +syn keyword baanConstant HELP_ENUM +syn keyword baanConstant HELP_EXTERNAL +syn keyword baanConstant HELP_FORM +syn keyword baanConstant HELP_FORMFIELD +syn keyword baanConstant HELP_FROM_INDEX +syn keyword baanConstant HELP_GEM +syn keyword baanConstant HELP_GIF +syn keyword baanConstant HELP_GLOSSARY +syn keyword baanConstant HELP_GOTO +syn keyword baanConstant HELP_GOTOBLOCK +syn keyword baanConstant HELP_GO_SYS_DEPENDANT +syn keyword baanConstant HELP_HPGL +syn keyword baanConstant HELP_IFUNCTION +syn keyword baanConstant HELP_IFUNCTION2 +syn keyword baanConstant HELP_IFUNCTION3 +syn keyword baanConstant HELP_INDEX +syn keyword baanConstant HELP_LABEL +syn keyword baanConstant HELP_LABELHELP +syn keyword baanConstant HELP_MARK +syn keyword baanConstant HELP_MAXTYPE +syn keyword baanConstant HELP_MAX_ARGS +syn keyword baanConstant HELP_MAX_HIST +syn keyword baanConstant HELP_MAX_IMAGE +syn keyword baanConstant HELP_MENU +syn keyword baanConstant HELP_MESSAGE +syn keyword baanConstant HELP_ORGANIZER +syn keyword baanConstant HELP_POPUP_TYPE +syn keyword baanConstant HELP_POSTSCRIPT +syn keyword baanConstant HELP_QUESTION +syn keyword baanConstant HELP_REFERENCE +syn keyword baanConstant HELP_RELATION +syn keyword baanConstant HELP_RELATION2 +syn keyword baanConstant HELP_RELATION_DIAGRAM +syn keyword baanConstant HELP_REPORT +syn keyword baanConstant HELP_SESSION +syn keyword baanConstant HELP_STARTSESSION +syn keyword baanConstant HELP_STARTSHELL +syn keyword baanConstant HELP_SUBFUNCTION +syn keyword baanConstant HELP_SYSTEM_DEPENDANT +syn keyword baanConstant HELP_TABLE +syn keyword baanConstant HELP_TABLEFIELD +syn keyword baanConstant HELP_USING +syn keyword baanConstant HOOK_IS_APPLICABLE +syn keyword baanConstant HOOK_IS_DERIVED +syn keyword baanConstant HOOK_IS_MANDATORY +syn keyword baanConstant HOOK_IS_READONLY +syn keyword baanConstant HOOK_IS_VALID +syn keyword baanConstant HOOK_UPDATE +syn keyword baanConstant INCLUDE_ENUMS +syn keyword baanConstant INTERRUPT +syn keyword baanConstant LAST.FRM +syn keyword baanConstant LAST.SET +syn keyword baanConstant LAST.VIEW +syn keyword baanConstant MARK.ABORT +syn keyword baanConstant MARK.DELETE +syn keyword baanConstant MARK.GOTO.NEXT +syn keyword baanConstant MARK.GOTO.PREV +syn keyword baanConstant MARK.OCCUR +syn keyword baanConstant MARK.SHOW.OPT +syn keyword baanConstant MARK.TAG +syn keyword baanConstant MARK.TAG.ALL +syn keyword baanConstant MARK.TO.CHOICE +syn keyword baanConstant MARK.UNTAG +syn keyword baanConstant MARK.UNTAG.ALL +syn keyword baanConstant MARKONE.ACCEPT +syn keyword baanConstant MSG.ALL +syn keyword baanConstant MSG.ERROR +syn keyword baanConstant MSG.INFO +syn keyword baanConstant MSG.WARNING +syn keyword baanConstant MSG.SUCCESS +syn keyword baanConstant MODAL +syn keyword baanConstant MODAL_OVERVIEW +syn keyword baanConstant MODELESS +syn keyword baanConstant MODELESS_ALWAYS +syn keyword baanConstant MODIFY.SET +syn keyword baanConstant MULTI_OCC +syn keyword baanConstant NEXT.FRM +syn keyword baanConstant NEXT.SET +syn keyword baanConstant NEXT.VIEW +syn keyword baanConstant NO.PERM.DEFINED +syn keyword baanConstant NO.PERMISSION +syn keyword baanConstant NO.RESTRICTION +syn keyword baanConstant NO.ROLLBACK +syn keyword baanConstant OLESVR.INIT +syn keyword baanConstant OLESVR.OBJECT.CREATED +syn keyword baanConstant OLESVR.OBJECT.DESTROYED +syn keyword baanConstant OS_OS400 +syn keyword baanConstant OS_UNIX +syn keyword baanConstant OS_WINDOWS_95 +syn keyword baanConstant OS_WINDOWS_NT +syn keyword baanConstant PERM.DELETE +syn keyword baanConstant PERM.MODIFY +syn keyword baanConstant PERM.READ +syn keyword baanConstant PERM.UNKNOWN +syn keyword baanConstant PERM.WRITE +syn keyword baanConstant PI +syn keyword baanConstant PREV.FRM +syn keyword baanConstant PREV.SET +syn keyword baanConstant PREV.VIEW +syn keyword baanConstant PRINT.DATA +syn keyword baanConstant PROGRESS.BAR +syn keyword baanConstant PROGRESS.CANCEL +syn keyword baanConstant PROGRESS.NOAUTODESTROY +syn keyword baanConstant PROGRESS.RESIZEABLE +syn keyword baanConstant PROGRESS.STOP +syn keyword baanConstant PROGRESS.TIMER +syn keyword baanConstant PRTCL +syn keyword baanConstant PRTCL.END.TRACE +syn keyword baanConstant PRTCL.EXECUTE +syn keyword baanConstant PRTCL.FIELD.OPTION +syn keyword baanConstant PRTCL.GET.DATA +syn keyword baanConstant PRTCL.GET.DATA.ANSWER +syn keyword baanConstant PRTCL.MASK +syn keyword baanConstant PRTCL.PUT.DATA +syn keyword baanConstant PRTCL.START.TRACE +syn keyword baanConstant PRTCL.UNKNOWN +syn keyword baanConstant PSMAXSIZE +syn keyword baanConstant QSS.EQLE +syn keyword baanConstant QSS.EQUAL +syn keyword baanConstant QSS.FIRST +syn keyword baanConstant QSS.GT +syn keyword baanConstant QSS.GTEQ +syn keyword baanConstant QSS.LAST +syn keyword baanConstant QSS.LESS +syn keyword baanConstant QSS.LOOKUP.FOR.STRUCT +syn keyword baanConstant QSS.NE +syn keyword baanConstant QSS.SRC.DUPL.ALLOWED +syn keyword baanConstant QSS.SRC.IS.SORTED +syn keyword baanConstant RDI.CENTER +syn keyword baanConstant RDI.LEFT +syn keyword baanConstant RDI.LOWER +syn keyword baanConstant RDI.NONE +syn keyword baanConstant RDI.RIGHT +syn keyword baanConstant RDI.UPPER +syn keyword baanConstant RECOVER.SET +syn keyword baanConstant RESIZE.FRM +syn keyword baanConstant RESTART.INPUT +syn keyword baanConstant ROTATE.CURR +syn keyword baanConstant RP_IPCINFO_FLAG +syn keyword baanConstant RP_INPROC +syn keyword baanConstant RP_NOWAIT +syn keyword baanConstant RP_NOWAIT_WITH_EVENT +syn keyword baanConstant RP_WAIT +syn keyword baanConstant RUN.JOB +syn keyword baanConstant SAVE.DEFAULTS +syn keyword baanConstant SBADJUST +syn keyword baanConstant SBCONFIRM +syn keyword baanConstant SBDOWN +syn keyword baanConstant SBEND +syn keyword baanConstant SBHOME +syn keyword baanConstant SBMOVE +syn keyword baanConstant SBPGDOWN +syn keyword baanConstant SBPGUP +syn keyword baanConstant SBPRESS +syn keyword baanConstant SBRELEASE +syn keyword baanConstant SBUP +syn keyword baanConstant SEQ_F_R_LCK +syn keyword baanConstant SEQ_F_W_LCK +syn keyword baanConstant SEQ_R_LCK +syn keyword baanConstant SEQ_W_LCK +syn keyword baanConstant SESSION_NO_PERMISSION +syn keyword baanConstant SESSION_DELETE_PERMISSION +syn keyword baanConstant SESSION_INSERT_PERMISSION +syn keyword baanConstant SESSION_MODIFY_PERMISSION +syn keyword baanConstant SESSION_DISPLAY_PERMISSION +syn keyword baanConstant SESSION_PRINT_PERMISSION +syn keyword baanConstant SINGLE_OCC +syn keyword baanConstant ST.ADD.SET +syn keyword baanConstant ST.BITSET +syn keyword baanConstant ST.BITSET.ZOOM +syn keyword baanConstant ST.BRP.RUN +syn keyword baanConstant ST.BRP.SEND +syn keyword baanConstant ST.DEF.FIND +syn keyword baanConstant ST.DOUBLE +syn keyword baanConstant ST.DOUBLE.ZOOM +syn keyword baanConstant ST.DUPL.OCCUR +syn keyword baanConstant ST.ENUM +syn keyword baanConstant ST.ENUM.ZOOM +syn keyword baanConstant ST.FIND.DATA +syn keyword baanConstant ST.FIRST.SET +syn keyword baanConstant ST.LAST.SET +syn keyword baanConstant ST.MARK.DELETE +syn keyword baanConstant ST.MARK.OCCUR +syn keyword baanConstant ST.MB +syn keyword baanConstant ST.MB.ZOOM +syn keyword baanConstant ST.MODIFY.SET +syn keyword baanConstant ST.MULTI.2 +syn keyword baanConstant ST.MULTI.3 +syn keyword baanConstant ST.NUM.ZOOM +syn keyword baanConstant ST.NUMERIC +syn keyword baanConstant ST.PROG.BUSY +syn keyword baanConstant ST.SINGLE.1 +syn keyword baanConstant ST.SINGLE.3 +syn keyword baanConstant ST.SINGLE.4 +syn keyword baanConstant ST.SORT +syn keyword baanConstant ST.STRING +syn keyword baanConstant ST.STRING.ZOOM +syn keyword baanConstant ST.TEXT +syn keyword baanConstant ST.TEXT.ZOOM +syn keyword baanConstant ST.TIME +syn keyword baanConstant ST.TIME.ZOOM +syn keyword baanConstant ST.UPDATE.DB +syn keyword baanConstant ST.ZOOM +syn keyword baanConstant START.CHART +syn keyword baanConstant START.QUERY +syn keyword baanConstant START.SET +syn keyword baanConstant STAT_EXECUTABLE +syn keyword baanConstant STAT_READABLE +syn keyword baanConstant STAT_WRITEABLE +syn keyword baanConstant SUBDAL +syn keyword baanConstant TDIR +syn keyword baanConstant TEXT.MANAGER +syn keyword baanConstant TFILE +syn keyword baanConstant TRUE +syn keyword baanConstant UPDATE.DB +syn keyword baanConstant USER.0 +syn keyword baanConstant USER.1 +syn keyword baanConstant USER.2 +syn keyword baanConstant USER.3 +syn keyword baanConstant USER.4 +syn keyword baanConstant USER.5 +syn keyword baanConstant USER.6 +syn keyword baanConstant USER.7 +syn keyword baanConstant USER.8 +syn keyword baanConstant USER.9 +syn keyword baanConstant WINDOW.DIALOG +syn keyword baanConstant WINDOW.LIST +syn keyword baanConstant WINDOW.MMTCONTROLLER +syn keyword baanConstant WINDOW.MMTSATELLITE +syn keyword baanConstant WINDOW.MODAL.MENU +syn keyword baanConstant WINDOW.MODELESS.MENU +syn keyword baanConstant WINDOW.NONE +syn keyword baanConstant WINDOW.PARAMETER +syn keyword baanConstant WINDOW.SYNCHRONIZED +syn keyword baanConstant WINDOW.WIZARD +syn keyword baanConstant WITH.ROLLBACK +syn keyword baanConstant WU.DLL +syn keyword baanConstant WU.DOMA +syn keyword baanConstant WU.FLDN +syn keyword baanConstant WU.LANGOPT +syn keyword baanConstant WU.MESS +syn keyword baanConstant WU.QUES +syn keyword baanConstant WU.SESS +syn keyword baanConstant WU.TABL +syn keyword baanConstant XML_DATA +syn keyword baanConstant XML_DTD +syn keyword baanConstant XML_ELEMENT +syn keyword baanConstant XML_PI +syn keyword baanConstant Z.AUTOACCEPT +syn keyword baanConstant Z.AUTOZOOM +syn keyword baanConstant Z.MENU +syn keyword baanConstant Z.SESSION +syn keyword baanConstant ZOOM + "************************************* 4GL ************************************" " Program section @@ -83,9 +873,9 @@ syn match baan4glh "before\.display\.object:" syn match baan4glh "form\.\d\+:" syn match baan4glh "form\.all:" syn match baan4glh "form\.other:" -syn match baan4gl "init\.form:" -syn match baan4gl "before\.form:" -syn match baan4gl "after\.form:" +syn match baan4gl "init\.form:" +syn match baan4gl "before\.form:" +syn match baan4gl "after\.form:" " Choice section syn match baan4glh "choice\.start\.set:" @@ -139,31 +929,32 @@ syn match baan4glh "choice\.calendar:" syn match baan4glh "choice\.bms:" syn match baan4glh "choice\.cmd\.whats\.this:" syn match baan4glh "choice\.help\.index:" -syn match baan4gl "before\.choice:" -syn match baan4gl "on\.choice:" -syn match baan4gl "after\.choice:" +syn match baan4gl "before\.choice:" +syn match baan4gl "on\.choice:" +syn match baan4gl "after\.choice:" " Field section -syn match baan4glh "field\.\l\{5}\d\{3}\.\l\{4}\.\=c\=:" +syn match baan4glh "field\.\l\{5}\d\{3}\.\l\{4,8}\.\=c\=:" syn match baan4glh "field\.e\..\+:" syn match baan4glh "field\.all:" syn match baan4glh "field\.other:" -syn match baan4gl "init\.field:" -syn match baan4gl "before\.field:" -syn match baan4gl "before\.input:" -syn match baan4gl "before\.display:" -syn match baan4gl "before\.zoom:" -syn match baan4gl "before\.checks:" -syn match baan4gl "domain\.error:" -syn match baan4gl "ref\.input:" -syn match baan4gl "ref\.display:" -syn match baan4gl "check\.input:" -syn match baan4gl "on\.input:" -syn match baan4gl "when\.field\.changes:" -syn match baan4gl "after\.zoom:" -syn match baan4gl "after\.input:" -syn match baan4gl "after\.display:" -syn match baan4gl "after\.field:" +syn match baan4gl "init\.field:" +syn match baan4gl "before\.field:" +syn match baan4gl "before\.input:" +syn match baan4gl "before\.display:" +syn match baan4gl "selection\.filter:" +syn match baan4gl "before\.zoom:" +syn match baan4gl "before\.checks:" +syn match baan4gl "domain\.error:" +syn match baan4gl "ref\.input:" +syn match baan4gl "ref\.display:" +syn match baan4gl "check\.input:" +syn match baan4gl "on\.input:" +syn match baan4gl "when\.field\.changes:" +syn match baan4gl "after\.zoom:" +syn match baan4gl "after\.input:" +syn match baan4gl "after\.display:" +syn match baan4gl "after\.field:" " Group section syn match baan4glh "group\.\d\+:" @@ -175,6 +966,7 @@ syn match baan4gl "after\.group:" syn match baan4glh "zoom\.from\..\+:" syn match baan4gl "on\.entry:" syn match baan4gl "on\.exit:" + " Main table section syn match baan4glh "main\.table\.io:" syn match baan4gl "before\.read:" @@ -190,6 +982,24 @@ syn match baan4gl "after\.delete:" syn match baan4gl "after\.skip\.delete:" syn match baan4gl "read\.view:" +"**************************** Dal Hooks ******************************** +syn keyword baanDalHook after.abort.transaction after.commit.transaction after.destroy.object +syn keyword baanDalHook after.change.object after.get.object after.new.object after.save.object before.change.object +syn keyword baanDalHook before.destroy.object before.get.object before.new.object before.open.object.set before.save.object +syn keyword baanDalHook method.is.allowed set.object.defaults + +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.check" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.valid" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.applicable" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.never.applicable" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.derived" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.readonly" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.is.mandatory" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.make.valid" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\.update" +syn match baanDalHook "\l\{5}\d\{3}\.\l\{4,8}\..*\.is.applicable" + + "number without a dot." syn match baanNumber "\<\-\=\d\+\>" "number with dot" @@ -197,8 +1007,10 @@ syn match baanNumber "\<\-\=\d\+\.\d*\>" "number starting with a dot" syn match baanNumber "\<\-\=\.\d\+\>" -" String" -syn region baanString start=+"+ skip=+""+ end=+"+ +" String Error does not work correct with vim 6.0 +syn match baanOpenStringError +^[^^"]+ display contained excludenl +syn region baanString start=+"+ skip=+""+ end=+"+ end=+^[^^]+ contains=baanOpenStringError keepend + " Comment" syn match baanComment "|$" syn match baanComment "|.$" @@ -208,20 +1020,885 @@ syn match baanCommenth "^|#lra.*$" syn match baanCommenth "^|#mdm.*$" syn match baanCommenth "^|#[0-9][0-9][0-9][0-9][0-9].*$" syn match baanCommenth "^|#N\=o\=Include.*$" -syn region baanComment start="dllusage" end="enddllusage" " Oldcode" syn match baanUncommented "^|[^*#].*[^ ]" +" DLL section " SpaceError" -syn match BaanSpaces " " -syn match baanSpaceError "\s*$" -syn match baanSpaceError " " +syn match baanSpaces " " +syn match baanSpaceError "\s*$" +syn match baanSpaceError " " + +" Baan error" + +if exists("baan_code_stds") && baan_code_stds +syn match BaanError "^\s*i\..*=\s*\(\k\|\"\)*\s*$" "assignment of an input var" +syn match BaanError "^\s*ref.*\s[ilse]\..*$" " ref variable defined with i, l, e and s" +syn match BaanError "^\s*const.*\s[olse]\..*$" " const variable defined with o, l, e and s" +syn match BaanError "^\s*static.*\s\(i\|g\|l\|o\|io\)\..*$" " static defined without s." +syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\so\.\k*[,)]" " ref variable without ref" +syn match BaanError "^\s*\(domain\s\|long\s\|string\s\).*\se\.\k*[,)]" " 'e.' variable without extern" +syn match BaanError "^\s*i\..*,\s*|\s*ref.*$" " +endif + +"**************************** bshell functions ******************************** +syn match baanBshell "\<shiftl\$" +syn match baanBshell "\<shiftr\$" +syn match baanBshell "\<shiftc\$" +syn match baanBshell "\<strip\$" +syn match baanBshell "\<tolower\$" +syn match baanBshell "\<toupper\$" +syn keyword baanBshell isdigit +syn keyword baanBshell isspace +syn match baanBshell "\<chr\$" +syn keyword baanBshell len.in.bytes +syn keyword baanBshell rpos +syn match baanBshell "\<sprintf\$" +syn match baanBshell "\<vsprintf\$" +syn match baanBshell "\<concat\$" +syn keyword baanBshell gregdate +syn match baanBshell "\<w.to.dat\$" +syn keyword baanBshell ttyname +syn match baanBshell "\<ttyname\$" +syn match baanBshell "\<creat.tmp.file\$" +syn match baanBshell "\<string.set\$" +syn keyword baanBshell string.scan +syn keyword baanBshell not.fixed +syn keyword baanBshell dummy +syn keyword baanBshell alloc.mem +syn keyword baanBshell free.mem +syn keyword baanBshell copy.mem +syn keyword baanBshell cmp.mem +syn keyword baanBshell set.mem +syn keyword baanBshell num.to.date +syn keyword baanBshell date.to.num +syn keyword baanBshell num.to.week +syn keyword baanBshell week.to.num +syn match baanBshell "\<num.to.date\$" +syn keyword baanBshell expr.compile +syn keyword baanBshell l.expr +syn keyword baanBshell d.expr +syn match baanBshell "\<s.expr\$" +syn keyword baanBshell expr.free +syn keyword baanBshell compnr.check +syn match baanBshell "\<bse.dir\$" +syn match baanBshell "\<bse.tmp.dir\$" +syn match baanBshell "\<bse.release\$" +syn match baanBshell "\<bse.portset\$" +syn match baanBshell "\<getenv\$" +syn keyword baanBshell base.extern +syn keyword baanBshell at.base +syn keyword baanBshell get.compnr +syn keyword baanBshell base.next +syn keyword baanBshell get.argc +syn keyword baanBshell get.long.arg +syn keyword baanBshell get.double.arg +syn keyword baanBshell get.string.arg +syn keyword baanBshell get.arg.type +syn keyword baanBshell put.long.arg +syn keyword baanBshell put.double.arg +syn keyword baanBshell put.string.arg +syn keyword baanBshell setenv +syn keyword baanBshell cmp.password +syn match baanBshell "\<crypt.password\$" +syn keyword baanBshell is.password.ok +syn keyword baanBshell block.cipher.encrypt +syn keyword baanBshell block.cipher.decrypt +syn keyword baanBshell encrypt.user.password +syn keyword baanBshell verify.user.password +syn keyword baanBshell asm.put.instance.id +syn match baanBshell "\<date.to.inputstr\$" +syn keyword baanBshell inputstr.to.date +syn match baanBshell "\<hostname\$" +syn keyword baanBshell base64.encode +syn keyword baanBshell base64.decode +syn keyword baanBshell sha.create +syn keyword baanBshell sha.initialize +syn keyword baanBshell sha.add.data +syn keyword baanBshell sha.compute.output +syn keyword baanBshell sha.destroy +syn match baanBshell "\<uuid.generate\$" +syn match baanBshell "\<uuid.format\$" +syn keyword baanBshell resolve.labels.by.lookupkey +syn keyword baanBshell resolve.labels.by.codepair +syn keyword baanBshell lookupkey.hash +syn keyword baanBshell lookupkey.unhash +syn match baanBshell "\<mb.long.to.str\$" +syn keyword baanBshell mb.width +syn match baanBshell "\<mb.localename\$" +syn match baanBshell "\<mb.tss.clean\$" +syn match baanBshell "\<mb.ext.clean\$" +syn match baanBshell "\<mb.import\$" +syn match baanBshell "\<mb.export\$" +syn keyword baanBshell mb.import.raw +syn keyword baanBshell mb.export.raw +syn keyword baanBshell uni.import +syn keyword baanBshell uni.export +syn keyword baanBshell utf8.import +syn keyword baanBshell utf8.export +syn keyword baanBshell mb.strpos +syn keyword baanBshell mb.scrpos +syn keyword baanBshell mb.char +syn keyword baanBshell mb.type +syn match baanBshell "\<mb.cast\$" +syn match baanBshell "\<mb.cast.to.str\$" +syn keyword baanBshell mb.display +syn keyword baanBshell mb.isbidi +syn keyword baanBshell mb.isbidi.language +syn match baanBshell "\<mb.rev\$" +syn keyword baanBshell mb.hasbidi +syn keyword baanBshell mb.kb.lang +syn keyword baanBshell mb.locale.info +syn keyword baanBshell mb.locale.enumerate +syn keyword baanBshell mb.nsets +syn keyword baanBshell mb.set.info +syn keyword baanBshell mb.char.info +syn keyword baanBshell key.compare +syn keyword baanBshell set.fields.default +syn keyword baanBshell table.round +syn keyword baanBshell halfadj +syn keyword baanBshell round +syn keyword baanBshell format.round +syn match baanBshell "\<edit\$" +syn match baanBshell "\<str\$" +syn keyword baanBshell lval +syn keyword baanBshell acos +syn keyword baanBshell asin +syn keyword baanBshell atan +syn keyword baanBshell atan2 +syn keyword baanBshell cosh +syn keyword baanBshell sinh +syn keyword baanBshell tanh +syn keyword baanBshell log10 +syn keyword baanBshell sqrt +syn keyword baanBshell lpow +syn keyword baanBshell random +syn keyword baanBshell srand +syn keyword baanBshell rnd.init +syn keyword baanBshell rnd.i +syn keyword baanBshell rnd.d +syn keyword baanBshell double.cmp +syn match baanBshell "\<tab\$" +syn keyword baanBshell aux.open +syn keyword baanBshell aux.print +syn keyword baanBshell aux.close +syn keyword baanBshell refresh +syn keyword baanBshell cl.screen +syn match baanBshell "\<delch\$" +syn match baanBshell "\<deleteln\$" +syn match baanBshell "\<insch\$" +syn match baanBshell "\<insertln\$" +syn keyword baanBshell change.window +syn keyword baanBshell data.input +syn keyword baanBshell del.window +syn keyword baanBshell frame.window +syn keyword baanBshell new.window +syn keyword baanBshell window.size +syn keyword baanBshell move.window +syn keyword baanBshell resize.window +syn keyword baanBshell get.row +syn keyword baanBshell get.col +syn keyword baanBshell get.cp +syn keyword baanBshell map.window +syn keyword baanBshell unmap.window +syn keyword baanBshell set.bg.color +syn keyword baanBshell set.fg.color +syn keyword baanBshell no.scroll +syn keyword baanBshell scroll +syn keyword baanBshell cursor.on +syn keyword baanBshell cursor.off +syn keyword baanBshell sub.window +syn keyword baanBshell current.window +syn match baanBshell "\<keyin\$" +syn keyword baanBshell dump.screen +syn keyword baanBshell first.window +syn keyword baanBshell last.window +syn keyword baanBshell free.window +syn keyword baanBshell #input +syn keyword baanBshell #output +syn keyword baanBshell wrebuild +syn keyword baanBshell select.event.input +syn keyword baanBshell next.event +syn keyword baanBshell peek.event +syn keyword baanBshell pending.events +syn keyword baanBshell send.event +syn keyword baanBshell send.signal +syn keyword baanBshell get.display.data +syn keyword baanBshell open.display +syn keyword baanBshell link.display +syn keyword baanBshell link.keyboard +syn keyword baanBshell unlink.keyboard +syn keyword baanBshell close.display +syn keyword baanBshell current.display +syn keyword baanBshell change.display +syn keyword baanBshell sync.display.server +syn match baanBshell "\<get.class.name\$" +syn keyword baanBshell create.mwindow +syn keyword baanBshell current.mwindow +syn keyword baanBshell change.mwindow +syn keyword baanBshell set.mwindow.title +syn keyword baanBshell set.mwindow.size +syn keyword baanBshell set.mwindow.mode +syn keyword baanBshell get.mwindow.mode +syn keyword baanBshell destroy.mwindow +syn keyword baanBshell dialog +syn keyword baanBshell get.mwindow.size +syn keyword baanBshell create.bar +syn keyword baanBshell current.bar +syn keyword baanBshell change.bar +syn keyword baanBshell change.bar.attr +syn keyword baanBshell destroy.bar +syn keyword baanBshell create.bar.button +syn keyword baanBshell change.bar.item.attr +syn keyword baanBshell destroy.bar.item +syn keyword baanBshell create.object +syn keyword baanBshell change.object +syn keyword baanBshell get.object +syn keyword baanBshell query.object +syn keyword baanBshell destroy.object +syn keyword baanBshell get.event.attribute +syn keyword baanBshell create.sub.object +syn keyword baanBshell create.sub.object.by.id +syn keyword baanBshell change.sub.object +syn keyword baanBshell get.sub.object +syn keyword baanBshell query.sub.object +syn keyword baanBshell destroy.sub.object +syn keyword baanBshell create.arglist +syn keyword baanBshell add.arg +syn keyword baanBshell add.ref.arg +syn keyword baanBshell delete.arg +syn keyword baanBshell print.arglist +syn keyword baanBshell destroy.arglist +syn keyword baanBshell get.object.class.list +syn keyword baanBshell get.object.class +syn keyword baanBshell get.sub.object.class +syn keyword baanBshell get.resource.class +syn keyword baanBshell get.event.class +syn keyword baanBshell get.pixmap.info +syn keyword baanBshell compress.pixmap +syn keyword baanBshell decompress.pixmap +syn keyword baanBshell get.window.attrs +syn keyword baanBshell get.mwindow.attrs +syn keyword baanBshell create.gc +syn keyword baanBshell change.gc +syn keyword baanBshell get.gc +syn keyword baanBshell destroy.gc +syn keyword baanBshell load.font +syn keyword baanBshell query.font +syn keyword baanBshell free.font +syn keyword baanBshell get.typeface +syn keyword baanBshell list.fonts +syn keyword baanBshell text.extends +syn keyword baanBshell inherit.object +syn keyword baanBshell create.gtext +syn keyword baanBshell create.line +syn keyword baanBshell create.polyline +syn keyword baanBshell create.polygon +syn keyword baanBshell create.rectangle +syn keyword baanBshell create.arc +syn keyword baanBshell create.pie +syn keyword baanBshell create.composite +syn keyword baanBshell create.image +syn keyword baanBshell change.gtext +syn keyword baanBshell change.gtext.label +syn keyword baanBshell change.line +syn keyword baanBshell change.polyline +syn keyword baanBshell change.polygon +syn keyword baanBshell change.rectangle +syn keyword baanBshell change.arc +syn keyword baanBshell change.pie +syn keyword baanBshell get.gtext +syn keyword baanBshell get.gtext.label +syn keyword baanBshell get.line +syn keyword baanBshell get.polyline +syn keyword baanBshell get.polygon +syn keyword baanBshell get.rectangle +syn keyword baanBshell get.arc +syn keyword baanBshell get.pie +syn keyword baanBshell get.composite +syn keyword baanBshell get.image +syn keyword baanBshell move.gpart +syn keyword baanBshell shift.gpart +syn keyword baanBshell which.gpart +syn keyword baanBshell which.gparts +syn keyword baanBshell change.gpart.gc +syn keyword baanBshell get.gpart.gc +syn keyword baanBshell destroy.gpart +syn keyword baanBshell destroy.composite +syn keyword baanBshell first.gpart +syn keyword baanBshell last.gpart +syn keyword baanBshell next.gpart +syn keyword baanBshell prev.gpart +syn keyword baanBshell change.gpart.attr +syn keyword baanBshell get.gpart.attr +syn keyword baanBshell get.gpart +syn keyword baanBshell get.gpart.box +syn keyword baanBshell resize.gpart.box +syn keyword baanBshell move.gpart.box +syn keyword baanBshell activate +syn keyword baanBshell reactivate +syn keyword baanBshell act.and.sleep +syn keyword baanBshell sleep +syn match baanBshell "\<receive.bucket\$" +syn keyword baanBshell send.bucket +syn keyword baanBshell send.wait +syn keyword baanBshell bms.send +syn match baanBshell "\<bms.receive\$" +syn keyword baanBshell bms.receive.buffer +syn keyword baanBshell bms.add.mask +syn keyword baanBshell bms.delete.mask +syn keyword baanBshell bms.init +syn keyword baanBshell wait.and.activate +syn keyword baanBshell abort +syn keyword baanBshell kill +syn keyword baanBshell shell +syn match baanBshell "\<argv\$" +syn keyword baanBshell argc +syn keyword baanBshell get.var +syn keyword baanBshell put.var +syn keyword baanBshell get.ref.var +syn keyword baanBshell put.ref.var +syn keyword baanBshell get.indexed.var +syn keyword baanBshell put.indexed.var +syn keyword baanBshell on.change.check +syn keyword baanBshell off.change.check +syn keyword baanBshell changed +syn keyword baanBshell not.curr +syn keyword baanBshell handle.report.pool +syn keyword baanBshell get.symbol +syn keyword baanBshell suspend +syn keyword baanBshell set.timer +syn keyword baanBshell set.alarm +syn keyword baanBshell kill.timer +syn keyword baanBshell pstat +syn keyword baanBshell oipstat +syn keyword baanBshell obj_in_core +syn keyword baanBshell renice +syn keyword baanBshell kill.pgrp +syn keyword baanBshell set.pgrp +syn keyword baanBshell get.pgrp +syn keyword baanBshell grab.mwindow +syn keyword baanBshell signal +syn keyword baanBshell ptrace +syn keyword baanBshell link.on.stack +syn match baanBshell "\<zoom.to\$" +syn keyword baanBshell retry.point +syn keyword baanBshell jump.retry.point +syn keyword baanBshell retry.level +syn keyword baanBshell get.bw.hostname +syn keyword baanBshell exit +syn match baanBshell "\<dte\$" +syn keyword baanBshell times.on +syn keyword baanBshell times.off +syn keyword baanBshell times.close +syn keyword baanBshell times.total +syn keyword baanBshell times.lines +syn keyword baanBshell date.num +syn keyword baanBshell time.num +syn keyword baanBshell date.time.utc +syn keyword baanBshell utc.to.local +syn keyword baanBshell local.to.utc +syn keyword baanBshell input.field +syn keyword baanBshell output.field +syn keyword baanBshell key.to.option +syn keyword baanBshell option.to.key +syn keyword baanBshell get.choice.data +syn keyword baanBshell reset.zoom.info +syn keyword baanBshell next.field +syn keyword baanBshell print.form +syn keyword baanBshell set.field.blank +syn keyword baanBshell read.form +syn keyword baanBshell read.fast.form +syn keyword baanBshell change.form.field +syn keyword baanBshell copy.form.field +syn keyword baanBshell delete.form.field +syn keyword baanBshell iget.field.attr +syn keyword baanBshell sget.field.attr +syn keyword baanBshell menu.control +syn keyword baanBshell wait +syn match baanBshell "\<bms.peek\$" +syn keyword baanBshell create.menu +syn keyword baanBshell refresh.bar.menu +syn keyword baanBshell load.menu +syn keyword baanBshell current.menu +syn keyword baanBshell change.menu +syn keyword baanBshell popup.menu +syn keyword baanBshell set.menu +syn keyword baanBshell change.menu.attr +syn keyword baanBshell destroy.menu +syn keyword baanBshell create.menu.button +syn keyword baanBshell create.cascade.button +syn keyword baanBshell change.menu.item.name +syn keyword baanBshell change.cascade.menu +syn keyword baanBshell change.menu.item.attr +syn keyword baanBshell get.cascade.menu +syn keyword baanBshell destroy.menu.item +syn keyword baanBshell form.control +syn match baanBshell "\<form.text\$" +syn keyword baanBshell status.on +syn keyword baanBshell status.off +syn keyword baanBshell status.mess +syn keyword baanBshell status.field +syn match baanBshell "\<enum.descr\$" +syn keyword baanBshell mark.occurrence +syn keyword baanBshell start.mark +syn keyword baanBshell end.mark +syn keyword baanBshell get.attrs +syn keyword baanBshell put.attrs +syn keyword baanBshell act.zoom +syn keyword baanBshell init.first +syn keyword baanBshell init.last +syn keyword baanBshell init.next +syn keyword baanBshell init.prev +syn keyword baanBshell set.max +syn keyword baanBshell set.min +syn keyword baanBshell set.fmax +syn keyword baanBshell set.fmin +syn keyword baanBshell print.const +syn keyword baanBshell is.option.on +syn keyword baanBshell brp.build +syn keyword baanBshell brp.field +syn keyword baanBshell pathname +syn keyword baanBshell file.stat +syn keyword baanBshell file.cp +syn keyword baanBshell file.mv +syn keyword baanBshell file.rm +syn keyword baanBshell file.chown +syn keyword baanBshell file.chmod +syn keyword baanBshell stat.info +syn keyword baanBshell disk.info +syn keyword baanBshell mkdir +syn keyword baanBshell rmdir +syn keyword baanBshell open.message +syn keyword baanBshell send.message +syn keyword baanBshell recv.message +syn keyword baanBshell close.message +syn keyword baanBshell store.byte +syn keyword baanBshell store.short +syn keyword baanBshell store.long +syn keyword baanBshell store.float +syn keyword baanBshell store.double +syn keyword baanBshell load.byte +syn keyword baanBshell load.short +syn keyword baanBshell load.long +syn keyword baanBshell load.float +syn keyword baanBshell load.double +syn keyword baanBshell bit.and +syn keyword baanBshell bit.or +syn keyword baanBshell bit.exor +syn keyword baanBshell bit.inv +syn keyword baanBshell bit.in +syn keyword baanBshell bit.shiftl +syn keyword baanBshell bit.shiftr +syn keyword baanBshell check.domain +syn keyword baanBshell check.all.domain +syn keyword baanBshell seq.clearerr +syn keyword baanBshell seq.eof +syn keyword baanBshell seq.error +syn keyword baanBshell seq.open +syn keyword baanBshell seq.close +syn keyword baanBshell seq.flush +syn keyword baanBshell seq.rewind +syn keyword baanBshell seq.tell +syn keyword baanBshell seq.read +syn keyword baanBshell seq.write +syn match baanBshell "\<seq.getc\$" +syn match baanBshell "\<seq.putc\$" +syn match baanBshell "\<seq.ungetc\$" +syn keyword baanBshell seq.skip +syn keyword baanBshell seq.seek +syn keyword baanBshell seq.gets +syn keyword baanBshell seq.puts +syn keyword baanBshell seq.unlink +syn keyword baanBshell seq.spool.line +syn keyword baanBshell seq.r.long +syn keyword baanBshell seq.w.long +syn keyword baanBshell seq.r.short +syn keyword baanBshell seq.w.short +syn keyword baanBshell seq.lock +syn keyword baanBshell seq.unlock +syn keyword baanBshell seq.islocked +syn keyword baanBshell pipe.open +syn keyword baanBshell pipe.close +syn keyword baanBshell pipe.flush +syn keyword baanBshell pipe.gets +syn keyword baanBshell pipe.puts +syn keyword baanBshell pipe.read +syn keyword baanBshell pipe.write +syn keyword baanBshell pipe.clearerr +syn keyword baanBshell pipe.eof +syn keyword baanBshell pipe.error +syn keyword baanBshell sock.connect +syn keyword baanBshell sock.listen +syn keyword baanBshell sock.accept +syn keyword baanBshell sock.recv +syn keyword baanBshell sock.send +syn keyword baanBshell sock.flush +syn keyword baanBshell sock.close +syn keyword baanBshell sock.inherit +syn keyword baanBshell sock.clearerr +syn keyword baanBshell sock.eof +syn keyword baanBshell sock.error +syn keyword baanBshell get.system.info +syn keyword baanBshell get.db.count +syn keyword baanBshell get.db.system.info +syn keyword baanBshell path.is.absolute +syn keyword baanBshell make.path.absolute +syn keyword baanBshell fstat.info +syn keyword baanBshell dir.open +syn keyword baanBshell dir.open.tree +syn keyword baanBshell dir.close +syn keyword baanBshell dir.entry +syn keyword baanBshell dir.rewind +syn keyword baanBshell ims.clearerr +syn keyword baanBshell ims.eof +syn keyword baanBshell ims.error +syn keyword baanBshell ims.close +syn keyword baanBshell ims.flush +syn keyword baanBshell ims.rewind +syn keyword baanBshell ims.tell +syn keyword baanBshell ims.read +syn keyword baanBshell ims.write +syn match baanBshell "\<ims.getc\$" +syn match baanBshell "\<ims.putc\$" +syn keyword baanBshell ims.skip +syn keyword baanBshell ims.seek +syn keyword baanBshell ims.gets +syn keyword baanBshell ims.puts +syn keyword baanBshell ims.spool.line +syn keyword baanBshell ims.r.long +syn keyword baanBshell ims.w.long +syn keyword baanBshell ims.r.short +syn keyword baanBshell ims.w.short +syn keyword baanBshell ims.openfba +syn keyword baanBshell ims.openvba +syn keyword baanBshell ims.getproperties +syn keyword baanBshell ims.setvbaproperties +syn keyword baanBshell db.get.physical.compnr +syn keyword baanBshell db.bind +syn keyword baanBshell db.unbind +syn keyword baanBshell db.error +syn keyword baanBshell db.error.message +syn keyword baanBshell db.detail.error +syn keyword baanBshell db.first +syn keyword baanBshell db.last +syn keyword baanBshell db.next +syn keyword baanBshell db.prev +syn keyword baanBshell db.gt +syn keyword baanBshell db.ge +syn keyword baanBshell db.eq +syn keyword baanBshell db.curr +syn keyword baanBshell db.lt +syn keyword baanBshell db.le +syn keyword baanBshell db.delete +syn keyword baanBshell db.insert +syn keyword baanBshell db.update +syn keyword baanBshell db.check.row.changed +syn keyword baanBshell db.check.row.domains +syn keyword baanBshell db.check.restricted +syn keyword baanBshell db.ref.handle.mode +syn keyword baanBshell db.set.to.default +syn keyword baanBshell db.create.index +syn keyword baanBshell db.drop.index +syn keyword baanBshell db.change.order +syn keyword baanBshell db.create.table +syn keyword baanBshell db.clear.table +syn keyword baanBshell db.drop.table +syn keyword baanBshell db.lock.table +syn keyword baanBshell db.table.begin.import +syn keyword baanBshell db.table.end.import +syn keyword baanBshell db.table.update.statistics +syn keyword baanBshell db.indexinfo +syn keyword baanBshell db.nr.indices +syn keyword baanBshell db.nr.rows +syn keyword baanBshell db.row.length +syn keyword baanBshell db.transaction.is.on +syn keyword baanBshell commit.transaction +syn keyword baanBshell set.transaction.readonly +syn keyword baanBshell abort.transaction +syn keyword baanBshell db.record.to.columns +syn keyword baanBshell db.columns.to.record +syn keyword baanBshell db.schedule +syn keyword baanBshell db.permission +syn keyword baanBshell db.set.notransaction +syn keyword baanBshell db.set.transaction +syn keyword baanBshell db.set.child.transaction +syn keyword baanBshell get.db.permission +syn keyword baanBshell get.session.permission +syn keyword baanBshell ams.control +syn keyword baanBshell db.get.old.row +syn keyword baanBshell db.max.retry +syn keyword baanBshell sql.parse +syn keyword baanBshell sql.select.bind +syn keyword baanBshell sql.where.bind +syn keyword baanBshell sql.bind.input +syn keyword baanBshell sql.exec +syn keyword baanBshell sql.fetch +syn keyword baanBshell sql.break +syn keyword baanBshell sql.close +syn keyword baanBshell sql.error +syn keyword baanBshell sql.set.rds.full +syn keyword baanBshell rdi.table +syn keyword baanBshell rdi.index +syn keyword baanBshell rdi.column +syn keyword baanBshell rdi.table.column +syn keyword baanBshell rdi.reference +syn keyword baanBshell rdi.column.combined +syn keyword baanBshell rdi.domain +syn keyword baanBshell rdi.domain.long +syn keyword baanBshell rdi.domain.double +syn keyword baanBshell rdi.domain.string +syn keyword baanBshell rdi.domain.raw +syn keyword baanBshell rdi.domain.enum +syn keyword baanBshell rdi.domain.enum.value +syn keyword baanBshell rdi.domain.combined +syn keyword baanBshell rdi.session.info +syn keyword baanBshell rdi.session.dlls +syn keyword baanBshell rdi.ref.route +syn keyword baanBshell rdi.session.subject.info +syn keyword baanBshell rdi.session.subject +syn keyword baanBshell rdi.session.key +syn keyword baanBshell rdi.session.form +syn keyword baanBshell rdi.session.textfield +syn keyword baanBshell rdi.first.day.of.week +syn match baanBshell "\<rdi.date.input.format\$" +syn keyword baanBshell rdi.format.digits +syn keyword baanBshell rdi.permission +syn keyword baanBshell rdi.option.info +syn keyword baanBshell rdi.option.short +syn keyword baanBshell rdi.vrc.path +syn keyword baanBshell rdi.audit.hosts +syn keyword baanBshell rdi.table.sequence +syn keyword baanBshell iget.fld.attr +syn keyword baanBshell sget.fld.attr +syn keyword baanBshell iget.frm.attr +syn keyword baanBshell sget.frm.attr +syn keyword baanBshell iput.fld.attr +syn keyword baanBshell sput.fld.attr +syn keyword baanBshell iput.frm.attr +syn keyword baanBshell put.var.to.field +syn keyword baanBshell get.var.from.field +syn match baanBshell "\<rdi.etoc\$" +syn keyword baanBshell rdi.ctoe +syn keyword baanBshell get.cust.code +syn keyword baanBshell get.lic.no +syn keyword baanBshell get.cust.name +syn keyword baanBshell get.mach.id +syn keyword baanBshell fsum +syn match baanBshell "\<get.resource\$" +syn keyword baanBshell qss.sort +syn keyword baanBshell qss.search +syn keyword baanBshell load_dll +syn keyword baanBshell exec_dll_function +syn keyword baanBshell get_function +syn keyword baanBshell exec_function +syn keyword baanBshell parse_and_exec_function +syn keyword baanBshell pty.open +syn keyword baanBshell pty.close +syn keyword baanBshell pty.read +syn keyword baanBshell pty.write +syn keyword baanBshell pty.winsize +syn keyword baanBshell pty.winsize.ok +syn keyword baanBshell pty.ok +syn keyword baanBshell user.exists +syn keyword baanBshell group.exists +syn keyword baanBshell is.administrator +syn keyword baanBshell mtime +syn keyword baanBshell getcwd +syn keyword baanBshell set.strip.mode +syn keyword baanBshell set.symbol.strip.mode +syn keyword baanBshell nullify.symbol +syn keyword baanBshell bshell.pid +syn keyword baanBshell create.new.symbol +syn keyword baanBshell push.by.name +syn keyword baanBshell array.info +syn keyword baanBshell array.to.string +syn keyword baanBshell many.to.string +syn keyword baanBshell ostype +syn keyword baanBshell utc.num +syn keyword baanBshell set.time.zone +syn keyword baanBshell get.time.zone +syn keyword baanBshell run.prog +syn keyword baanBshell run.baan.prog +syn keyword baanBshell get.status.text +syn keyword baanBshell dir.is.available +syn keyword baanBshell dir.set.server +syn keyword baanBshell dir.get.last.error +syn keyword baanBshell dir.init.object +syn keyword baanBshell dir.free.object +syn keyword baanBshell dir.clear.object +syn keyword baanBshell dir.create.object +syn keyword baanBshell dir.get.object +syn keyword baanBshell dir.remove.object +syn keyword baanBshell dir.update.object +syn keyword baanBshell dir.init.search +syn keyword baanBshell dir.free.search +syn keyword baanBshell dir.execute.search +syn keyword baanBshell dir.abandon.search +syn keyword baanBshell dir.get.first.row +syn keyword baanBshell dir.get.next.row +syn keyword baanBshell dir.get.prev.row +syn keyword baanBshell dir.get.element.count +syn keyword baanBshell dir.get.element.name +syn keyword baanBshell dir.get.element.type +syn keyword baanBshell dir.get.value.count +syn keyword baanBshell dir.add.element +syn keyword baanBshell dir.add.element.int +syn keyword baanBshell dir.add.element.str +syn keyword baanBshell dir.add.element.time +syn keyword baanBshell dir.get.value.int +syn keyword baanBshell dir.get.value.str +syn keyword baanBshell dir.get.value.time +syn keyword baanBshell dir.get.value.named.str +syn keyword baanBshell dir.set.value.int +syn keyword baanBshell dir.set.value.str +syn keyword baanBshell dir.set.value.time +syn keyword baanBshell dir.set.value.named.str +syn keyword baanBshell dir.remove.element +syn keyword baanBshell dir.find.element +syn keyword baanBshell utc.add +syn keyword baanBshell type.define +syn keyword baanBshell type.free +syn keyword baanBshell type.get.fieldnumber +syn keyword baanBshell container.create +syn keyword baanBshell container.clear +syn keyword baanBshell container.resize +syn keyword baanBshell container.set.nfields +syn keyword baanBshell container.set.ifields +syn keyword baanBshell container.set.fields +syn keyword baanBshell container.get.nfields +syn keyword baanBshell container.get.ifields +syn keyword baanBshell container.get.fields +syn keyword baanBshell container.actual.size +syn keyword baanBshell container.get.actual.size +syn keyword baanBshell container.set.actual.size +syn keyword baanBshell container.size +syn keyword baanBshell container.free +syn keyword baanBshell xma.process_next_event +syn keyword baanBshell xma.init_instance +syn keyword baanBshell fini.service +syn keyword baanBshell corba.boa.process_next_event +syn keyword baanBshell corba.boa.set_impl +syn keyword baanBshell corba.available +syn keyword baanBshell corba.orb.string_to_object +syn keyword baanBshell corba.orb.release +syn keyword baanBshell corba.request.invoke +syn keyword baanBshell corba.request.send +syn keyword baanBshell corba.request.get_response +syn keyword baanBshell corba.request.object +syn keyword baanBshell corba.request.delete +syn keyword baanBshell set.debug.cpu.opts +syn keyword baanBshell get.debug.cpu.opts +syn match baanBshell "\<bsh.mesg\$" +syn keyword baanBshell toggle.cpu +syn keyword baanBshell cpu.is.debug +syn keyword baanBshell set.profprint +syn keyword baanBshell art.init +syn keyword baanBshell art.define.transaction.class +syn keyword baanBshell art.begin.transaction +syn keyword baanBshell art.update.transaction +syn keyword baanBshell art.end.transaction +syn keyword baanBshell java.new.queue +syn keyword baanBshell java.destroy.queue +syn keyword baanBshell java.install.listener +syn keyword baanBshell java.uninstall.listener +syn keyword baanBshell java.put.bucket +syn keyword baanBshell java.get.bucket +syn keyword baanBshell java.lookup.queue +syn keyword baanBshell java.execute.static.method +syn keyword baanBshell java.execute.static.method.sync +syn keyword baanBshell java.execute.static.method.async +syn keyword baanBshell xml.write +syn keyword baanBshell xml.read +syn keyword baanBshell xml.newnode +syn keyword baanBshell xml.unlinknode +syn keyword baanBshell xml.deletenode +syn keyword baanBshell xml.appendchildnode +syn keyword baanBshell xml.addnode +syn keyword baanBshell xml.insertnode +syn keyword baanBshell xml.duplicatenode +syn keyword baanBshell xml.setnodeproperties +syn keyword baanBshell xml.getnodeproperties +syn keyword baanBshell xml.deletenodeproperties +syn keyword baanBshell xml.findfirstnode +syn keyword baanBshell xml.findnodes +syn keyword baanBshell xml.findsetofsiblingnodes +syn keyword baanBshell xmlcontainsvalidcharactersonly +syn keyword baanBshell xmlwrite +syn keyword baanBshell xmlwritepretty +syn keyword baanBshell xmlwritetostring +syn keyword baanBshell xmlwriteprettytostring +syn keyword baanBshell xmlread +syn keyword baanBshell xmlreadfromstring +syn keyword baanBshell xmlnewnode +syn keyword baanBshell xmlnewdataelement +syn keyword baanBshell xmlrewritedataelement +syn keyword baanBshell xmlgetdataelement +syn keyword baanBshell xmlsetname +syn keyword baanBshell xmlsetdata +syn keyword baanBshell xmlsetattribute +syn keyword baanBshell xmldeleteattribute +syn keyword baanBshell xmlgetname +syn keyword baanBshell xmlgetdata +syn keyword baanBshell xmlgettype +syn keyword baanBshell xmlgetparent +syn keyword baanBshell xmlgetfirstchild +syn keyword baanBshell xmlgetlastchild +syn keyword baanBshell xmlgetrightsibling +syn keyword baanBshell xmlgetleftsibling +syn keyword baanBshell xmlgetnumattributes +syn keyword baanBshell xmlgetnumsiblings +syn keyword baanBshell xmlgetnumleftsiblings +syn keyword baanBshell xmlgetnumrightsiblings +syn keyword baanBshell xmlgetnumchilds +syn keyword baanBshell xmlgetattribute +syn keyword baanBshell xmlgetattributename +syn keyword baanBshell xmldelete +syn keyword baanBshell xmlunlink +syn keyword baanBshell xmlinsert +syn keyword baanBshell xmladd +syn keyword baanBshell xmlappend +syn keyword baanBshell xmlinsertinchilds +syn keyword baanBshell xmlappendtochilds +syn keyword baanBshell xmlduplicate +syn keyword baanBshell xmlduplicateandinsert +syn keyword baanBshell xmlduplicateandadd +syn keyword baanBshell xmlduplicateandappend +syn keyword baanBshell xmlduplicateandinsertinchilds +syn keyword baanBshell xmlduplicateandappendtochilds +syn keyword baanBshell xmlduplicatetoprocess +syn keyword baanBshell xmlfindfirst +syn keyword baanBshell xmlfindfirstmatch +syn keyword baanBshell xmlfindmatch +syn keyword baanBshell xmlfindnodes +syn keyword baanBshell xmlfindsetofsiblingnodes +syn keyword baanBshell xmlexecutesql +syn keyword baanBshell xmlexecutedllmethod +syn keyword baanBshell xmldllsignature +syn keyword baanBshell xmlnodetosymbol +syn keyword baanBshell xmlputstringtolog +syn keyword baanBshell xmlgetlog +syn keyword baanBshell xmlcleanuplog +syn keyword baanBshell xmlinstallloglistener +syn keyword baanBshell xmldeinstallloglistener +syn keyword baanBshell xmlinitsql +syn keyword baanBshell xmlrefreshsqlcache +syn keyword baanBshell xmlstatisticssqlcache +syn keyword baanBshell bclm.dump +syn keyword baanBshell bclm.init +syn keyword baanBshell bclm.requestlicense +syn keyword baanBshell bclm.confirmlicense +syn keyword baanBshell bclm.releaselicense +syn keyword baanBshell bclm.customerdata +syn keyword baanBshell bclm.enabledemoperiod +syn keyword baanBshell bclm.productidlicensed +syn keyword baanBshell bclm.set.desktop " 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 highlighting yet if version >= 508 || !exists("did_baan_syn_inits") if version < 508 - let did_c_syn_inits = 1 + let did_baan_syn_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> @@ -229,15 +1906,25 @@ if version >= 508 || !exists("did_baan_syn_inits") HiLink baanConditional Conditional HiLink baan3gl Statement + HiLink baan3glpre PreProc HiLink baan4gl Statement HiLink baan4glh Statement HiLink baansql Statement HiLink baansqlh Statement + HiLink baanDalHook Statement HiLink baanNumber Number HiLink baanString String + HiLink baanOpenStringError Error + HiLink baanConstant Constant HiLink baanComment Comment HiLink baanCommenth Comment HiLink baanUncommented Comment + HiLink baanDLLUsage Comment + HiLink baanFunUsage Comment + HiLink baanIdentifier Normal + HiLink baanBshell Function + HiLink baanType Type + HiLink baanStorageClass StorageClass delcommand HiLink endif diff --git a/runtime/syntax/smcl.vim b/runtime/syntax/smcl.vim index e95cecbda..d9afba6de 100644 --- a/runtime/syntax/smcl.vim +++ b/runtime/syntax/smcl.vim @@ -1,14 +1,14 @@ -" stata_smcl.vim -- Vim syntax file for smcl files. +" smcl.vim -- Vim syntax file for smcl files. " Language: SMCL -- Stata Markup and Control Language " Maintainer: Jeff Pitblado <jpitblado@stata.com> -" Last Change: 14apr2006 -" Version: 1.1.1 -" Location: http://www.stata.com/users/jpitblado/files/vimfiles/syntax/stata_smcl.vim +" Last Change: 26apr2006 +" Version: 1.1.2 " Log: " 20mar2003 updated the match definition for cmdab " 14apr2006 'syntax clear' only under version control " check for 'b:current_syntax', removed 'did_smcl_syntax_inits' +" 26apr2006 changed 'stata_smcl' to 'smcl' if version < 600 syntax clear @@ -303,6 +303,6 @@ hi def link smclLink Underlined hi def link smclComment Comment hi def link smclString String -let b:current_syntax = "stata_smcl" +let b:current_syntax = "smcl" " vim: ts=8 diff --git a/runtime/syntax/stata.vim b/runtime/syntax/stata.vim index 500560952..e1f19c84f 100644 --- a/runtime/syntax/stata.vim +++ b/runtime/syntax/stata.vim @@ -1,14 +1,16 @@ " stata.vim -- Vim syntax file for Stata do, ado, and class files. " Language: Stata and/or Mata " Maintainer: Jeff Pitblado <jpitblado@stata.com> -" Last Change: 17apr2006 -" Version: 1.1.2 -" Location: http://www.stata.com/users/jpitblado/files/vimfiles/syntax/stata.vim +" Last Change: 26apr2006 +" Version: 1.1.4 " Log: " 14apr2006 renamed syntax groups st* to stata* " 'syntax clear' only under version control " check for 'b:current_syntax', removed 'did_stata_syntax_inits' +" 17apr2006 fixed start expression for stataFunc +" 26apr2006 fixed brace confusion in stataErrInParen and stataErrInBracket +" fixed paren/bracket confusion in stataFuncGroup if version < 600 syntax clear @@ -182,7 +184,7 @@ syn region stataEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains= syn region stataString matchgroup=Nothing start=/"/ end=/"/ oneline contains=@stataMacroGroup " define clusters -syn cluster stataFuncGroup contains=@stataMacroGroup,stataFunc,stataString,stataEstring +syn cluster stataFuncGroup contains=@stataMacroGroup,stataFunc,stataString,stataEstring,stataParen,stataBracket syn cluster stataMacroGroup contains=stataGlobal,stataLocal syn cluster stataParenGroup contains=stataParenError,stataBracketError,stataBraceError,stataSpecial,stataFormat @@ -410,14 +412,14 @@ syn region stataFunc matchgroup=Function start=/\<vecdiag(/ end=/)/ contains=@st " Errors to catch " taken from $VIMRUNTIME/syntax/c.vim " catch errors caused by wrong parenthesis, braces and brackets -syn region stataParen transparent start=/(/ end=/)/ contains=ALLBUT,@stataParenGroup,stataErrInBracket,stataErrInBrace +syn region stataParen transparent start=/(/ end=/)/ contains=ALLBUT,@stataParenGroup,stataErrInBracket,stataErrInBrace syn region stataBracket transparent start=/\[/ end=/]/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBrace -syn region stataBrace transparent start=/{/ end=/}/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBracket +syn region stataBrace transparent start=/{/ end=/}/ contains=ALLBUT,@stataParenGroup,stataErrInParen,stataErrInBracket syn match stataParenError /[\])}]/ syn match stataBracketError /]/ syn match stataBraceError /}/ -syn match stataErrInParen contained /[\]{}]/ -syn match stataErrInBracket contained /[){}]/ +syn match stataErrInParen contained /[\]}]/ +syn match stataErrInBracket contained /[)}]/ syn match stataErrInBrace contained /[)\]]/ " assign highlight groups diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index fcc8f7212..da3e7575c 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 7.0 script " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> -" Last Change: April 25, 2006 -" Version: 7.0-46 +" Last Change: Apr 26, 2006 +" Version: 7.0-47 " Automatically generated keyword lists: {{{1 " Quit when a syntax file was already loaded {{{2 @@ -20,7 +20,7 @@ syn keyword vimCommand contained ab[breviate] abc[lear] abo[veleft] al[l] arga[d syn match vimCommand contained "\<z[-+^.=]" " vimOptions are caught only when contained in a vimSet {{{2 -syn keyword vimOption contained : acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cuc cul cursorcolumn cursorline cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl gtt guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel guitabtooltip helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma macatsui magic makeef makeprg mat matchpairs matchtime maxcombine maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mco mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn ph pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pumheight pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wfw wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winfixwidth winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww +syn keyword vimOption contained acd ai akm al aleph allowrevins altkeymap ambiwidth ambw anti antialias ar arab arabic arabicshape ari arshape autochdir autoindent autoread autowrite autowriteall aw awa background backspace backup backupcopy backupdir backupext backupskip balloondelay ballooneval balloonexpr bdir bdlay beval bex bexpr bg bh bin binary biosk bioskey bk bkc bl bomb breakat brk browsedir bs bsdir bsk bt bufhidden buflisted buftype casemap cb ccv cd cdpath cedit cf cfu ch charconvert ci cin cindent cink cinkeys cino cinoptions cinw cinwords clipboard cmdheight cmdwinheight cmp cms co columns com comments commentstring compatible complete completefunc completeopt confirm consk conskey copyindent cot cp cpo cpoptions cpt cscopepathcomp cscopeprg cscopequickfix cscopetag cscopetagorder cscopeverbose cspc csprg csqf cst csto csverb cuc cul cursorcolumn cursorline cwh debug deco def define delcombine dex dg dict dictionary diff diffexpr diffopt digraph dip dir directory display dy ea ead eadirection eb ed edcompatible ef efm ei ek enc encoding endofline eol ep equalalways equalprg errorbells errorfile errorformat esckeys et eventignore ex expandtab exrc fcl fcs fdc fde fdi fdl fdls fdm fdn fdo fdt fen fenc fencs fex ff ffs fileencoding fileencodings fileformat fileformats filetype fillchars fk fkmap flp fml fmr fo foldclose foldcolumn foldenable foldexpr foldignore foldlevel foldlevelstart foldmarker foldmethod foldminlines foldnestmax foldopen foldtext formatexpr formatlistpat formatoptions formatprg fp fs fsync ft gcr gd gdefault gfm gfn gfs gfw ghr go gp grepformat grepprg gtl gtt guicursor guifont guifontset guifontwide guiheadroom guioptions guipty guitablabel guitabtooltip helpfile helpheight helplang hf hh hi hid hidden highlight history hk hkmap hkmapp hkp hl hlg hls hlsearch ic icon iconstring ignorecase im imactivatekey imak imc imcmdline imd imdisable imi iminsert ims imsearch inc include includeexpr incsearch inde indentexpr indentkeys indk inex inf infercase insertmode is isf isfname isi isident isk iskeyword isp isprint joinspaces js key keymap keymodel keywordprg km kmp kp langmap langmenu laststatus lazyredraw lbr lcs linebreak lines linespace lisp lispwords list listchars lm lmap loadplugins lpl ls lsp lw lz ma macatsui magic makeef makeprg mat matchpairs matchtime maxcombine maxfuncdepth maxmapdepth maxmem maxmempattern maxmemtot mco mef menuitems mfd mh mis mkspellmem ml mls mm mmd mmp mmt mod modeline modelines modifiable modified more mouse mousef mousefocus mousehide mousem mousemodel mouses mouseshape mouset mousetime mp mps msm mzq mzquantum nf nrformats nu number numberwidth nuw oft ofu omnifunc operatorfunc opfunc osfiletype pa para paragraphs paste pastetoggle patchexpr patchmode path pdev penc pex pexpr pfn ph pheader pi pm pmbcs pmbfn popt preserveindent previewheight previewwindow printdevice printencoding printexpr printfont printheader printmbcharset printmbfont printoptions prompt pt pumheight pvh pvw qe quoteescape readonly remap report restorescreen revins ri rightleft rightleftcmd rl rlc ro rs rtp ru ruf ruler rulerformat runtimepath sb sbo sbr sc scb scr scroll scrollbind scrolljump scrolloff scrollopt scs sect sections secure sel selection selectmode sessionoptions sft sh shcf shell shellcmdflag shellpipe shellquote shellredir shellslash shelltemp shelltype shellxquote shiftround shiftwidth shm shortmess shortname showbreak showcmd showfulltag showmatch showmode showtabline shq si sidescroll sidescrolloff siso sj slm sm smartcase smartindent smarttab smc smd sn so softtabstop sol sp spc spell spellcapcheck spellfile spelllang spellsuggest spf spl splitbelow splitright spr sps sr srr ss ssl ssop st sta stal startofline statusline stl stmp sts su sua suffixes suffixesadd sw swapfile swapsync swb swf switchbuf sws sxq syn synmaxcol syntax ta tabline tabpagemax tabstop tag tagbsearch taglength tagrelative tags tagstack tal tb tbi tbidi tbis tbs tenc term termbidi termencoding terse textauto textmode textwidth tf tgst thesaurus tildeop timeout timeoutlen title titlelen titleold titlestring tl tm to toolbar toolbariconsize top tpm tr ts tsl tsr ttimeout ttimeoutlen ttm tty ttybuiltin ttyfast ttym ttymouse ttyscroll ttytype tw tx uc ul undolevels updatecount updatetime ut vb vbs vdir ve verbose verbosefile vfile vi viewdir viewoptions viminfo virtualedit visualbell vop wa wak warn wb wc wcm wd weirdinvert wfh wfw wh whichwrap wi wig wildchar wildcharm wildignore wildmenu wildmode wildoptions wim winaltkeys window winfixheight winfixwidth winheight winminheight winminwidth winwidth wiv wiw wm wmh wmnu wmw wop wrap wrapmargin wrapscan write writeany writebackup writedelay ws ww " vimOptions: These are the turn-off setting variants {{{2 syn keyword vimOption contained noacd noai noakm noallowrevins noaltkeymap noanti noantialias noar noarab noarabic noarabicshape noari noarshape noautochdir noautoindent noautoread noautowrite noautowriteall noaw noawa nobackup noballooneval nobeval nobin nobinary nobiosk nobioskey nobk nobl nobomb nobuflisted nocf noci nocin nocindent nocompatible noconfirm noconsk noconskey nocopyindent nocp nocscopetag nocscopeverbose nocst nocsverb nocuc nocul nocursorcolumn nocursorline nodeco nodelcombine nodg nodiff nodigraph nodisable noea noeb noed noedcompatible noek noendofline noeol noequalalways noerrorbells noesckeys noet noex noexpandtab noexrc nofen nofk nofkmap nofoldenable nogd nogdefault noguipty nohid nohidden nohk nohkmap nohkmapp nohkp nohls nohlsearch noic noicon noignorecase noim noimc noimcmdline noimd noincsearch noinf noinfercase noinsertmode nois nojoinspaces nojs nolazyredraw nolbr nolinebreak nolisp nolist noloadplugins nolpl nolz noma nomacatsui nomagic nomh noml nomod nomodeline nomodifiable nomodified nomore nomousef nomousefocus nomousehide nonu nonumber nopaste nopi nopreserveindent nopreviewwindow noprompt nopvw noreadonly noremap norestorescreen norevins nori norightleft norightleftcmd norl norlc noro nors noru noruler nosb nosc noscb noscrollbind noscs nosecure nosft noshellslash noshelltemp noshiftround noshortname noshowcmd noshowfulltag noshowmatch noshowmode nosi nosm nosmartcase nosmartindent nosmarttab nosmd nosn nosol nospell nosplitbelow nosplitright nospr nosr nossl nosta nostartofline nostmp noswapfile noswf nota notagbsearch notagrelative notagstack notbi notbidi notbs notermbidi noterse notextauto notextmode notf notgst notildeop notimeout notitle noto notop notr nottimeout nottybuiltin nottyfast notx novb novisualbell nowa nowarn nowb noweirdinvert nowfh nowfw nowildmenu nowinfixheight nowinfixwidth nowiv nowmnu nowrap nowrapscan nowrite nowriteany nowritebackup nows @@ -163,7 +163,7 @@ syn case ignore syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister] syn keyword vimUserAttrbCmplt contained augroup buffer command dir environment event expression file function help highlight mapping menu option something tag tag_listfiles var syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError -syn match vimUserAttrbCmpltFunc contained ",\%(\h\w*#\u\w*\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError +syn match vimUserAttrbCmpltFunc contained ",\%(\h\w*\%(#\u\w*\)\+\|\u\w*\)"hs=s+1 nextgroup=vimUserCmdError syn case match syn match vimUserAttrbCmplt contained "custom,\u\w*" diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index afc05d527..0812f4d3f 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1046,7 +1046,7 @@ proto.h: \ proto/window.pro \ $(NETBEANS_PRO) -.SUFFIXES: .cod +.SUFFIXES: .cod .i # Generate foo.cod (mixed source and assembly listing) from foo.c via "nmake # foo.cod" diff --git a/src/buffer.c b/src/buffer.c index 7d625f2e5..6a7fa2f54 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -2635,8 +2635,11 @@ buf_set_name(fnum, name) { vim_free(buf->b_sfname); vim_free(buf->b_ffname); - buf->b_sfname = vim_strsave(name); - buf->b_ffname = FullName_save(buf->b_sfname, FALSE); + buf->b_ffname = vim_strsave(name); + buf->b_sfname = NULL; + /* Allocate ffname and expand into full path. Also resolves .lnk + * files on Win32. */ + fname_expand(buf, &buf->b_ffname, &buf->b_sfname); buf->b_fname = buf->b_sfname; } } @@ -4187,11 +4190,11 @@ fname_expand(buf, ffname, sfname) #ifdef FEAT_SHORTCUT if (!buf->b_p_bin) { - char_u *rfname = NULL; + char_u *rfname; /* If the file name is a shortcut file, use the file it links to. */ rfname = mch_resolve_shortcut(*ffname); - if (rfname) + if (rfname != NULL) { vim_free(*ffname); *ffname = rfname; diff --git a/src/edit.c b/src/edit.c index 25fffad58..30d4c3bfa 100644 --- a/src/edit.c +++ b/src/edit.c @@ -335,6 +335,12 @@ edit(cmdchar, startln, count) } #ifdef FEAT_INS_EXPAND + /* Don't allow recursive insert mode when busy with completion. */ + if (compl_started || pum_visible()) + { + EMSG(_(e_secure)); + return FALSE; + } ins_compl_clear(); /* clear stuff for CTRL-X mode */ #endif @@ -5147,7 +5153,7 @@ insertchar(c, flags, second_indent) * when 'formatexpr' isn't set or it returns non-zero. */ #if defined(FEAT_EVAL) if (*curbuf->b_p_fex == NUL - || fex_format(curwin->w_cursor.lnum, 1L) != 0) + || fex_format(curwin->w_cursor.lnum, 1L, c) != 0) #endif internal_format(textwidth, second_indent, flags, c == NUL); } @@ -7243,6 +7249,9 @@ ins_reg() int need_redraw = FALSE; int regname; int literally = 0; +#ifdef FEAT_VISUAL + int vis_active = VIsual_active; +#endif /* * If we are going to wait for a character, show a '"'. @@ -7344,6 +7353,12 @@ ins_reg() /* If the inserted register is empty, we need to remove the '"' */ if (need_redraw || stuff_empty()) edit_unputchar(); + +#ifdef FEAT_VISUAL + /* Disallow starting Visual mode here, would get a weird mode. */ + if (!vis_active && VIsual_active) + end_visual_mode(); +#endif } /* @@ -8954,6 +8969,13 @@ ins_eol(c) * in open_line(). */ +#ifdef FEAT_VIRTUALEDIT + /* Put cursor on NUL if on the last char and coladd is 1 (happens after + * CTRL-O). */ + if (virtual_active() && curwin->w_cursor.coladd > 0) + coladvance(getviscol()); +#endif + #ifdef FEAT_RIGHTLEFT # ifdef FEAT_FKMAP if (p_altkeymap && p_fkmap) diff --git a/src/eval.c b/src/eval.c index 56e534e6d..2d85e6c2a 100644 --- a/src/eval.c +++ b/src/eval.c @@ -341,6 +341,7 @@ static struct vimvar {VV_NAME("swapname", VAR_STRING), VV_RO}, {VV_NAME("swapchoice", VAR_STRING), 0}, {VV_NAME("swapcommand", VAR_STRING), VV_RO}, + {VV_NAME("char", VAR_STRING), VV_RO}, }; /* shorthand */ @@ -9000,6 +9001,7 @@ f_feedkeys(argvars, rettv) char_u *keys, *flags; char_u nbuf[NUMBUFLEN]; int typed = FALSE; + char_u *keys_esc; rettv->vval.v_number = 0; keys = get_tv_string(&argvars[0]); @@ -9019,9 +9021,16 @@ f_feedkeys(argvars, rettv) } } - ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE), + /* Need to escape K_SPECIAL and CSI before putting the string in the + * typeahead buffer. */ + keys_esc = vim_strsave_escape_csi(keys); + if (keys_esc != NULL) + { + ins_typebuf(keys_esc, (remap ? REMAP_YES : REMAP_NONE), typebuf.tb_len, !typed, FALSE); - typebuf_was_filled = TRUE; + vim_free(keys_esc); + typebuf_was_filled = TRUE; + } } } diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 3e4c963c4..2fc5d0a94 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -1824,8 +1824,8 @@ do_one_cmd(cmdlinep, sourcing, #ifdef FEAT_AUTOCMD if (cmdmod.save_ei == NULL) { - /* Set 'eventignore' to "all". Don't free the - * existing option value, we restore it later. */ + /* Set 'eventignore' to "all". Restore the + * existing option value later. */ cmdmod.save_ei = vim_strsave(p_ei); set_string_option_direct((char_u *)"ei", -1, (char_u *)"all", OPT_FREE, SID_NONE); diff --git a/src/feature.h b/src/feature.h index 82508fdca..2d49b5c41 100644 --- a/src/feature.h +++ b/src/feature.h @@ -753,7 +753,8 @@ /* * GUI tabline */ -#if defined(FEAT_WINDOWS) && (defined(FEAT_GUI_GTK) \ +#if defined(FEAT_WINDOWS) && defined(FEAT_NORMAL) \ + && (defined(FEAT_GUI_GTK) \ || (defined(FEAT_GUI_MOTIF) && defined(HAVE_XM_NOTEBOOK_H)) \ || (defined(FEAT_GUI_MSWIN) && (!defined(_MSC_VER) || _MSC_VER > 1020))) # define FEAT_GUI_TABLINE @@ -1202,7 +1203,7 @@ */ #if (defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) \ || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) \ - && ( (defined(FEAT_TOOLBAR) \ + && ( ((defined(FEAT_TOOLBAR) || defined(FEAT_GUI_TABLINE)) \ && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)) \ || defined(FEAT_SUN_WORKSHOP) \ || defined(FEAT_NETBEANS_INTG) || defined(FEAT_EVAL)) diff --git a/src/fileio.c b/src/fileio.c index 27d8ed7e7..01953f381 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -829,7 +829,8 @@ readfile(fname, sfname, from, lines_to_skip, lines_to_read, eap, flags) /* When the file is utf-8 but a character doesn't fit in * 'encoding' don't retry. In help text editing utf-8 bytes * doesn't make sense. */ - keep_dest_enc = TRUE; + if (!enc_utf8) + keep_dest_enc = TRUE; } fenc_alloced = FALSE; } @@ -7485,12 +7486,13 @@ event_ignored(event) { char_u *p = p_ei; - if (STRICMP(p_ei, "all") == 0) - return TRUE; - - while (*p) + while (*p != NUL) + { + if (STRNICMP(p, "all", 3) == 0 && (p[3] == NUL || p[3] == ',')) + return TRUE; if (event_name2nr(p, &p) == event) return TRUE; + } return FALSE; } @@ -7503,12 +7505,17 @@ check_ei() { char_u *p = p_ei; - if (STRICMP(p_ei, "all") == 0) - return OK; - while (*p) - if (event_name2nr(p, &p) == NUM_EVENTS) + { + if (STRNICMP(p, "all", 3) == 0 && (p[3] == NUL || p[3] == ',')) + { + p += 3; + if (*p == ',') + ++p; + } + else if (event_name2nr(p, &p) == NUM_EVENTS) return FAIL; + } return OK; } diff --git a/src/getchar.c b/src/getchar.c index e6ba2485d..629ad770b 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -4301,11 +4301,29 @@ eval_map_expr(str) { char_u *res; char_u *p; - char_u *s, *d; p = eval_to_string(str, NULL, FALSE); if (p == NULL) return NULL; + res = vim_strsave_escape_csi(p); + vim_free(p); + + return res; +} +#endif + +#if defined(FEAT_EVAL) || defined(PROTO) +/* + * Copy "p" to allocated memory, escaping K_SPECIAL and CSI so that the result + * can be put in the typeahead buffer. + * Returns NULL when out of memory. + */ + char_u * +vim_strsave_escape_csi(p) + char_u *p; +{ + char_u *res; + char_u *s, *d; /* Need a buffer to hold up to three times as much. */ res = alloc((unsigned)(STRLEN(p) * 3) + 1); @@ -4331,9 +4349,6 @@ eval_map_expr(str) } *d = NUL; } - - vim_free(p); - return res; } #endif @@ -3507,14 +3507,19 @@ send_tabline_event(nr) if (nr == tabpage_index(curtab)) return FALSE; + + /* Don't put events in the input queue now. */ + if (hold_gui_events # ifdef FEAT_CMDWIN - if (cmdwin_type != 0) + || cmdwin_type != 0 +# endif + ) { /* Set it back to the current tab page. */ gui_mch_set_curtab(tabpage_index(curtab)); return FALSE; } -# endif + string[0] = CSI; string[1] = KS_TABLINE; string[2] = KE_FILLER; @@ -3534,6 +3539,10 @@ send_tabline_menu_event(tabidx, event) { char_u string[3]; + /* Don't put events in the input queue now. */ + if (hold_gui_events) + return; + string[0] = CSI; string[1] = KS_TABMENU; string[2] = KE_FILLER; @@ -21,6 +21,14 @@ #endif #ifdef FEAT_GUI_GTK +# ifdef VMS /* undef MIN and MAX because Intrinsic.h redefines them anyway */ +# ifdef MAX +# undef MAX +# endif +# ifdef MIN +# undef MIN +# endif +# endif # include <X11/Intrinsic.h> # include <gtk/gtk.h> #endif diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 88559e534..1037ac213 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -3183,6 +3183,15 @@ on_tabline_menu(GtkWidget *widget, GdkEvent *event) GtkWidget *page; GtkWidget *label; + /* When ignoring events return TRUE so that the selected page doesn't + * change. */ + if (hold_gui_events +# ifdef FEAT_CMDWIN + || cmdwin_type != 0 +# endif + ) + return TRUE; + /* Find out where the click was. */ for (clicked_page = 1; ; ++clicked_page) { @@ -3217,6 +3226,7 @@ on_tabline_menu(GtkWidget *widget, GdkEvent *event) gtk_main_quit(); } } + /* We didn't handle the event. */ return FALSE; } diff --git a/src/gui_motif.c b/src/gui_motif.c index 69399b0da..f7b32d594 100644 --- a/src/gui_motif.c +++ b/src/gui_motif.c @@ -88,6 +88,7 @@ static void scroll_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_da static void tabline_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); static void tabline_button_cb __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); static void tabline_menu_cb __ARGS((Widget w, XtPointer closure, XEvent *e, Boolean *continue_dispatch)); +static void tabline_balloon_cb __ARGS((BalloonEval *beval, int state)); #endif #ifdef FEAT_TOOLBAR # ifdef FEAT_FOOTER @@ -252,6 +253,14 @@ tabline_menu_cb(w, closure, e, continue_dispatch) if (event->button != Button3) return; + /* When ignoring events don't show the menu. */ + if (hold_gui_events +# ifdef FEAT_CMDWIN + || cmdwin_type != 0 +# endif + ) + return; + if (event->subwindow != None) { tab_w = XtWindowToWidget(XtDisplay(w), event->subwindow); @@ -267,6 +276,28 @@ tabline_menu_cb(w, closure, e, continue_dispatch) XmMenuPosition(tabLine_menu, (XButtonPressedEvent *)e) ; XtManageChild(tabLine_menu); } + +/*ARGSUSED*/ + static void +tabline_balloon_cb(beval, state) + BalloonEval *beval; + int state; +{ + int nr; + tabpage_T *tp; + + if (beval->target == (Widget)0) + return; + + XtVaGetValues(beval->target, XmNpageNumber, &nr, NULL); + tp = find_tabpage(nr); + if (tp == NULL) + return; + + get_tabline_label(tp, TRUE); + gui_mch_post_balloon(beval, NameBuff); +} + #endif /* @@ -1365,9 +1396,9 @@ gui_mch_add_menu_item(menu, idx) if (xms != NULL) XmStringFree(xms); -#ifdef FEAT_BEVAL +# ifdef FEAT_BEVAL gui_mch_menu_set_tip(menu); -#endif +# endif menu->parent = parent; menu->submenu_id = NULL; @@ -3024,8 +3055,7 @@ gui_mch_show_toolbar(int showit) int n = 0; /* Enable/Disable tooltip (OK to enable while - * currently enabled) - */ + * currently enabled). */ if (cur->tip != NULL) (*action)(cur->tip); if (!menu_is_separator(cur->name)) @@ -3326,6 +3356,7 @@ gui_mch_update_tabline(void) int last_page, tab_count; XmString label_str; char *label_cstr; + BalloonEval *beval; if (tabLine == (Widget)0) return; @@ -3338,7 +3369,7 @@ gui_mch_update_tabline(void) page_status = XmNotebookGetPageInfo(tabLine, nr, &page_info); if (page_status == XmPAGE_INVALID - || page_info.major_tab_widget == (Widget)0) + || page_info.major_tab_widget == (Widget)0) { /* Add the tab */ n = 0; @@ -3349,6 +3380,9 @@ gui_mch_update_tabline(void) XtSetArg(args[n], XmNshadowThickness , 1); n++; tab = XmCreatePushButton(tabLine, "-Empty-", args, n); XtManageChild(tab); + beval = gui_mch_create_beval_area(tab, NULL, tabline_balloon_cb, + NULL); + XtVaSetValues(tab, XmNuserData, beval, NULL); } else tab = page_info.major_tab_widget; @@ -3387,6 +3421,9 @@ gui_mch_update_tabline(void) && page_info.page_number == nr && page_info.major_tab_widget != (Widget)0) { + XtVaGetValues(page_info.major_tab_widget, XmNuserData, &beval, NULL); + if (beval != NULL) + gui_mch_destroy_beval_area(beval); XtUnmanageChild(page_info.major_tab_widget); XtDestroyWidget(page_info.major_tab_widget); } diff --git a/src/gui_w48.c b/src/gui_w48.c index 44d03d067..8fa049a9a 100644 --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -2209,6 +2209,14 @@ show_tabline_popup_menu(void) long rval; POINT pt; + /* When ignoring events don't show the menu. */ + if (hold_gui_events +# ifdef FEAT_CMDWIN + || cmdwin_type != 0 +# endif + ) + return; + tab_pmenu = CreatePopupMenu(); if (tab_pmenu == NULL) return; diff --git a/src/normal.c b/src/normal.c index 651257451..966bb3219 100644 --- a/src/normal.c +++ b/src/normal.c @@ -3209,9 +3209,7 @@ end_visual_mode() clear_showcmd(); #endif - /* Don't leave the cursor past the end of the line */ - if (curwin->w_cursor.col > 0 && *ml_get_cursor() == NUL) - --curwin->w_cursor.col; + adjust_cursor_eol(); } /* @@ -3728,8 +3728,18 @@ end: vim_free(y_array); /* If the cursor is past the end of the line put it at the end. */ - if (gchar_cursor() == NUL - && curwin->w_cursor.col > 0 + adjust_cursor_eol(); +} + +/* + * When the cursor is on the NUL past the end of the line and it should not be + * there move it left. + */ + void +adjust_cursor_eol() +{ + if (curwin->w_cursor.col > 0 + && gchar_cursor() == NUL #ifdef FEAT_VIRTUALEDIT && (ve_flags & VE_ONEMORE) == 0 #endif @@ -3737,6 +3747,7 @@ end: { /* Put the cursor on the last character in the line. */ dec_cursor(); + #ifdef FEAT_VIRTUALEDIT if (ve_flags == VE_ALL) { @@ -4326,24 +4337,38 @@ op_formatexpr(oap) redraw_curbuf_later(INVERTED); # endif - (void)fex_format(oap->start.lnum, oap->line_count); + (void)fex_format(oap->start.lnum, oap->line_count, NUL); } int -fex_format(lnum, count) +fex_format(lnum, count, c) linenr_T lnum; long count; + int c; /* character to be inserted */ { int use_sandbox = was_set_insecurely((char_u *)"formatexpr", OPT_LOCAL); int r; + char_u buf[NUMBUFLEN]; /* * Set v:lnum to the first line number and v:count to the number of lines. + * Set v:char to the character to be inserted (can be NUL). */ set_vim_var_nr(VV_LNUM, lnum); set_vim_var_nr(VV_COUNT, count); +#ifdef FEAT_MBYTE + if (has_mbyte) + buf[(*mb_char2bytes)(c, buf)] = NUL; + else +#endif + { + buf[0] = c; + buf[1] = NUL; + } + set_vim_var_string(VV_CHAR, buf, -1); + /* * Evaluate the function. */ @@ -4352,6 +4377,9 @@ fex_format(lnum, count) r = eval_to_number(curbuf->b_p_fex); if (use_sandbox) --sandbox; + + set_vim_var_string(VV_CHAR, NULL, -1); + return r; } #endif diff --git a/src/os_mswin.c b/src/os_mswin.c index efbd01d73..26d8533aa 100644 --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -2695,6 +2695,9 @@ serverInitMessaging(void) s_hinst, NULL); } +/* Used by serverSendToVim() to find an alternate server name. */ +static char_u *altname_buf_ptr = NULL; + /* * Get the title of the window "hwnd", which is the Vim server name, in * "name[namelen]" and return the length. @@ -2732,6 +2735,15 @@ enumWindowsGetServer(HWND hwnd, LPARAM lparam) return FALSE; } + /* If we are looking for an alternate server, remember this name. */ + if (altname_buf_ptr != NULL + && STRNICMP(server, id->name, STRLEN(id->name)) == 0 + && vim_isdigit(server[STRLEN(id->name)])) + { + STRCPY(altname_buf_ptr, server); + altname_buf_ptr = NULL; /* don't use another name */ + } + /* Otherwise, keep looking */ return TRUE; } @@ -2871,10 +2883,22 @@ serverSendToVim(name, cmd, result, ptarget, asExpr, silent) int asExpr; /* Expression or keys? */ int silent; /* don't complain about no server */ { - HWND target = findServer(name); + HWND target; COPYDATASTRUCT data; char_u *retval = NULL; int retcode = 0; + char_u altname_buf[MAX_PATH]; + + /* If the server name does not end in a digit then we look for an + * alternate name. e.g. when "name" is GVIM the we may find GVIM2. */ + if (STRLEN(name) > 1 && !vim_isdigit(name[STRLEN(name) - 1])) + altname_buf_ptr = altname_buf; + altname_buf[0] = NUL; + target = findServer(name); + altname_buf_ptr = NULL; + if (target == 0 && altname_buf[0] != NUL) + /* Use another server name we found. */ + target = findServer(altname_buf); if (target == 0) { diff --git a/src/proto/buffer.pro b/src/proto/buffer.pro index 9da8c3e6e..91934432d 100644 --- a/src/proto/buffer.pro +++ b/src/proto/buffer.pro @@ -1,69 +1,69 @@ /* buffer.c */ -extern int open_buffer __ARGS((int read_stdin, exarg_T *eap)); -extern int buf_valid __ARGS((buf_T *buf)); -extern void close_buffer __ARGS((win_T *win, buf_T *buf, int action)); -extern void buf_clear_file __ARGS((buf_T *buf)); -extern void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf)); -extern void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count)); -extern void handle_swap_exists __ARGS((buf_T *old_curbuf)); -extern char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit)); -extern int do_buffer __ARGS((int action, int start, int dir, int count, int forceit)); -extern void set_curbuf __ARGS((buf_T *buf, int action)); -extern void enter_buffer __ARGS((buf_T *buf)); -extern buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags)); -extern void free_buf_options __ARGS((buf_T *buf, int free_p_ff)); -extern int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit)); -extern void buflist_getfpos __ARGS((void)); -extern buf_T *buflist_findname_exp __ARGS((char_u *fname)); -extern buf_T *buflist_findname __ARGS((char_u *ffname)); -extern int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode)); -extern int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options)); -extern buf_T *buflist_findnr __ARGS((int nr)); -extern char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail)); -extern void get_winopts __ARGS((buf_T *buf)); -extern pos_T *buflist_findfpos __ARGS((buf_T *buf)); -extern linenr_T buflist_findlnum __ARGS((buf_T *buf)); -extern void buflist_list __ARGS((exarg_T *eap)); -extern int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum)); -extern int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message)); -extern void buf_set_name __ARGS((int fnum, char_u *name)); -extern void buf_name_changed __ARGS((buf_T *buf)); -extern buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum)); -extern char_u *getaltfname __ARGS((int errmsg)); -extern int buflist_add __ARGS((char_u *fname, int flags)); -extern void buflist_slash_adjust __ARGS((void)); -extern void buflist_altfpos __ARGS((void)); -extern int otherfile __ARGS((char_u *ffname)); -extern void buf_setino __ARGS((buf_T *buf)); -extern void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); -extern void col_print __ARGS((char_u *buf, int col, int vcol)); -extern void maketitle __ARGS((void)); -extern void resettitle __ARGS((void)); -extern void free_titles __ARGS((void)); -extern int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab)); -extern void get_rel_pos __ARGS((win_T *wp, char_u *str)); -extern int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen)); -extern char_u *fix_fname __ARGS((char_u *fname)); -extern void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname)); -extern char_u *alist_name __ARGS((aentry_T *aep)); -extern void do_arg_all __ARGS((int count, int forceit, int keep_tabs)); -extern void ex_buffer_all __ARGS((exarg_T *eap)); -extern void do_modelines __ARGS((int flags)); -extern int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing)); -extern void write_viminfo_bufferlist __ARGS((FILE *fp)); -extern char *buf_spname __ARGS((buf_T *buf)); -extern void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr)); -extern int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr)); -extern int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type)); -extern linenr_T buf_delsign __ARGS((buf_T *buf, int id)); -extern int buf_findsign __ARGS((buf_T *buf, int id)); -extern int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum)); -extern int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr)); -extern int buf_signcount __ARGS((buf_T *buf, linenr_T lnum)); -extern void buf_delete_all_signs __ARGS((void)); -extern void sign_list_placed __ARGS((buf_T *rbuf)); -extern void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after)); -extern void set_buflisted __ARGS((int on)); -extern int buf_contents_changed __ARGS((buf_T *buf)); -extern void wipe_buffer __ARGS((buf_T *buf, int aucmd)); +int open_buffer __ARGS((int read_stdin, exarg_T *eap)); +int buf_valid __ARGS((buf_T *buf)); +void close_buffer __ARGS((win_T *win, buf_T *buf, int action)); +void buf_clear_file __ARGS((buf_T *buf)); +void buf_freeall __ARGS((buf_T *buf, int del_buf, int wipe_buf)); +void goto_buffer __ARGS((exarg_T *eap, int start, int dir, int count)); +void handle_swap_exists __ARGS((buf_T *old_curbuf)); +char_u *do_bufdel __ARGS((int command, char_u *arg, int addr_count, int start_bnr, int end_bnr, int forceit)); +int do_buffer __ARGS((int action, int start, int dir, int count, int forceit)); +void set_curbuf __ARGS((buf_T *buf, int action)); +void enter_buffer __ARGS((buf_T *buf)); +buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags)); +void free_buf_options __ARGS((buf_T *buf, int free_p_ff)); +int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit)); +void buflist_getfpos __ARGS((void)); +buf_T *buflist_findname_exp __ARGS((char_u *fname)); +buf_T *buflist_findname __ARGS((char_u *ffname)); +int buflist_findpat __ARGS((char_u *pattern, char_u *pattern_end, int unlisted, int diffmode)); +int ExpandBufnames __ARGS((char_u *pat, int *num_file, char_u ***file, int options)); +buf_T *buflist_findnr __ARGS((int nr)); +char_u *buflist_nr2name __ARGS((int n, int fullname, int helptail)); +void get_winopts __ARGS((buf_T *buf)); +pos_T *buflist_findfpos __ARGS((buf_T *buf)); +linenr_T buflist_findlnum __ARGS((buf_T *buf)); +void buflist_list __ARGS((exarg_T *eap)); +int buflist_name_nr __ARGS((int fnum, char_u **fname, linenr_T *lnum)); +int setfname __ARGS((buf_T *buf, char_u *ffname, char_u *sfname, int message)); +void buf_set_name __ARGS((int fnum, char_u *name)); +void buf_name_changed __ARGS((buf_T *buf)); +buf_T *setaltfname __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum)); +char_u *getaltfname __ARGS((int errmsg)); +int buflist_add __ARGS((char_u *fname, int flags)); +void buflist_slash_adjust __ARGS((void)); +void buflist_altfpos __ARGS((void)); +int otherfile __ARGS((char_u *ffname)); +void buf_setino __ARGS((buf_T *buf)); +void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); +void col_print __ARGS((char_u *buf, int col, int vcol)); +void maketitle __ARGS((void)); +void resettitle __ARGS((void)); +void free_titles __ARGS((void)); +int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab)); +void get_rel_pos __ARGS((win_T *wp, char_u *str)); +int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen)); +char_u *fix_fname __ARGS((char_u *fname)); +void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname)); +char_u *alist_name __ARGS((aentry_T *aep)); +void do_arg_all __ARGS((int count, int forceit, int keep_tabs)); +void ex_buffer_all __ARGS((exarg_T *eap)); +void do_modelines __ARGS((int flags)); +int read_viminfo_bufferlist __ARGS((vir_T *virp, int writing)); +void write_viminfo_bufferlist __ARGS((FILE *fp)); +char *buf_spname __ARGS((buf_T *buf)); +void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr)); +int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr)); +int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type)); +linenr_T buf_delsign __ARGS((buf_T *buf, int id)); +int buf_findsign __ARGS((buf_T *buf, int id)); +int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum)); +int buf_findsigntype_id __ARGS((buf_T *buf, linenr_T lnum, int typenr)); +int buf_signcount __ARGS((buf_T *buf, linenr_T lnum)); +void buf_delete_all_signs __ARGS((void)); +void sign_list_placed __ARGS((buf_T *rbuf)); +void sign_mark_adjust __ARGS((linenr_T line1, linenr_T line2, long amount, long amount_after)); +void set_buflisted __ARGS((int on)); +int buf_contents_changed __ARGS((buf_T *buf)); +void wipe_buffer __ARGS((buf_T *buf, int aucmd)); /* vim: set ft=c : */ diff --git a/src/proto/charset.pro b/src/proto/charset.pro index a6f480262..4b6890d18 100644 --- a/src/proto/charset.pro +++ b/src/proto/charset.pro @@ -1,56 +1,56 @@ /* charset.c */ -extern int init_chartab __ARGS((void)); -extern int buf_init_chartab __ARGS((buf_T *buf, int global)); -extern void trans_characters __ARGS((char_u *buf, int bufsize)); -extern char_u *transstr __ARGS((char_u *s)); -extern char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen)); -extern char_u *transchar __ARGS((int c)); -extern char_u *transchar_byte __ARGS((int c)); -extern void transchar_nonprint __ARGS((char_u *buf, int c)); -extern void transchar_hex __ARGS((char_u *buf, int c)); -extern int byte2cells __ARGS((int b)); -extern int char2cells __ARGS((int c)); -extern int ptr2cells __ARGS((char_u *p)); -extern int vim_strsize __ARGS((char_u *s)); -extern int vim_strnsize __ARGS((char_u *s, int len)); -extern int chartabsize __ARGS((char_u *p, colnr_T col)); -extern int linetabsize __ARGS((char_u *s)); -extern int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len)); -extern int vim_isIDc __ARGS((int c)); -extern int vim_iswordc __ARGS((int c)); -extern int vim_iswordp __ARGS((char_u *p)); -extern int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf)); -extern int vim_isfilec __ARGS((int c)); -extern int vim_isprintc __ARGS((int c)); -extern int vim_isprintc_strict __ARGS((int c)); -extern int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col)); -extern int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col)); -extern int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp)); -extern int in_win_border __ARGS((win_T *wp, colnr_T vcol)); -extern void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end)); -extern colnr_T getvcol_nolist __ARGS((pos_T *posp)); -extern void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end)); -extern void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right)); -extern char_u *skipwhite __ARGS((char_u *p)); -extern char_u *skipdigits __ARGS((char_u *p)); -extern char_u *skiphex __ARGS((char_u *p)); -extern char_u *skiptodigit __ARGS((char_u *p)); -extern char_u *skiptohex __ARGS((char_u *p)); -extern int vim_isdigit __ARGS((int c)); -extern int vim_isxdigit __ARGS((int c)); -extern int vim_islower __ARGS((int c)); -extern int vim_isupper __ARGS((int c)); -extern int vim_toupper __ARGS((int c)); -extern int vim_tolower __ARGS((int c)); -extern char_u *skiptowhite __ARGS((char_u *p)); -extern char_u *skiptowhite_esc __ARGS((char_u *p)); -extern long getdigits __ARGS((char_u **pp)); -extern int vim_isblankline __ARGS((char_u *lbuf)); -extern void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr)); -extern int hex2nr __ARGS((int c)); -extern int hexhex2nr __ARGS((char_u *p)); -extern int rem_backslash __ARGS((char_u *str)); -extern void backslash_halve __ARGS((char_u *p)); -extern char_u *backslash_halve_save __ARGS((char_u *p)); -extern void ebcdic2ascii __ARGS((char_u *buffer, int len)); +int init_chartab __ARGS((void)); +int buf_init_chartab __ARGS((buf_T *buf, int global)); +void trans_characters __ARGS((char_u *buf, int bufsize)); +char_u *transstr __ARGS((char_u *s)); +char_u *str_foldcase __ARGS((char_u *str, int orglen, char_u *buf, int buflen)); +char_u *transchar __ARGS((int c)); +char_u *transchar_byte __ARGS((int c)); +void transchar_nonprint __ARGS((char_u *buf, int c)); +void transchar_hex __ARGS((char_u *buf, int c)); +int byte2cells __ARGS((int b)); +int char2cells __ARGS((int c)); +int ptr2cells __ARGS((char_u *p)); +int vim_strsize __ARGS((char_u *s)); +int vim_strnsize __ARGS((char_u *s, int len)); +int chartabsize __ARGS((char_u *p, colnr_T col)); +int linetabsize __ARGS((char_u *s)); +int win_linetabsize __ARGS((win_T *wp, char_u *p, colnr_T len)); +int vim_isIDc __ARGS((int c)); +int vim_iswordc __ARGS((int c)); +int vim_iswordp __ARGS((char_u *p)); +int vim_iswordc_buf __ARGS((char_u *p, buf_T *buf)); +int vim_isfilec __ARGS((int c)); +int vim_isprintc __ARGS((int c)); +int vim_isprintc_strict __ARGS((int c)); +int lbr_chartabsize __ARGS((unsigned char *s, colnr_T col)); +int lbr_chartabsize_adv __ARGS((char_u **s, colnr_T col)); +int win_lbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp)); +int in_win_border __ARGS((win_T *wp, colnr_T vcol)); +void getvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end)); +colnr_T getvcol_nolist __ARGS((pos_T *posp)); +void getvvcol __ARGS((win_T *wp, pos_T *pos, colnr_T *start, colnr_T *cursor, colnr_T *end)); +void getvcols __ARGS((win_T *wp, pos_T *pos1, pos_T *pos2, colnr_T *left, colnr_T *right)); +char_u *skipwhite __ARGS((char_u *p)); +char_u *skipdigits __ARGS((char_u *p)); +char_u *skiphex __ARGS((char_u *p)); +char_u *skiptodigit __ARGS((char_u *p)); +char_u *skiptohex __ARGS((char_u *p)); +int vim_isdigit __ARGS((int c)); +int vim_isxdigit __ARGS((int c)); +int vim_islower __ARGS((int c)); +int vim_isupper __ARGS((int c)); +int vim_toupper __ARGS((int c)); +int vim_tolower __ARGS((int c)); +char_u *skiptowhite __ARGS((char_u *p)); +char_u *skiptowhite_esc __ARGS((char_u *p)); +long getdigits __ARGS((char_u **pp)); +int vim_isblankline __ARGS((char_u *lbuf)); +void vim_str2nr __ARGS((char_u *start, int *hexp, int *len, int dooct, int dohex, long *nptr, unsigned long *unptr)); +int hex2nr __ARGS((int c)); +int hexhex2nr __ARGS((char_u *p)); +int rem_backslash __ARGS((char_u *str)); +void backslash_halve __ARGS((char_u *p)); +char_u *backslash_halve_save __ARGS((char_u *p)); +void ebcdic2ascii __ARGS((char_u *buffer, int len)); /* vim: set ft=c : */ diff --git a/src/proto/getchar.pro b/src/proto/getchar.pro index 608124bac..e504a9560 100644 --- a/src/proto/getchar.pro +++ b/src/proto/getchar.pro @@ -1,63 +1,64 @@ /* getchar.c */ -extern void free_buff __ARGS((struct buffheader *buf)); -extern char_u *get_recorded __ARGS((void)); -extern char_u *get_inserted __ARGS((void)); -extern int stuff_empty __ARGS((void)); -extern void typeahead_noflush __ARGS((int c)); -extern void flush_buffers __ARGS((int typeahead)); -extern void ResetRedobuff __ARGS((void)); -extern void saveRedobuff __ARGS((void)); -extern void restoreRedobuff __ARGS((void)); -extern void AppendToRedobuff __ARGS((char_u *s)); -extern void AppendToRedobuffLit __ARGS((char_u *str, int len)); -extern void AppendCharToRedobuff __ARGS((int c)); -extern void AppendNumberToRedobuff __ARGS((long n)); -extern void stuffReadbuff __ARGS((char_u *s)); -extern void stuffReadbuffLen __ARGS((char_u *s, long len)); -extern void stuffReadbuffSpec __ARGS((char_u *s)); -extern void stuffcharReadbuff __ARGS((int c)); -extern void stuffnumReadbuff __ARGS((long n)); -extern int start_redo __ARGS((long count, int old_redo)); -extern int start_redo_ins __ARGS((void)); -extern void stop_redo_ins __ARGS((void)); -extern int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent)); -extern int typebuf_changed __ARGS((int tb_change_cnt)); -extern int typebuf_typed __ARGS((void)); -extern int typebuf_maplen __ARGS((void)); -extern void del_typebuf __ARGS((int len, int offset)); -extern int alloc_typebuf __ARGS((void)); -extern void free_typebuf __ARGS((void)); -extern int save_typebuf __ARGS((void)); -extern void save_typeahead __ARGS((tasave_T *tp)); -extern void restore_typeahead __ARGS((tasave_T *tp)); -extern void openscript __ARGS((char_u *name, int directly)); -extern void close_all_scripts __ARGS((void)); -extern int using_script __ARGS((void)); -extern void before_blocking __ARGS((void)); -extern void updatescript __ARGS((int c)); -extern int vgetc __ARGS((void)); -extern int safe_vgetc __ARGS((void)); -extern int vpeekc __ARGS((void)); -extern int vpeekc_nomap __ARGS((void)); -extern int vpeekc_any __ARGS((void)); -extern int char_avail __ARGS((void)); -extern void vungetc __ARGS((int c)); -extern int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt)); -extern int fix_input_buffer __ARGS((char_u *buf, int len, int script)); -extern int input_available __ARGS((void)); -extern int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev)); -extern int get_map_mode __ARGS((char_u **cmdp, int forceit)); -extern void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr)); -extern void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr)); -extern int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr)); -extern int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr)); -extern char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx)); -extern int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file)); -extern int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol)); -extern int makemap __ARGS((FILE *fd, buf_T *buf)); -extern int put_escstr __ARGS((FILE *fd, char_u *strstart, int what)); -extern void check_map_keycodes __ARGS((void)); -extern char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr)); -extern void init_mappings __ARGS((void)); -extern void add_map __ARGS((char_u *map, int mode)); +void free_buff __ARGS((struct buffheader *buf)); +char_u *get_recorded __ARGS((void)); +char_u *get_inserted __ARGS((void)); +int stuff_empty __ARGS((void)); +void typeahead_noflush __ARGS((int c)); +void flush_buffers __ARGS((int typeahead)); +void ResetRedobuff __ARGS((void)); +void saveRedobuff __ARGS((void)); +void restoreRedobuff __ARGS((void)); +void AppendToRedobuff __ARGS((char_u *s)); +void AppendToRedobuffLit __ARGS((char_u *str, int len)); +void AppendCharToRedobuff __ARGS((int c)); +void AppendNumberToRedobuff __ARGS((long n)); +void stuffReadbuff __ARGS((char_u *s)); +void stuffReadbuffLen __ARGS((char_u *s, long len)); +void stuffReadbuffSpec __ARGS((char_u *s)); +void stuffcharReadbuff __ARGS((int c)); +void stuffnumReadbuff __ARGS((long n)); +int start_redo __ARGS((long count, int old_redo)); +int start_redo_ins __ARGS((void)); +void stop_redo_ins __ARGS((void)); +int ins_typebuf __ARGS((char_u *str, int noremap, int offset, int nottyped, int silent)); +int typebuf_changed __ARGS((int tb_change_cnt)); +int typebuf_typed __ARGS((void)); +int typebuf_maplen __ARGS((void)); +void del_typebuf __ARGS((int len, int offset)); +int alloc_typebuf __ARGS((void)); +void free_typebuf __ARGS((void)); +int save_typebuf __ARGS((void)); +void save_typeahead __ARGS((tasave_T *tp)); +void restore_typeahead __ARGS((tasave_T *tp)); +void openscript __ARGS((char_u *name, int directly)); +void close_all_scripts __ARGS((void)); +int using_script __ARGS((void)); +void before_blocking __ARGS((void)); +void updatescript __ARGS((int c)); +int vgetc __ARGS((void)); +int safe_vgetc __ARGS((void)); +int vpeekc __ARGS((void)); +int vpeekc_nomap __ARGS((void)); +int vpeekc_any __ARGS((void)); +int char_avail __ARGS((void)); +void vungetc __ARGS((int c)); +int inchar __ARGS((char_u *buf, int maxlen, long wait_time, int tb_change_cnt)); +int fix_input_buffer __ARGS((char_u *buf, int len, int script)); +int input_available __ARGS((void)); +int do_map __ARGS((int maptype, char_u *arg, int mode, int abbrev)); +int get_map_mode __ARGS((char_u **cmdp, int forceit)); +void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr)); +void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr)); +int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr)); +int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr)); +char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx)); +int ExpandMappings __ARGS((regmatch_T *regmatch, int *num_file, char_u ***file)); +int check_abbr __ARGS((int c, char_u *ptr, int col, int mincol)); +char_u *vim_strsave_escape_csi __ARGS((char_u *p)); +int makemap __ARGS((FILE *fd, buf_T *buf)); +int put_escstr __ARGS((FILE *fd, char_u *strstart, int what)); +void check_map_keycodes __ARGS((void)); +char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr)); +void init_mappings __ARGS((void)); +void add_map __ARGS((char_u *map, int mode)); /* vim: set ft=c : */ diff --git a/src/proto/normal.pro b/src/proto/normal.pro index 8280e45d9..55e81635e 100644 --- a/src/proto/normal.pro +++ b/src/proto/normal.pro @@ -1,26 +1,26 @@ /* normal.c */ -extern void init_normal_cmds __ARGS((void)); -extern void normal_cmd __ARGS((oparg_T *oap, int toplevel)); -extern void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank)); -extern int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent)); -extern void check_visual_highlight __ARGS((void)); -extern void end_visual_mode __ARGS((void)); -extern void reset_VIsual_and_resel __ARGS((void)); -extern void reset_VIsual __ARGS((void)); -extern int find_ident_under_cursor __ARGS((char_u **string, int find_type)); -extern int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type)); -extern void clear_showcmd __ARGS((void)); -extern int add_to_showcmd __ARGS((int c)); -extern void add_to_showcmd_c __ARGS((int c)); -extern void push_showcmd __ARGS((void)); -extern void pop_showcmd __ARGS((void)); -extern void do_check_scrollbind __ARGS((int check)); -extern void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff)); -extern int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags)); -extern void scroll_redraw __ARGS((int up, long count)); -extern void handle_tabmenu __ARGS((void)); -extern void do_nv_ident __ARGS((int c1, int c2)); -extern int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp)); -extern void start_selection __ARGS((void)); -extern void may_start_select __ARGS((int c)); +void init_normal_cmds __ARGS((void)); +void normal_cmd __ARGS((oparg_T *oap, int toplevel)); +void do_pending_operator __ARGS((cmdarg_T *cap, int old_col, int gui_yank)); +int do_mouse __ARGS((oparg_T *oap, int c, int dir, long count, int fixindent)); +void check_visual_highlight __ARGS((void)); +void end_visual_mode __ARGS((void)); +void reset_VIsual_and_resel __ARGS((void)); +void reset_VIsual __ARGS((void)); +int find_ident_under_cursor __ARGS((char_u **string, int find_type)); +int find_ident_at_pos __ARGS((win_T *wp, linenr_T lnum, colnr_T startcol, char_u **string, int find_type)); +void clear_showcmd __ARGS((void)); +int add_to_showcmd __ARGS((int c)); +void add_to_showcmd_c __ARGS((int c)); +void push_showcmd __ARGS((void)); +void pop_showcmd __ARGS((void)); +void do_check_scrollbind __ARGS((int check)); +void check_scrollbind __ARGS((linenr_T topline_diff, long leftcol_diff)); +int find_decl __ARGS((char_u *ptr, int len, int locally, int thisblock, int searchflags)); +void scroll_redraw __ARGS((int up, long count)); +void handle_tabmenu __ARGS((void)); +void do_nv_ident __ARGS((int c1, int c2)); +int get_visual_text __ARGS((cmdarg_T *cap, char_u **pp, int *lenp)); +void start_selection __ARGS((void)); +void may_start_select __ARGS((int c)); /* vim: set ft=c : */ diff --git a/src/proto/ops.pro b/src/proto/ops.pro index fb51cabe4..d1669a008 100644 --- a/src/proto/ops.pro +++ b/src/proto/ops.pro @@ -1,60 +1,61 @@ /* ops.c */ -extern int get_op_type __ARGS((int char1, int char2)); -extern int op_on_lines __ARGS((int op)); -extern int get_op_char __ARGS((int optype)); -extern int get_extra_op_char __ARGS((int optype)); -extern void op_shift __ARGS((oparg_T *oap, int curs_top, int amount)); -extern void shift_line __ARGS((int left, int round, int amount)); -extern void op_reindent __ARGS((oparg_T *oap, int (*how)(void))); -extern int get_expr_register __ARGS((void)); -extern void set_expr_line __ARGS((char_u *new_line)); -extern char_u *get_expr_line __ARGS((void)); -extern char_u *get_expr_line_src __ARGS((void)); -extern int valid_yank_reg __ARGS((int regname, int writing)); -extern void get_yank_register __ARGS((int regname, int writing)); -extern int may_get_selection __ARGS((int regname)); -extern void *get_register __ARGS((int name, int copy)); -extern void put_register __ARGS((int name, void *reg)); -extern int yank_register_mline __ARGS((int regname)); -extern int do_record __ARGS((int c)); -extern int do_execreg __ARGS((int regname, int colon, int addcr)); -extern int insert_reg __ARGS((int regname, int literally)); -extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg)); -extern int cmdline_paste_reg __ARGS((int regname, int literally)); -extern void adjust_clip_reg __ARGS((int *rp)); -extern int op_delete __ARGS((oparg_T *oap)); -extern int op_replace __ARGS((oparg_T *oap, int c)); -extern void op_tilde __ARGS((oparg_T *oap)); -extern int swapchar __ARGS((int op_type, pos_T *pos)); -extern void op_insert __ARGS((oparg_T *oap, long count1)); -extern int op_change __ARGS((oparg_T *oap)); -extern void init_yank __ARGS((void)); -extern void clear_registers __ARGS((void)); -extern int op_yank __ARGS((oparg_T *oap, int deleting, int mess)); -extern void do_put __ARGS((int regname, int dir, long count, int flags)); -extern int preprocs_left __ARGS((void)); -extern int get_register_name __ARGS((int num)); -extern void ex_display __ARGS((exarg_T *eap)); -extern void do_do_join __ARGS((long count, int insert_space)); -extern int do_join __ARGS((int insert_space)); -extern void op_format __ARGS((oparg_T *oap, int keep_cursor)); -extern void op_formatexpr __ARGS((oparg_T *oap)); -extern int fex_format __ARGS((linenr_T lnum, long count)); -extern void format_lines __ARGS((linenr_T line_count)); -extern int paragraph_start __ARGS((linenr_T lnum)); -extern int do_addsub __ARGS((int command, linenr_T Prenum1)); -extern int read_viminfo_register __ARGS((vir_T *virp, int force)); -extern void write_viminfo_registers __ARGS((FILE *fp)); -extern void x11_export_final_selection __ARGS((void)); -extern void clip_free_selection __ARGS((VimClipboard *cbd)); -extern void clip_get_selection __ARGS((VimClipboard *cbd)); -extern void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd)); -extern int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd)); -extern void dnd_yank_drag_data __ARGS((char_u *str, long len)); -extern char_u get_reg_type __ARGS((int regname, long *reglen)); -extern char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src)); -extern void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append)); -extern void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len)); -extern void clear_oparg __ARGS((oparg_T *oap)); -extern void cursor_pos_info __ARGS((void)); +int get_op_type __ARGS((int char1, int char2)); +int op_on_lines __ARGS((int op)); +int get_op_char __ARGS((int optype)); +int get_extra_op_char __ARGS((int optype)); +void op_shift __ARGS((oparg_T *oap, int curs_top, int amount)); +void shift_line __ARGS((int left, int round, int amount)); +void op_reindent __ARGS((oparg_T *oap, int (*how)(void))); +int get_expr_register __ARGS((void)); +void set_expr_line __ARGS((char_u *new_line)); +char_u *get_expr_line __ARGS((void)); +char_u *get_expr_line_src __ARGS((void)); +int valid_yank_reg __ARGS((int regname, int writing)); +void get_yank_register __ARGS((int regname, int writing)); +int may_get_selection __ARGS((int regname)); +void *get_register __ARGS((int name, int copy)); +void put_register __ARGS((int name, void *reg)); +int yank_register_mline __ARGS((int regname)); +int do_record __ARGS((int c)); +int do_execreg __ARGS((int regname, int colon, int addcr)); +int insert_reg __ARGS((int regname, int literally)); +int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg)); +int cmdline_paste_reg __ARGS((int regname, int literally)); +void adjust_clip_reg __ARGS((int *rp)); +int op_delete __ARGS((oparg_T *oap)); +int op_replace __ARGS((oparg_T *oap, int c)); +void op_tilde __ARGS((oparg_T *oap)); +int swapchar __ARGS((int op_type, pos_T *pos)); +void op_insert __ARGS((oparg_T *oap, long count1)); +int op_change __ARGS((oparg_T *oap)); +void init_yank __ARGS((void)); +void clear_registers __ARGS((void)); +int op_yank __ARGS((oparg_T *oap, int deleting, int mess)); +void do_put __ARGS((int regname, int dir, long count, int flags)); +void adjust_cursor_eol __ARGS((void)); +int preprocs_left __ARGS((void)); +int get_register_name __ARGS((int num)); +void ex_display __ARGS((exarg_T *eap)); +void do_do_join __ARGS((long count, int insert_space)); +int do_join __ARGS((int insert_space)); +void op_format __ARGS((oparg_T *oap, int keep_cursor)); +void op_formatexpr __ARGS((oparg_T *oap)); +int fex_format __ARGS((linenr_T lnum, long count, int c)); +void format_lines __ARGS((linenr_T line_count)); +int paragraph_start __ARGS((linenr_T lnum)); +int do_addsub __ARGS((int command, linenr_T Prenum1)); +int read_viminfo_register __ARGS((vir_T *virp, int force)); +void write_viminfo_registers __ARGS((FILE *fp)); +void x11_export_final_selection __ARGS((void)); +void clip_free_selection __ARGS((VimClipboard *cbd)); +void clip_get_selection __ARGS((VimClipboard *cbd)); +void clip_yank_selection __ARGS((int type, char_u *str, long len, VimClipboard *cbd)); +int clip_convert_selection __ARGS((char_u **str, long_u *len, VimClipboard *cbd)); +void dnd_yank_drag_data __ARGS((char_u *str, long len)); +char_u get_reg_type __ARGS((int regname, long *reglen)); +char_u *get_reg_contents __ARGS((int regname, int allowexpr, int expr_src)); +void write_reg_contents __ARGS((int name, char_u *str, int maxlen, int must_append)); +void write_reg_contents_ex __ARGS((int name, char_u *str, int maxlen, int must_append, int yank_type, long block_len)); +void clear_oparg __ARGS((oparg_T *oap)); +void cursor_pos_info __ARGS((void)); /* vim: set ft=c : */ diff --git a/src/spell.c b/src/spell.c index 5db914eaf..eeb362991 100644 --- a/src/spell.c +++ b/src/spell.c @@ -9333,7 +9333,7 @@ spell_add_word(word, len, bad, index, undo) { fputc('#', fd); if (undo) - smsg((char_u *)_("Word removed from %s"), NameBuff); + smsg((char_u *)_("Word removed from %s"), NameBuff); } fseek(fd, fpos_next, SEEK_SET); } @@ -9341,8 +9341,7 @@ spell_add_word(word, len, bad, index, undo) fclose(fd); } } - - if (!undo) + else { fd = mch_fopen((char *)fname, "a"); if (fd == NULL && new_spf) @@ -12860,8 +12859,12 @@ score_combine(su) } } - if (slang == NULL) /* just in case */ + if (slang == NULL) /* Using "double" without sound folding. */ + { + (void)cleanup_suggestions(&su->su_ga, su->su_maxscore, + su->su_maxcount); return; + } /* Add the alternate score to su_sga. */ for (i = 0; i < su->su_sga.ga_len; ++i) @@ -13122,7 +13125,8 @@ add_sound_suggest(su, goodword, score, lp) hi = hash_lookup(&slang->sl_sounddone, goodword, hash); if (HASHITEM_EMPTY(hi)) { - sft = (sftword_T *)alloc((unsigned)(sizeof(sftword_T) + STRLEN(goodword))); + sft = (sftword_T *)alloc((unsigned)(sizeof(sftword_T) + + STRLEN(goodword))); if (sft != NULL) { sft->sft_score = score; diff --git a/src/syntax.c b/src/syntax.c index 5308f903c..e6062411c 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -6327,12 +6327,18 @@ init_highlight(both, reset) do_highlight((char_u *)pp[i], reset, TRUE); /* Reverse looks ugly, but grey may not work for 8 colors. Thus let it - * depend on the number of colors available. */ + * depend on the number of colors available. + * With 8 colors brown is equal to yellow, need to use black for Search fg + * to avoid Statement highlighted text disappears. */ if (t_colors > 8) do_highlight((char_u *)(*p_bg == 'l' ? "Visual ctermbg=LightGrey" : "Visual ctermbg=DarkGrey"), FALSE, TRUE); else + { do_highlight((char_u *)"Visual cterm=reverse", FALSE, TRUE); + if (*p_bg == 'l') + do_highlight((char_u *)"Search ctermfg=black", FALSE, TRUE); + } #ifdef FEAT_SYN_HL /* diff --git a/src/version.h b/src/version.h index 216f60474..4e5fb2066 100644 --- a/src/version.h +++ b/src/version.h @@ -35,6 +35,6 @@ */ #define VIM_VERSION_NODOT "vim70f" #define VIM_VERSION_SHORT "7.0f" -#define VIM_VERSION_MEDIUM "7.0f01 BETA" -#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0f01 BETA (2006 Apr 25)" -#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0f01 BETA (2006 Apr 25, compiled " +#define VIM_VERSION_MEDIUM "7.0f02 BETA" +#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0f02 BETA (2006 Apr 26)" +#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0f02 BETA (2006 Apr 26, compiled " @@ -1665,7 +1665,8 @@ int vim_memcmp __ARGS((void *, void *, size_t)); #define VV_SWAPNAME 45 #define VV_SWAPCHOICE 46 #define VV_SWAPCOMMAND 47 -#define VV_LEN 48 /* number of v: vars */ +#define VV_CHAR 48 +#define VV_LEN 49 /* number of v: vars */ #ifdef FEAT_CLIPBOARD |