0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

updated for version 7.0e03

This commit is contained in:
Bram Moolenaar
2006-04-19 21:23:36 +00:00
parent c1e37901fc
commit 8424a624ce
28 changed files with 4233 additions and 2351 deletions

View File

@@ -210,7 +210,14 @@ function! htmlcomplete#CompleteTags(findstart, base)
let tag = '' let tag = ''
else else
let tag = split(context)[0] let tag = split(context)[0]
if tag =~ '[A-Z]'
let uppercase_tag = 1
let tag = tolower(tag)
else
let uppercase_tag = 0
endif
endif endif
let g:ta = tag
" Get last word, it should be attr name " Get last word, it should be attr name
let attr = matchstr(context, '.*\s\zs.*') let attr = matchstr(context, '.*\s\zs.*')
" Possible situations where any prediction would be difficult: " Possible situations where any prediction would be difficult:
@@ -438,10 +445,10 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif endif
" Value of attribute completion {{{ " Value of attribute completion {{{
" If attr contains =\s*[\"'] we catched value of attribute " If attr contains =\s*[\"'] we catched value of attribute
if attr =~ "=\s*[\"']" if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
" Let do attribute specific completion " Let do attribute specific completion
let attrname = matchstr(attr, '.*\ze\s*=') let attrname = matchstr(attr, '.*\ze\s*=')
let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*") let entered_value = matchstr(attr, ".*=\\s*[\"']\\?\\zs.*")
let values = [] let values = []
if attrname == 'href' if attrname == 'href'
" Now we are looking for local anchors defined by name or id " Now we are looking for local anchors defined by name or id
@@ -469,15 +476,21 @@ function! htmlcomplete#CompleteTags(findstart, base)
" We need special version of sbase " We need special version of sbase
let attrbase = matchstr(context, ".*[\"']") let attrbase = matchstr(context, ".*[\"']")
let attrquote = matchstr(attrbase, '.$') let attrquote = matchstr(attrbase, '.$')
if attrquote !~ "['\"]"
let attrquoteopen = '"'
let attrquote = '"'
else
let attrquoteopen = ''
endif
for m in values for m in values
" This if is needed to not offer all completions as-is " This if is needed to not offer all completions as-is
" alphabetically but sort them. Those beginning with entered " alphabetically but sort them. Those beginning with entered
" part will be as first choices " part will be as first choices
if m =~ '^'.entered_value if m =~ '^'.entered_value
call add(res, m . attrquote.' ') call add(res, attrquoteopen . m . attrquote.' ')
elseif m =~ entered_value elseif m =~ entered_value
call add(res2, m . attrquote.' ') call add(res2, attrquoteopen . m . attrquote.' ')
endif endif
endfor endfor
@@ -494,8 +507,12 @@ function! htmlcomplete#CompleteTags(findstart, base)
call htmlcomplete#LoadData() call htmlcomplete#LoadData()
endif endif
" }}} " }}}
"
let attrs = keys(g:html_omni[tag][1]) if has_key(g:html_omni, tag)
let attrs = keys(g:html_omni[tag][1])
else
return []
endif
for m in sort(attrs) for m in sort(attrs)
if m =~ '^'.attr if m =~ '^'.attr
@@ -539,6 +556,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
return [opentag.">"] return [opentag.">"]
endif endif
endif endif
" }}}
" Load data {{{ " Load data {{{
if !exists("g:html_omni") if !exists("g:html_omni")
"runtime! autoload/xml/xhtml10s.vim "runtime! autoload/xml/xhtml10s.vim
@@ -547,10 +565,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
" }}} " }}}
" Tag completion {{{ " Tag completion {{{
" Deal with tag completion. " Deal with tag completion.
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack") let opentag = tolower(xmlcomplete#GetLastOpenTag("b:unaryTagsStack"))
" MM: TODO: GLOT works always the same but with some weird situation it " MM: TODO: GLOT works always the same but with some weird situation it
" behaves as intended in HTML but screws in PHP " behaves as intended in HTML but screws in PHP
let g:ot = opentag
if opentag == '' || &ft == 'php' && !has_key(g:html_omni, opentag) if opentag == '' || &ft == 'php' && !has_key(g:html_omni, opentag)
" Hack for sometimes failing GetLastOpenTag. " Hack for sometimes failing GetLastOpenTag.
" As far as I tested fail isn't GLOT fault but problem " As far as I tested fail isn't GLOT fault but problem
@@ -559,9 +576,17 @@ function! htmlcomplete#CompleteTags(findstart, base)
let tags = keys(g:html_omni) let tags = keys(g:html_omni)
call filter(tags, 'v:val !~ "^vimxml"') call filter(tags, 'v:val !~ "^vimxml"')
else else
let tags = g:html_omni[opentag][0] if has_key(g:html_omni, opentag)
let tags = g:html_omni[opentag][0]
else
return []
endif
endif endif
" }}} " }}}
if exists("uppercase_tag") && uppercase_tag == 1
let context = tolower(context)
endif
for m in sort(tags) for m in sort(tags)
if m =~ '^'.context if m =~ '^'.context

View File

@@ -0,0 +1,325 @@
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", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "amp", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "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", "raquo", "radic", "rang", "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'],
\ { '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', 'rect', 'circle', 'poly', 'default']}
\ ],
\ 'abbr': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'acronym': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'area': [
\ [],
\ { 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'nohref': ['nohref'], 'onfocus': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'alt': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'b': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'base': [
\ [],
\ { 'href': []}
\ ],
\ 'bdo': [
\ ['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'],
\ { 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ],
\ 'big': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'blockquote': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'],
\ { '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'br': [
\ [],
\ { 'id': [], 'style': [], 'class': [], 'title': []}
\ ],
\ 'button': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'accesskey': [], 'disabled': ['disabled'], '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': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'cite': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'code': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'col': [
\ [],
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'colgroup': [
\ ['col'],
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'dd': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'del': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'dfn': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'div': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'dl': [
\ ['dt', 'dd'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'dt': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'em': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'fieldset': [
\ ['legend', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { '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'],
\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h1': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'h2': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'h3': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'h4': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'h5': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'h6': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'head': [
\ ['title', 'base'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ],
\ 'hr': [
\ [],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'html': [
\ ['head', 'body'],
\ { 'dir': ['ltr', 'rtl'], 'lang': []}
\ ],
\ 'i': [
\ ['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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'img': [
\ [],
\ { 'width': [], 'usemap': [], 'ismap': ['ismap'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'alt': [], 'lang': [], 'src': [], 'longdesc': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'height': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'input': [
\ [],
\ { 'ondblclick': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'src': [], 'name': [], 'checked': ['checked'], 'onkeypress': [], 'onmousedown': [], 'type': ['TEXT', 'TEXT', 'PASSWORD', 'CHECKBOX', 'RADIO', 'SUBMIT', 'RESET', 'FILE', 'IMAGE', 'BUTTON'], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'usemap': [], 'ismap': ['ismap'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'maxlength': [], 'onselect': [], 'accept': [], 'alt': [], 'tabindex': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'ins': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'cite': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'kbd': [
\ ['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'],
\ { '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'legend': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'li': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'link': [
\ [],
\ { 'rel': [], 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'media': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'map': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'area'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'meta': [
\ [],
\ { 'http-equiv': [], 'content': [], 'lang': [], 'name': [], 'scheme': [], 'dir': ['ltr', 'rtl']}
\ ],
\ 'noscript': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'object': [
\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'data': [], 'declare': ['declare'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'width': [], 'usemap': [], 'dir': ['ltr', 'rtl'], 'archive': [], 'standby': [], 'tabindex': [], 'classid': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'codetype': [], 'codebase': []}
\ ],
\ 'ol': [
\ ['li'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'optgroup': [
\ ['option'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'option': [
\ [''],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'selected': ['selected']}
\ ],
\ 'p': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'param': [
\ [],
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'q': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'cite': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'samp': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'script': [
\ ['cdata'],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['defer']}
\ ],
\ 'select': [
\ ['optgroup', 'option'],
\ { 'ondblclick': [], 'onkeydown': [], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'multiple': ['multiple']}
\ ],
\ 'small': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'span': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'strong': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'style': [
\ ['cdata'],
\ { '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'sup': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'table': [
\ ['caption', 'col', 'colgroup', 'thead', 'tfoot', 'tbody'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'datapagesize': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'frame': ['void', 'above', 'below', 'hsides', 'lhs', 'rhs', 'vsides', 'box', 'border'], 'rules': ['none', 'groups', 'rows', 'cols', 'all'], 'dir': ['ltr', 'rtl'], 'summary': [], 'cellspacing': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'border': [], 'cellpadding': []}
\ ],
\ 'tbody': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'td': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'headers': [], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'textarea': [
\ [''],
\ { 'ondblclick': [], 'cols': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'rows': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onselect': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'tfoot': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'th': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'],
\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'headers': [], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'thead': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'title': [
\ [''],
\ { 'lang': [], 'dir': ['ltr', 'rtl']}
\ ],
\ 'tr': [
\ ['th', 'td'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'tt': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'ul': [
\ ['li'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'var': [
\ ['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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'vimxmltaginfo': {
\ 'area': ['/>', ''],
\ 'base': ['/>', ''],
\ 'br': ['/>', ''],
\ 'col': ['/>', ''],
\ 'hr': ['/>', ''],
\ 'img': ['/>', ''],
\ 'input': ['/>', ''],
\ 'link': ['/>', ''],
\ 'meta': ['/>', ''],
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@@ -0,0 +1,375 @@
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", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "amp", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "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", "raquo", "radic", "rang", "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'],
\ { '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', 'rect', 'circle', 'poly', 'default']}
\ ],
\ 'abbr': [
\ ['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': []}
\ ],
\ 'acronym': [
\ ['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': []}
\ ],
\ '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'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'applet': [
\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'object': [], 'id': [], 'code': [], 'vspace': [], 'archive': [], 'alt': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'style': [], 'name': [], 'height': [], 'hspace': [], 'title': [], 'class': [], 'codebase': []}
\ ],
\ 'area': [
\ [],
\ { 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'target': [], 'nohref': ['nohref'], 'onfocus': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'alt': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'b': [
\ ['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': []}
\ ],
\ 'base': [
\ [],
\ { 'target': [], 'href': []}
\ ],
\ 'basefont': [
\ [],
\ { 'size': [], 'face': [], 'color': [], 'id': []}
\ ],
\ 'bdo': [
\ ['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'],
\ { 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
\ ],
\ 'big': [
\ ['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': []}
\ ],
\ 'blockquote': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], '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', '#pcdata', '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'],
\ { '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': [
\ [],
\ { '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', '#pcdata', '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'],
\ { 'accesskey': [], 'disabled': ['disabled'], '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': [
\ ['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': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'center': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': []}
\ ],
\ 'cite': [
\ ['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': []}
\ ],
\ 'code': [
\ ['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': []}
\ ],
\ 'col': [
\ [],
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'colgroup': [
\ ['col'],
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'dd': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': []}
\ ],
\ 'del': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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'], 'datetime': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'dfn': [
\ ['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': []}
\ ],
\ 'dir': [
\ ['li'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'div': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'dl': [
\ ['dt', 'dd'],
\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
\ ],
\ 'dt': [
\ ['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': []}
\ ],
\ 'em': [
\ ['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': []}
\ ],
\ 'fieldset': [
\ ['legend', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': []}
\ ],
\ 'font': [
\ ['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'],
\ { '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', '#pcdata', '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', 'GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h1': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h2': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h3': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h4': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h5': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'h6': [
\ ['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': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'head': [
\ ['title', 'isindex', 'base'],
\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
\ ],
\ 'hr': [
\ [],
\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'noshade': ['noshade'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'html': [
\ ['head', 'body'],
\ { 'dir': ['ltr', 'rtl'], 'lang': [], 'version': ['-//W3C//DTD HTML 4.01 Transitional//EN']}
\ ],
\ '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', '#pcdata', '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', '1', '0'], 'title': [], 'class': []}
\ ],
\ 'img': [
\ [],
\ { 'width': [], 'usemap': [], 'ismap': ['ismap'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'vspace': [], 'onmouseover': [], 'alt': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'src': [], 'longdesc': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'height': [], 'border': [], 'hspace': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
\ ],
\ 'input': [
\ [],
\ { 'ondblclick': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'value': [], 'src': [], 'name': [], 'checked': ['checked'], 'onkeypress': [], 'onmousedown': [], 'type': ['TEXT', 'TEXT', 'PASSWORD', 'CHECKBOX', 'RADIO', 'SUBMIT', 'RESET', 'FILE', 'IMAGE', 'BUTTON'], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'usemap': [], 'ismap': ['ismap'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'maxlength': [], 'onselect': [], 'tabindex': [], 'accept': [], 'alt': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'ins': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'cite': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'isindex': [
\ [],
\ { 'id': [], 'lang': [], 'prompt': [], 'class': [], 'title': [], 'dir': ['ltr', 'rtl'], 'style': []}
\ ],
\ 'kbd': [
\ ['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': [], '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'legend': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'li': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'link': [
\ [],
\ { 'rel': [], 'ondblclick': [], 'onkeydown': [], 'target': [], 'onkeyup': [], 'href': [], 'media': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'map': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'area'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'menu': [
\ ['li'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'meta': [
\ [],
\ { 'http-equiv': [], 'content': [], 'lang': [], 'name': [], 'scheme': [], 'dir': ['ltr', 'rtl']}
\ ],
\ 'noframes': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'noscript': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'object': [
\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'name': [], 'data': [], 'declare': ['declare'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'width': [], 'usemap': [], 'dir': ['ltr', 'rtl'], 'vspace': [], 'tabindex': [], 'standby': [], 'archive': [], 'classid': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'height': [], 'border': [], 'codetype': [], 'hspace': [], 'codebase': []}
\ ],
\ 'ol': [
\ ['li'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'start': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'optgroup': [
\ ['option'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'option': [
\ [''],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'selected': ['selected']}
\ ],
\ 'p': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'param': [
\ [],
\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'q': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'cite': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 's': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'samp': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'script': [
\ ['cdata'],
\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['defer'], 'language': []}
\ ],
\ 'select': [
\ ['optgroup', 'option'],
\ { 'ondblclick': [], 'onkeydown': [], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'multiple': ['multiple']}
\ ],
\ 'small': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'span': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'strike': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'strong': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'style': [
\ ['cdata'],
\ { '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'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'sup': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'table': [
\ ['caption', 'col', 'colgroup', 'thead', 'tfoot', 'tbody'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'datapagesize': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'frame': ['void', 'above', 'below', 'hsides', 'lhs', 'rhs', 'vsides', 'box', 'border'], 'rules': ['none', 'groups', 'rows', 'cols', 'all'], 'dir': ['ltr', 'rtl'], 'summary': [], 'bgcolor': [], 'cellspacing': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'border': [], 'cellpadding': []}
\ ],
\ 'tbody': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'td': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['nowrap'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'char': []}
\ ],
\ 'textarea': [
\ [''],
\ { 'ondblclick': [], 'cols': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'rows': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onselect': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'tfoot': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'th': [
\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', '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': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['nowrap'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'char': []}
\ ],
\ 'thead': [
\ ['tr'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'title': [
\ [''],
\ { 'lang': [], 'dir': ['ltr', 'rtl']}
\ ],
\ 'tr': [
\ ['th', 'td'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
\ ],
\ 'tt': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'u': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'ul': [
\ ['li'],
\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': ['disc', 'square', 'circle'], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
\ ],
\ 'var': [
\ ['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': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
\ ],
\ 'vimxmltaginfo': {
\ 'area': ['/>', ''],
\ 'base': ['/>', ''],
\ 'basefont': ['/>', ''],
\ 'br': ['/>', ''],
\ 'col': ['/>', ''],
\ 'hr': ['/>', ''],
\ 'img': ['/>', ''],
\ 'input': ['/>', ''],
\ 'isindex': ['/>', ''],
\ 'link': ['/>', ''],
\ 'meta': ['/>', ''],
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix

View File

@@ -1,7 +1,7 @@
" Vim completion script " Vim completion script
" Language: XML " Language: XML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Apr 12 " Last Change: 2006 Apr 19
" This function will create Dictionary with users namespace strings and values " This function will create Dictionary with users namespace strings and values
" canonical (system) names of data files. Names should be lowercase, " canonical (system) names of data files. Names should be lowercase,
@@ -186,16 +186,20 @@ function! xmlcomplete#CompleteTags(findstart, base)
if context =~ '\s' if context =~ '\s'
" If attr contains =\s*[\"'] we catched value of attribute " If attr contains =\s*[\"'] we catched value of attribute
if attr =~ "=\s*[\"']" if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
" Let do attribute specific completion " Let do attribute specific completion
let attrname = matchstr(attr, '.*\ze\s*=') let attrname = matchstr(attr, '.*\ze\s*=')
let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*") let entered_value = matchstr(attr, ".*=\\s*[\"']\\?\\zs.*")
if tag =~ '^[?!]' if tag =~ '^[?!]'
" Return nothing if we are inside of ! or ? tag " Return nothing if we are inside of ! or ? tag
return [] return []
else else
let values = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][attrname] if has_key(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}, tag) && has_key(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1], attrname)
let values = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][attrname]
else
return []
endif
endif endif
if len(values) == 0 if len(values) == 0
@@ -205,15 +209,21 @@ function! xmlcomplete#CompleteTags(findstart, base)
" We need special version of sbase " We need special version of sbase
let attrbase = matchstr(context, ".*[\"']") let attrbase = matchstr(context, ".*[\"']")
let attrquote = matchstr(attrbase, '.$') let attrquote = matchstr(attrbase, '.$')
if attrquote !~ "['\"]"
let attrquoteopen = '"'
let attrquote = '"'
else
let attrquoteopen = ''
endif
for m in values for m in values
" This if is needed to not offer all completions as-is " This if is needed to not offer all completions as-is
" alphabetically but sort them. Those beginning with entered " alphabetically but sort them. Those beginning with entered
" part will be as first choices " part will be as first choices
if m =~ '^'.entered_value if m =~ '^'.entered_value
call add(res, m . attrquote.' ') call add(res, attrquoteopen . m . attrquote.' ')
elseif m =~ entered_value elseif m =~ entered_value
call add(res2, m . attrquote.' ') call add(res2, attrquoteopen . m . attrquote.' ')
endif endif
endfor endfor

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.0e. Last change: 2006 Apr 11 *map.txt* For Vim version 7.0e. Last change: 2006 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -239,6 +239,16 @@ Here is an example that inserts a list number that increases: >
CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an
empty string, so that nothing is inserted. empty string, so that nothing is inserted.
Note that there are some tricks to make special keys work and escape CSI bytes
in the text. The |:map| command also does this, thus you must avoid that it
is done twice. This does not work: >
:imap <expr> <F3> "<Char-0x611B>"
Because the <Char- sequence is escaped for being a |:imap| argument and then
again for using <expr>. This does work: >
:imap <expr> <F3> "\u611B"
Using 0x80 as a single byte before other text does not work, it will be seen
as a special key.
1.3 MAPPING AND MODES *:map-modes* 1.3 MAPPING AND MODES *:map-modes*

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 18 *todo.txt* For Vim version 7.0e. Last change: 2006 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,6 +30,15 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Hang in omni completion when 'lines' is 6. (dtsfan)
Crash in "z=" when the change triggers checking out the file, FileChangedRO
event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird)
Added a few checks for valid buffer, did that help?
Check findoption() return value.
Other coverity false positives?
Add more tests for all new functionality in Vim 7. Especially new functions. Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly) Win32: Describe how to do debugging. (George Reilly)
@@ -777,6 +786,7 @@ Macintosh:
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also 8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
recognize these keys? Mostly useful for xterm simulators, like gnometerm. recognize these keys? Mostly useful for xterm simulators, like gnometerm.
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style. See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
8 For xterm also recognize keypad up/down/left/right and insert.
8 '[ and '] should be set to start/end of line when using a linewise operator 8 '[ and '] should be set to start/end of line when using a linewise operator
(e.g., ":w"). (e.g., ":w").
8 CTRL-A can't handle big "long" numbers, they become negative. Check for 8 CTRL-A can't handle big "long" numbers, they become negative. Check for

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 18 *version7.txt* For Vim version 7.0e. Last change: 2006 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2556,4 +2556,7 @@ the tab page label was wrong and an error message would be given.
The taglist() function could hang on a tags line with a non-ASCII character. The taglist() function could hang on a tags line with a non-ASCII character.
Win32: When 'encoding' differs from the system encoding tab page labels with
non-ASCII characters looked wrong. (Yegappan Lakshmanan)
vim:tw=78:ts=8:ft=help:norl: vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Apr 18 " Last Change: 2006 Apr 19
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@@ -2082,6 +2082,9 @@ au! BufNewFile,BufRead *jarg*
\| call s:StarSetf('jargon') \| call s:StarSetf('jargon')
\|endif \|endif
" Kconfig
au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
" Makefile " Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make') au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')

View File

@@ -0,0 +1,38 @@
" filetype plugin for TeX and variants
" Language: TeX (ft=initex)
" Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org>
" Version: 1.0
" Last Change: Wed 19 Apr 2006
" Only do this when not done yet for this buffer.
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer.
let b:did_ftplugin = 1
" Avoid problems if running in 'compatible' mode.
let s:save_cpo = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< define< include< sua<"
" Set 'comments' to format dashed lists in comments
setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
" Set 'commentstring' to recognize the % comment character:
" (Thanks to Ajit Thakkar.)
setlocal cms=%%s
" Allow "[d" to be used to find a macro definition:
let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
\ . 'def\|\\font\|\\\(future\)\=let'
" Tell Vim to recognize \input bar :
let &l:include = '\\input'
setlocal suffixesadd=.tex
let &cpo = s:save_cpo
" vim:sts=2:sw=2:

View File

@@ -10,5 +10,3 @@ let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<" let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,12 @@
" Vim filetype plugin file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-03-27
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,46 +1,34 @@
" plain TeX filetype plugin " plain TeX filetype plugin
" Language: plain TeX (ft=plaintex) " Language: plain TeX (ft=plaintex)
" Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org> " Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org>
" Version: 1.0 " Version: 1.1
" Last Change: Wed 22 Mar 2006 09:36:32 AM EST " Last Change: Wed 19 Apr 2006
" Only do this when not done yet for this buffer. " Only do this when not done yet for this buffer.
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
finish finish
endif endif
" Don't load another plugin for this buffer. " Start with initex. This will also define b:did_ftplugin and b:undo_ftplugin .
let b:did_ftplugin = 1 source $VIMRUNTIME/ftplugin/initex.vim
" Avoid problems if running in 'compatible' mode. " Avoid problems if running in 'compatible' mode.
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
" Set 'comments' to format dashed lists in comments let b:undo_ftplugin .= "| unlet! b:match_ignorecase b:match_skip b:match_words"
setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
" Set 'commentstring' to recognize the % comment character:
" (Thanks to Ajit Thakkar.)
setlocal cms=%%s
" Allow "[d" to be used to find a macro definition: " Allow "[d" to be used to find a macro definition:
let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\=' let &l:define .= '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
\ . 'def\|\\font\|\\\(future\)\=let'
\ . '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
\ . '\|fam\|insert\)' \ . '\|fam\|insert\)'
" Tell Vim to recognize \input bar :
let &l:include = '\\input'
setlocal suffixesadd=.tex
" The following lines enable the macros/matchit.vim plugin for " The following lines enable the macros/matchit.vim plugin for
" extended matching with the % key. " extended matching with the % key.
" There is no default meaning for \(...\) etc., but many users define one. " There is no default meaning for \(...\) etc., but many users define one.
if exists("loaded_matchit") if exists("loaded_matchit")
let b:match_ignorecase = 0 let b:match_ignorecase = 0
\ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%' \ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
\ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' . \ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],\\{:\\}'
\ '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
endif " exists("loaded_matchit") endif " exists("loaded_matchit")
let &cpo = s:save_cpo let &cpo = s:save_cpo

View File

@@ -1,8 +1,8 @@
" LaTeX filetype plugin " LaTeX filetype plugin
" Language: LaTeX (ft=tex) " Language: LaTeX (ft=tex)
" Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org> " Maintainer: Benji Fisher, Ph.D. <benji@member.AMS.org>
" Version: 1.3 " Version: 1.4
" Last Change: Wed 22 Mar 2006 09:36:32 AM EST " Last Change: Wed 19 Apr 2006
" URL: http://www.vim.org/script.php?script_id=411 " URL: http://www.vim.org/script.php?script_id=411
" Only do this when not done yet for this buffer. " Only do this when not done yet for this buffer.
@@ -17,6 +17,8 @@ source $VIMRUNTIME/ftplugin/plaintex.vim
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
let b:undo_ftplugin .= "| setl inex<"
" Allow "[d" to be used to find a macro definition: " Allow "[d" to be used to find a macro definition:
" Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand . " Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand .
" I may as well add the AMS-LaTeX DeclareMathOperator as well. " I may as well add the AMS-LaTeX DeclareMathOperator as well.
@@ -33,9 +35,9 @@ let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"
" The following lines enable the macros/matchit.vim plugin for " The following lines enable the macros/matchit.vim plugin for
" extended matching with the % key. " extended matching with the % key.
" ftplugin/plaintex.vim already defines b:match_skip and b:match_ignorecase " ftplugin/plaintex.vim already defines b:match_skip and b:match_ignorecase
" and matches \(, \), \[, and \]. " and matches \(, \), \[, \], \{, and \} .
if exists("loaded_matchit") if exists("loaded_matchit")
let b:match_words .= '\\begin\s*\({\a\+\*\=}\):\\end\s*\1' let b:match_words .= ',\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
endif " exists("loaded_matchit") endif " exists("loaded_matchit")
let &cpo = s:save_cpo let &cpo = s:save_cpo

View File

@@ -1,6 +1,8 @@
" Menu Translations: Simplified Chinese (UTF-8) " Menu Translations: Simplified Chinese <i18n-translation@lists.linux.net.cn>
" Translated By: Wang Jun <junw@turbolinux.com.cn> " Translated By: Yuheng Xie <elephant@linux.net.cn>
" Last Change: Tue Sep 4 11:26:52 CST 2001 " Last Change: Tue Apr 18 22:00:00 2006
" vim: ts=8 sw=8 noet
" Quit when menu translations have already been done. " Quit when menu translations have already been done.
if exists("did_menu_trans") if exists("did_menu_trans")
@@ -14,62 +16,68 @@ scriptencoding utf-8
menutrans &Help 帮助(&H) menutrans &Help 帮助(&H)
menutrans &Overview<Tab><F1> 预览(&O)<Tab><F1> menutrans &Overview<Tab><F1> 预览(&O)<Tab><F1>
menutrans &User\ Manual 用户手册(&U) menutrans &User\ Manual 用户手册(&U)
menutrans &GUI 图形界面(&G) menutrans &How-to\ links How-to\ 连接(&H)
menutrans &How-to\ links HOWTO文档\.\.\.(&H) menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans &Credits 作者(&C) menutrans &Credits 作者(&C)
menutrans Co&pying 版权(&P) menutrans Co&pying 版权(&P)
menutrans &Version 版本(&V) menutrans &Version 版本(&V)
menutrans &About 关于\ Vim(&A) menutrans &Sponsor/Register 赞助/注册(&S)
menutrans O&rphans 孤儿(&R)
menutrans &Version 版本(&V)
menutrans &About 关于(&A)
" File menu " File menu
menutrans &File 文件(&F) menutrans &File 文件(&F)
menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp 分割窗口并打开(&L)<Tab>:sp menutrans Sp&lit-Open\.\.\.<Tab>:sp 分割并打开(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew 打开标签\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew 新建(&N)<Tab>:enew menutrans &New<Tab>:enew 新建(&N)<Tab>:enew
menutrans &Close<Tab>:close 关闭(&C)<Tab>:close menutrans &Close<Tab>:close 关闭(&C)<Tab>:close
menutrans &Save<Tab>:w 保存(&S)<Tab>:w menutrans &Save<Tab>:w 保存(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. 分割比较(&Diff)\.\.\. menutrans Split\ &Diff\ with\.\.\. 分割比较(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. 分割打补丁(&Patch)\.\.\. menutrans Split\ Patched\ &By\.\.\. 分割打补丁(Patch)(&B)\.\.\.
menutrans &Print 打印(&P) menutrans &Print 打印(&P)
menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa
" Edit menu " Edit menu
menutrans &Edit 编辑(&E) menutrans &Edit 编辑(&E)
menutrans &Undo<Tab>u 恢复(&U)<Tab>u menutrans &Undo<Tab>u 撤销(&U)<Tab>u
menutrans &Redo<Tab>^R 重做(&R)<Tab>^R menutrans &Redo<Tab>^R 重做(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 重复上次(&E)<Tab>\. menutrans Rep&eat<Tab>\. 重复上次(&E)<Tab>\.
menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x
menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP 粘(&P)<Tab>"+gP menutrans &Paste<Tab>"+gP 粘(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p 贴到光标前(&B)<Tab>[p menutrans Put\ &Before<Tab>[p 贴到光标前(&B)<Tab>[p
menutrans Put\ &After<Tab>]p 贴到光标后(&A)<Tab>]p menutrans Put\ &After<Tab>]p 贴到光标后(&A)<Tab>]p
menutrans &Delete<Tab>x 删除(&D)<Tab>x menutrans &Delete<Tab>x 删除(&D)<Tab>x
menutrans &Select\ all<Tab>ggVG 全选(&S)<Tab>ggvG menutrans &Select\ all<Tab>ggVG 全选(&S)<Tab>ggVG
menutrans &Find\.\.\. 查找(&F)\.\.\. menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. 查找替换(&L)\.\.\. menutrans Find\ and\ Rep&lace\.\.\. 查找替换(&L)\.\.\.
menutrans &Find<Tab>/ 查找(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s 查找和替换(&L)<Tab>:%s
menutrans Settings\ &Window 设定窗口(&W) menutrans Settings\ &Window 设定窗口(&W)
menutrans Startup\ &Settings 启动设定(&S)
menutrans &Global\ Settings 全局设定(&G) menutrans &Global\ Settings 全局设定(&G)
" Build boolean options " Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /增量查找模式<Tab>:set\ hls! menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /关模式高亮(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! /关忽略大小写模式<Tab>:set\ ic! menutrans Toggle\ &Ignore-case<Tab>:set\ ic! /关忽略大小写(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! /匹配显示<Tab>:set sm! menutrans Toggle\ &Showmatch<Tab>:set\ sm! /关显示配对(&S)<Tab>:set\ sm!
menutrans &Context\ lines 上下文行数(&C) menutrans &Context\ lines 上下文行数(&C)
menutrans &Virtual\ Edit 可视化编辑模式(&V) menutrans &Virtual\ Edit 虚拟编辑(&V)
menutrans Never 从不 menutrans Never 从不
menutrans Block\ Selection 块选择 menutrans Block\ Selection 块选择
menutrans Insert\ mode 插入模式 menutrans Insert\ mode 插入模式
menutrans Block\ and\ Insert 块选择插入模式 menutrans Block\ and\ Insert 块选择插入模式
menutrans Always 所有模式 menutrans Always 总是
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式<Tab>:set\ im! menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! /\ Vi\ 兼容<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. 查找路径\.\.\.(&P) menutrans Search\ &Path\.\.\. 查找路径(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ 文件(&T)\.\.\.
menutrans Ta&g\ Files\.\.\. 标签文件\.\.\.(&g)
" GUI options " GUI options
menutrans Toggle\ &Toolbar /关工具条(&T) menutrans Toggle\ &Toolbar /关工具条(&T)
@@ -77,87 +85,111 @@ menutrans Toggle\ &Bottom\ Scrollbar 开/关底部滚动条(&B)
menutrans Toggle\ &Left\ Scrollbar /关左端滚动条(&L) menutrans Toggle\ &Left\ Scrollbar /关左端滚动条(&L)
menutrans Toggle\ &Right\ Scrollbar /关右端滚动条(&R) menutrans Toggle\ &Right\ Scrollbar /关右端滚动条(&R)
" Edit/File Settings " Edit/File Settings
menutrans F&ile\ Settings 文件设定(&i) menutrans F&ile\ Settings 文件设定(&I)
" Boolean options " Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /关显示行号<Tab>:set\ nu! menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /关显示行号(&N)<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! /显示Tab<Tab>:set\ list! menutrans Toggle\ &List\ Mode<Tab>:set\ list! /\ list\ 模式(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! /自动折行<Tab>:set\ wrap! menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! /关折行(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! /词尾折行<Tab>:set\ lbr! menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! /整词折行(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! /expand-tab<Tab>:set\ et! menutrans Toggle\ &expand-tab<Tab>:set\ et! /扩展\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! /auto-indent<Tab>:set\ ai! menutrans Toggle\ &auto-indent<Tab>:set\ ai! /自动缩进(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! /C-indent<Tab>:set\ cin! menutrans Toggle\ &C-indenting<Tab>:set\ cin! /\ C\ 缩进(&C)<Tab>:set\ cin!
" other options " other options
menutrans &Shiftwidth 宽度(&S) menutrans &Shiftwidth 宽度(&S)
menutrans Soft\ &Tabstop 伪Tab宽度(&T) menutrans Soft\ &Tabstop Soft\ Tab\ 宽度(&T)
menutrans Te&xt\ Width\.\.\. 页面宽度(&x)\.\.\. menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\. menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
menutrans C&olor\ Scheme 配色方案(&O)
menutrans C&olor\ Scheme 调色板(&o) menutrans Select\ Fo&nt\.\.\. 选择字体(&N)\.\.\.
menutrans Select\ Fo&nt\.\.\. 选择字体(&n)\.\.\. menutrans &Keymap Keymap(&K)
" Programming menu " Programming menu
menutrans &Tools 工具(&T) menutrans &Tools 工具(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] 检索光标处的标签关键字(tag)(&J)<Tab>g^] menutrans &Jump\ to\ this\ tag<Tab>g^] 跳转到这个\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 跳回检索前的位置(&B)<Tab>^T menutrans Jump\ &back<Tab>^T 转返(&B)<Tab>^T
menutrans Build\ &Tags\ File 建立标签索引文件\ Tags(&T) menutrans Build\ &Tags\ File 建立 Tags 文件(&T)
menutrans &Folding Folding设定(&F)
menutrans &Diff 比较(&D) " Tools.Spelling Menu
menutrans &Make<Tab>:make 执行\ Make(&M)<Tab>:make menutrans &Spelling 拼写检查(&S)
menutrans &List\ Errors<Tab>:cl 列出编译错误(&E)<Tab>:cl menutrans &Spell\ Check\ On 打开拼写检查(&S)
menutrans L&ist\ Messages<Tab>:cl! 列出所有信息(&I)<Tab>:cl! menutrans Spell\ Check\ &Off 关闭拼写检查(&O)
menutrans &Next\ Error<Tab>:cn 一个编译错误(&N)<Tab>:cn menutrans To\ &Next\ error<Tab>]s 一个错误(&N)<Tab>]s
menutrans &Previous\ Error<Tab>:cp 一个编译错误(&P)<Tab>:cp menutrans To\ &Previous\ error<Tab>[s 一个错误(&P)<Tab>[s
menutrans &Older\ List<Tab>:cold 旧错误列表(&O)<Tab>:cold menutrans Suggest\ &Corrections<Tab>z= 修正建议(&C)<Tab>z=
menutrans N&ewer\ List<Tab>:cnew 新错误列表(&E)<Tab>:cnew menutrans &Repeat\ correction<Tab>:spellrepall 重复修正(&R)<Tab>:spellrepall
menutrans Error\ &Window 错误信息窗口(&W) menutrans Set\ language\ to\ "en" 设定语言为\ "en"
menutrans &Set\ Compiler 设置编译器(&S) menutrans Set\ language\ to\ "en_au" 设定语言为\ "en_au"
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成16进制<Tab>:%!xxd menutrans Set\ language\ to\ "en_ca" 设定语言为\ "en_ca"
menutrans Conve&rt\ back<Tab>:%!xxd\ -r 从16进制转换回文字<Tab>:%!xxd\ -r menutrans Set\ language\ to\ "en_gb" 设定语言为\ "en_gb"
menutrans Set\ language\ to\ "en_nz" 设定语言为\ "en_nz"
menutrans Set\ language\ to\ "en_us" 设定语言为\ "en_us"
menutrans &Find\ More\ Languages 查找更多语言(&F)
" Tools.Fold Menu " Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi 使用/不使用Folding(&E)<Tab>zi " open close folds
menutrans &Folding 折叠(&F)
menutrans &Enable/Disable\ folds<Tab>zi 启用/禁用折叠(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 查看此行(&V)<Tab>zv menutrans &View\ Cursor\ Line<Tab>zv 查看此行(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 查看此行(&W)<Tab>zMzx menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 查看此行(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm 关闭Folds(&L)<Tab>zm menutrans C&lose\ more\ folds<Tab>zm 关闭更多折叠(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 关闭所有Folds(&C)<Tab>zM menutrans &Close\ all\ folds<Tab>zM 关闭所有折叠(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 展开Folds(&P)<Tab>zr menutrans O&pen\ more\ folds<Tab>zr 打开更多折叠(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 开所有Folds(&O)<Tab>zR menutrans &Open\ all\ folds<Tab>zR 开所有折叠(&O)<Tab>zR
" fold method " fold method
menutrans Fold\ Met&hod Fold方式(&H) menutrans Fold\ Met&hod 折叠方法(&H)
menutrans Create\ &Fold<Tab>zf 建立Fold(&F)<Tab>zf menutrans M&anual 手工(&A)
menutrans &Delete\ Fold<Tab>zd 删除Fold(&D)<Tab>zd menutrans I&ndent 缩进(&N)
menutrans Delete\ &All\ Folds<Tab>zD 删除所有Fold(&A)<Tab>zD menutrans E&xpression 表达式(&X)
menutrans S&yntax 语法(&Y)
menutrans &Diff 比较(Diff)(&D)
menutrans Ma&rker 标记(&R)
" create and delete folds
menutrans Create\ &Fold<Tab>zf 创建折叠(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 删除折叠(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD 删除所有折叠(&A)<Tab>zD
" moving around in folds " moving around in folds
menutrans Fold\ column\ &width 设定Fold栏宽(&W) menutrans Fold\ column\ &width 折叠栏宽(&W)
" Tools.Diff Menu " Tools.Diff Menu
menutrans &Update 更新(&U) menutrans &Diff 比较(Diff)(&D)
menutrans &Get\ Block 取得不同部分(&G) menutrans &Update 更新(&U)
menutrans &Put\ Block 将不同部分应用到对方(&P) menutrans &Get\ Block 得到块(&G)
menutrans &Put\ Block 放置块(&P)
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl 列出错误(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! 列出消息(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 下一个错误(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp 上一个错误(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold 更旧的错误列表(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew 更新的错误列表(&E)<Tab>:cnew
menutrans Error\ &Window 错误窗口(&W)
menutrans &Update<Tab>:cwin 更新(&U)<Tab>:cwin
menutrans &Open<Tab>:copen 打开(&O)<Tab>:copen
menutrans &Close<Tab>:cclose 关闭(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成十六进制<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r 转换返回<Tab>:%!xxd\ -r
menutrans Se&T\ Compiler 设定编译器(&T)
" Names for buffer menu. " Names for buffer menu.
menutrans &Buffers 缓冲区(&B) menutrans &Buffers 缓冲区(&B)
menutrans &Refresh\ menu 更新(&R) menutrans &Refresh\ menu 更新菜单(&R)
menutrans &Delete 删除(&D) menutrans &Delete 删除(&D)
menutrans &Alternate 修改(&L) menutrans &Alternate 交替(&A)
menutrans &Next 下一个(&N) menutrans &Next 下一个(&N)
menutrans &Previous 一个(&P) menutrans &Previous 一个(&P)
" Window menu " Window menu
menutrans &Window 窗口(&W) menutrans &Window 窗口(&W)
menutrans &New<Tab>^Wn 新建窗口(&N)<Tab>^Wn menutrans &New<Tab>^Wn 新建(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws 分割窗口(&P)<Tab>^Ws menutrans S&plit<Tab>^Ws 分割(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ 分割到#(&L)<Tab>^W^^ menutrans Sp&lit\ To\ #<Tab>^W^^ 分割到\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv 垂直分割(&V)<Tab>^Wv menutrans Split\ &Vertically<Tab>^Wv 垂直分割(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer 文件浏览器式分割(&X) menutrans Split\ File\ E&xplorer 分割文件浏览器(&X)
menutrans &Close<Tab>^Wc 关闭窗口(&C)<Tab>^Wc menutrans &Close<Tab>^Wc 关闭(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo 关闭其它窗口(&O)<Tab>^Wo menutrans Close\ &Other(s)<Tab>^Wo 关闭其它窗口(&O)<Tab>^Wo
menutrans Move\ &To 移动到(&T) menutrans Move\ &To 移动到(&T)
menutrans &Top<Tab>^WK 顶端(&T)<Tab>^WK menutrans &Top<Tab>^WK 顶端(&T)<Tab>^WK
@@ -166,13 +198,13 @@ menutrans &Left\ side<Tab>^WH 左边(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL 右边(&R)<Tab>^WL menutrans &Right\ side<Tab>^WL 右边(&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww 下一个(&X)<Tab>^Ww " menutrans Ne&xt<Tab>^Ww 下一个(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW 上一个(&R)<Tab>^WW " menutrans P&revious<Tab>^WW 上一个(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR 上移窗口(&U)<Tab>^WR menutrans Rotate\ &Up<Tab>^WR 向上轮换(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr 下移窗口(&D)<Tab>^Wr menutrans Rotate\ &Down<Tab>^Wr 向下轮换(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= 所有窗口等高(&E)<Tab>^W= menutrans &Equal\ Size<Tab>^W= 等大(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ 最大高度(&M)<Tab>^W menutrans &Max\ Height<Tab>^W_ 最大高度(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ 最小高度(&i)<Tab>^W1_ menutrans M&in\ Height<Tab>^W1_ 最小高度(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| 最大宽度(&W)<Tab>^W\| menutrans Max\ &Width<Tab>^W\| 最大宽度(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| 最小宽度(&h)<Tab>^W1\| menutrans Min\ Widt&h<Tab>^W1\| 最小宽度(&H)<Tab>^W1\|
" "
" The popup menu " The popup menu
menutrans &Undo 撤销(&U) menutrans &Undo 撤销(&U)
@@ -180,8 +212,10 @@ menutrans Cu&t 剪切(&T)
menutrans &Copy 复制(&C) menutrans &Copy 复制(&C)
menutrans &Paste 粘帖(&P) menutrans &Paste 粘帖(&P)
menutrans &Delete 删除(&D) menutrans &Delete 删除(&D)
menutrans Select\ Blockwise Blockwise选择 menutrans Select\ Blockwise 选择
menutrans Select\ &Word 选择单词(&W) menutrans Select\ &Word 选择单词(&W)
menutrans Select\ &Sentence 选择句子(&S)
menutrans Select\ Pa&ragraph 选择段落(&R)
menutrans Select\ &Line 选择行(&L) menutrans Select\ &Line 选择行(&L)
menutrans Select\ &Block 选择块(&B) menutrans Select\ &Block 选择块(&B)
menutrans Select\ &All 全选(&A) menutrans Select\ &All 全选(&A)
@@ -196,35 +230,35 @@ if has("toolbar")
tmenu ToolBar.Save 保存当前文件 tmenu ToolBar.Save 保存当前文件
tmenu ToolBar.SaveAll 保存全部文件 tmenu ToolBar.SaveAll 保存全部文件
tmenu ToolBar.Print 打印 tmenu ToolBar.Print 打印
tmenu ToolBar.Undo 撤销上次修改 tmenu ToolBar.Undo 撤销
tmenu ToolBar.Redo 重做上次撤销的动作 tmenu ToolBar.Redo 重做
tmenu ToolBar.Cut 剪切剪贴板 tmenu ToolBar.Cut 剪切剪贴板
tmenu ToolBar.Copy 复制到剪贴板 tmenu ToolBar.Copy 复制到剪贴板
tmenu ToolBar.Paste 剪贴板粘帖 tmenu ToolBar.Paste 剪贴板粘帖
tmenu ToolBar.Find 查找... tmenu ToolBar.Find 查找...
tmenu ToolBar.FindNext 查找下一个 tmenu ToolBar.FindNext 查找下一个
tmenu ToolBar.FindPrev 查找上一个 tmenu ToolBar.FindPrev 查找上一个
tmenu ToolBar.Replace 替换... tmenu ToolBar.Replace 查找和替换...
tmenu ToolBar.LoadSesn 加载会话 tmenu ToolBar.LoadSesn 加载会话
tmenu ToolBar.SaveSesn 保存当前会话 tmenu ToolBar.SaveSesn 保存当前会话
tmenu ToolBar.RunScript 运行Vim脚本 tmenu ToolBar.RunScript 运行 Vim 脚本
tmenu ToolBar.Make 执行 Make tmenu ToolBar.Make 执行 Make (:make)
tmenu ToolBar.Shell 打开一个命令窗口 tmenu ToolBar.RunCtags 在当前目录建立 tags (!ctags -R .)
tmenu ToolBar.RunCtags 执行 ctags tmenu ToolBar.TagJump 跳转到光标位置的 tag
tmenu ToolBar.TagJump 跳到当前光标位置的标签
tmenu ToolBar.Help Vim 帮助 tmenu ToolBar.Help Vim 帮助
tmenu ToolBar.FindHelp 查找 Vim 帮助 tmenu ToolBar.FindHelp 查找 Vim 帮助
endfun endfun
endif endif
" Syntax menu " Syntax menu
menutrans &Syntax 语法(&S) menutrans &Syntax 语法(&S)
menutrans Set\ '&syntax'\ only 只设定\ 'syntax'(&s) menutrans &Manual 手工(&M)
menutrans Set\ '&filetype'\ too 也设定\ 'filetype'(&f) menutrans A&utomatic 自动(&U)
menutrans &Off (&O) menutrans on/off\ for\ &This\ file 仅对这个文件开/(&T)
menutrans &Manual 手动设定(&M) menutrans &Show\ filetypes\ in\ menu 在菜单中显示文件类型(&S)
menutrans A&utomatic 自动设定(&U) menutrans &Off 关闭(&O)
menutrans on/off\ for\ &This\ file 只对这个文件打开/关闭(&T) menutrans Co&lor\ test 色彩测试(&L)
menutrans Co&lor\ test 色彩显示测试(&L) menutrans &Highlight\ test 高亮测试(&H)
menutrans &Highlight\ test 语法效果测试(&H) menutrans &Convert\ to\ HTML 转换成\ HTML(&C)
menutrans &Convert\ to\ HTML 转换成\ HTML\ 格式(&C) menutrans Set\ '&syntax'\ only 仅设定\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too 也设定\ 'filetype'(&F)

View File

@@ -1,6 +1,6 @@
" Vim syntax support file " Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Apr 18 " Last Change: 2006 Apr 19
" (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>) " (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
" (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>) " (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
@@ -112,9 +112,10 @@ function! s:HtmlFormat(text, style_name)
" Replace the reserved html characters " Replace the reserved html characters
let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g') let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
" Replace double spaces " Replace double spaces and leading spaces
if ' ' != s:HtmlSpace if ' ' != s:HtmlSpace
let formatted = substitute(formatted, ' ', s:HtmlSpace . s:HtmlSpace, 'g') let formatted = substitute(formatted, ' ', s:HtmlSpace . s:HtmlSpace, 'g')
let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')
endif endif
" Enclose in a span of class style_name " Enclose in a span of class style_name
@@ -363,7 +364,7 @@ while s:lnum <= s:end
let s:len = strlen(s:line) let s:len = strlen(s:line)
if s:numblines if s:numblines
let s:new = '<span class="lnr">' . s:new . '</span>' let s:new = s:HtmlFormat(s:new, "lnr")
endif endif
" Get the diff attribute, if any. " Get the diff attribute, if any.
@@ -419,7 +420,7 @@ if exists("html_no_pre")
if exists("use_xhtml") if exists("use_xhtml")
exe "normal! a</p>\n</body>\n</html>\e" exe "normal! a</p>\n</body>\n</html>\e"
else else
exe "normal! a\n</body>\n</html>\e" exe "normal! a</body>\n</html>\e"
endif endif
else else
if exists("use_xhtml") if exists("use_xhtml")
@@ -470,7 +471,7 @@ if s:numblines
if exists("html_use_css") if exists("html_use_css")
execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e" execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
else else
execute '%s+<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g' execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
endif endif
endif endif

View File

@@ -1,377 +0,0 @@
" Vim syntax file
" Language: TeX (core definition)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-03-26
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" This follows the grouping (sort of) found at
" http://www.tug.org/utilities/plain/cseq.html#top-fam
syn keyword coretexTodo TODO FIXME XXX NOTE
syn match coretexComment display contains=coretexTodo
\ '\\\@<!\%(\\\\\)*\zs%.*$'
syn match coretexDimension display contains=@NoSpell
\ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
syn cluster coretexBox
\ contains=coretexBoxCommand,coretexBoxInternalQuantity,
\ coretexBoxParameterDimen,coretexBoxParameterInteger,
\ coretexBoxParameterToken
syn cluster coretexCharacter
\ contains=coretexCharacterCommand,coretexCharacterInternalQuantity,
\ coretexCharacterParameterInteger
syn cluster coretexDebugging
\ contains=coretexDebuggingCommand,coretexDebuggingParameterInteger,
\ coretexDebuggingParameterToken
syn cluster coretexFileIO
\ contains=coretexFileIOCommand,coretexFileIOInternalQuantity,
\ coretexFileIOParameterToken
syn cluster coretexFonts
\ contains=coretexFontsCommand,coretexFontsInternalQuantity
syn cluster coretexGlue
\ contains=coretexGlueCommand,coretexGlueDerivedCommand
syn cluster coretexHyphenation
\ contains=coretexHyphenationCommand,coretexHyphenationDerivedCommand,
\ coretexHyphenationInternalQuantity,coretexHyphenationParameterInteger
syn cluster coretexInserts
\ contains=coretexInsertsCommand,coretexInsertsParameterDimen,
\ coretexInsertsParameterGlue,coretexInsertsParameterInteger
syn cluster coretexJob
\ contains=coretexJobCommand,coretexJobInternalQuantity,
\ coretexJobParameterInteger
syn cluster coretexKern
\ contains=coretexKernCommand,coretexKernInternalQuantity
syn cluster coretexLogic
\ contains=coretexLogicCommand
syn cluster coretexMacro
\ contains=coretexMacroCommand,coretexMacroDerivedCommand,
\ coretexMacroParameterInteger
syn cluster coretexMarks
\ contains=coretexMarksCommand
syn cluster coretexMath
\ contains=coretexMathCommand,coretexMathDerivedCommand,
\ coretexMathInternalQuantity,coretexMathParameterDimen,
\ coretexMathParameterGlue,coretexMathParameterInteger,
\ coretexMathParameterMuglue,coretexMathParameterToken
syn cluster coretexPage
\ contains=coretexPageInternalQuantity,coretexPageParameterDimen,
\ coretexPageParameterGlue
syn cluster coretexParagraph
\ contains=coretexParagraphCommand,coretexParagraphInternalQuantity,
\ coretexParagraphParameterDimen,coretexParagraphParameterGlue,
\ coretexParagraphParameterInteger,coretexParagraphParameterToken
syn cluster coretexPenalties
\ contains=coretexPenaltiesCommand,coretexPenaltiesInternalQuantity,
\ coretexPenaltiesParameterInteger
syn cluster coretexRegisters
\ contains=coretexRegistersCommand,coretexRegistersInternalQuantity
syn cluster coretexTables
\ contains=coretexTablesCommand,coretexTablesParameterGlue,
\ coretexTablesParameterToken
syn cluster coretexCommand
\ contains=coretexBoxCommand,coretexCharacterCommand,
\ coretexDebuggingCommand,coretexFileIOCommand,
\ coretexFontsCommand,coretexGlueCommand,
\ coretexHyphenationCommand,coretexInsertsCommand,
\ coretexJobCommand,coretexKernCommand,coretexLogicCommand,
\ coretexMacroCommand,coretexMarksCommand,coretexMathCommand,
\ coretexParagraphCommand,coretexPenaltiesCommand,coretexRegistersCommand,
\ coretexTablesCommand
syn match coretexBoxCommand display contains=@NoSpell
\ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
syn match coretexCharacterCommand display contains=@NoSpell
\ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
syn match coretexDebuggingCommand display contains=@NoSpell
\ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
syn match coretexFileIOCommand display contains=@NoSpell
\ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
syn match coretexFontsCommand display contains=@NoSpell
\ '\\\%(/\|fontname\)\>'
syn match coretexGlueCommand display contains=@NoSpell
\ '\\\%([hv]\|un\)skip\>'
syn match coretexHyphenationCommand display contains=@NoSpell
\ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
syn match coretexInsertsCommand display contains=@NoSpell
\ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
syn match coretexJobCommand display contains=@NoSpell
\ '\\\%(dump\|end\|jobname\)\>'
syn match coretexKernCommand display contains=@NoSpell
\ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
syn match coretexLogicCommand display contains=@NoSpell
\ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
" \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
syn match coretexMacroCommand display contains=@NoSpell
\ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
syn match coretexMarksCommand display contains=@NoSpell
\ '\\\%(bot\|first\|top\)\=mark\>'
syn match coretexMathCommand display contains=@NoSpell
\ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
syn match coretexParagraphCommand display contains=@NoSpell
\ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
syn match coretexPenaltiesCommand display contains=@NoSpell
\ '\\\%(un\)\=penalty\>'
syn match coretexRegistersCommand display contains=@NoSpell
\ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
syn match coretexTablesCommand display contains=@NoSpell
\ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
syn cluster coretexDerivedCommand
\ contains=coretexGlueDerivedCommand,coretexHyphenationDerivedCommand,
\ coretexMacroDerivedCommand,coretexMathDerivedCommand
syn match coretexGlueDerivedCommand display contains=@NoSpell
\ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
syn match coretexHyphenationDerivedCommand display contains=@NoSpell
\ '\\-'
syn match coretexMacroDerivedCommand display contains=@NoSpell
\ '\\[gx]def\>'
syn match coretexMathDerivedCommand display contains=@NoSpell
\ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
syn cluster coretexInternalQuantity
\ contains=coretexBoxInternalQuantity,coretexCharacterInternalQuantity,
\ coretexFileIOInternalQuantity,coretexFontsInternalQuantity,
\ coretexHyphenationInternalQuantity,coretexJobInternalQuantity,
\ coretexKernInternalQuantity,coretexMathInternalQuantity,
\ coretexPageInternalQuantity,coretexParagraphInternalQuantity,
\ coretexPenaltiesInternalQuantity,coretexRegistersInternalQuantity
syn match coretexBoxInternalQuantity display contains=@NoSpell
\ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
syn match coretexCharacterInternalQuantity display contains=@NoSpell
\ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
syn match coretexFileIOInternalQuantity display contains=@NoSpell
\ '\\inputlineno\>'
syn match coretexFontsInternalQuantity display contains=@NoSpell
\ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
syn match coretexHyphenationInternalQuantity display contains=@NoSpell
\ '\\hyphenchar\>'
syn match coretexJobInternalQuantity display contains=@NoSpell
\ '\\deadcycles\>'
syn match coretexKernInternalQuantity display contains=@NoSpell
\ '\\lastkern\>'
syn match coretexMathInternalQuantity display contains=@NoSpell
\ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
syn match coretexPageInternalQuantity display contains=@NoSpell
\ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
syn match coretexParagraphInternalQuantity display contains=@NoSpell
\ '\\\%(prevgraf\|spacefactor\)\>'
syn match coretexPenaltiesInternalQuantity display contains=@NoSpell
\ '\\lastpenalty\>'
syn match coretexRegistersInternalQuantity display contains=@NoSpell
\ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
syn cluster coretexParameterDimen
\ contains=coretexBoxParameterDimen,coretexInsertsParameterDimen,
\ coretexMathParameterDimen,coretexPageParameterDimen,
\ coretexParagraphParameterDimen
syn match coretexBoxParameterDimen display contains=@NoSpell
\ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
syn match coretexInsertsParameterDimen display contains=@NoSpell
\ '\\splitmaxdepth\>'
syn match coretexMathParameterDimen display contains=@NoSpell
\ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
syn match coretexPageParameterDimen display contains=@NoSpell
\ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
syn match coretexParagraphParameterDimen display contains=@NoSpell
\ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
syn cluster coretexParameterGlue
\ contains=coretexInsertsParameterGlue,coretexMathParameterGlue,
\ coretexPageParameterGlue,coretexParagraphParameterGlue,
\ coretexTablesParameterGlue
syn match coretexInsertsParameterGlue display contains=@NoSpell
\ '\\splittopskip\>'
syn match coretexMathParameterGlue display contains=@NoSpell
\ '\\\%(above\|below\)display\%(short\)\=skip\>'
syn match coretexPageParameterGlue display contains=@NoSpell
\ '\\topskip\>'
syn match coretexParagraphParameterGlue display contains=@NoSpell
\ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
syn match coretexTablesParameterGlue display contains=@NoSpell
\ '\\tabskip\>'
syn cluster coretexParameterInteger
\ contains=coretexBoxParameterInteger,coretexCharacterParameterInteger,
\ coretexDebuggingParameterInteger,coretexHyphenationParameterInteger,
\ coretexInsertsParameterInteger,coretexJobParameterInteger,
\ coretexMacroParameterInteger,coretexMathParameterInteger,
\ coretexParagraphParameterInteger,coretexPenaltiesParameterInteger,
syn match coretexBoxParameterInteger display contains=@NoSpell
\ '\\[hv]badness\>'
syn match coretexCharacterParameterInteger display contains=@NoSpell
\ '\\\%(\%(endline\|escape\|newline\)char\)\>'
syn match coretexDebuggingParameterInteger display contains=@NoSpell
\ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
syn match coretexHyphenationParameterInteger display contains=@NoSpell
\ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
syn match coretexInsertsParameterInteger display contains=@NoSpell
\ '\\\%(holdinginserts\)\>'
syn match coretexJobParameterInteger display contains=@NoSpell
\ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
syn match coretexMacroParameterInteger display contains=@NoSpell
\ '\\globaldefs\>'
syn match coretexMathParameterInteger display contains=@NoSpell
\ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
syn match coretexParagraphParameterInteger display contains=@NoSpell
\ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
syn match coretexPenaltiesParameterInteger display contains=@NoSpell
\ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
syn cluster coretexParameterMuglue
\ contains=coretexMathParameterMuglue
syn match coretexMathParameterMuglue display contains=@NoSpell
\ '\\\%(med\|thick\|thin\)muskip\>'
syn cluster coretexParameterDimen
\ contains=coretexBoxParameterToken,coretexDebuggingParameterToken,
\ coretexFileIOParameterToken,coretexMathParameterToken,
\ coretexParagraphParameterToken,coretexTablesParameterToken
syn match coretexBoxParameterToken display contains=@NoSpell
\ '\\every[hv]box\>'
syn match coretexDebuggingParameterToken display contains=@NoSpell
\ '\\errhelp\>'
syn match coretexFileIOParameterToken display contains=@NoSpell
\ '\\output\>'
syn match coretexMathParameterToken display contains=@NoSpell
\ '\\every\%(display\|math\)\>'
syn match coretexParagraphParameterToken display contains=@NoSpell
\ '\\everypar\>'
syn match coretexTablesParameterToken display contains=@NoSpell
\ '\\everycr\>'
hi def link coretexCharacter Character
hi def link coretexNumber Number
hi def link coretexIdentifier Identifier
hi def link coretexStatement Statement
hi def link coretexConditional Conditional
hi def link coretexPreProc PreProc
hi def link coretexMacro Macro
hi def link coretexType Type
hi def link coretexDebug Debug
hi def link coretexTodo Todo
hi def link coretexComment Comment
hi def link coretexDimension coretexNumber
hi def link coretexCommand coretexStatement
hi def link coretexBoxCommand coretexCommand
hi def link coretexCharacterCommand coretexCharacter
hi def link coretexDebuggingCommand coretexDebug
hi def link coretexFileIOCommand coretexCommand
hi def link coretexFontsCommand coretexType
hi def link coretexGlueCommand coretexCommand
hi def link coretexHyphenationCommand coretexCommand
hi def link coretexInsertsCommand coretexCommand
hi def link coretexJobCommand coretexPreProc
hi def link coretexKernCommand coretexCommand
hi def link coretexLogicCommand coretexConditional
hi def link coretexMacroCommand coretexMacro
hi def link coretexMarksCommand coretexCommand
hi def link coretexMathCommand coretexCommand
hi def link coretexParagraphCommand coretexCommand
hi def link coretexPenaltiesCommand coretexCommand
hi def link coretexRegistersCommand coretexCommand
hi def link coretexTablesCommand coretexCommand
hi def link coretexDerivedCommand coretexStatement
hi def link coretexGlueDerivedCommand coretexDerivedCommand
hi def link coretexHyphenationDerivedCommand coretexDerivedCommand
hi def link coretexMacroDerivedCommand coretexDerivedCommand
hi def link coretexMathDerivedCommand coretexDerivedCommand
hi def link coretexInternalQuantity coretexIdentifier
hi def link coretexBoxInternalQuantity coretexInternalQuantity
hi def link coretexCharacterInternalQuantity coretexInternalQuantity
hi def link coretexFileIOInternalQuantity coretexInternalQuantity
hi def link coretexFontsInternalQuantity coretexInternalQuantity
hi def link coretexHyphenationInternalQuantity coretexInternalQuantity
hi def link coretexJobInternalQuantity coretexInternalQuantity
hi def link coretexKernInternalQuantity coretexInternalQuantity
hi def link coretexMathInternalQuantity coretexInternalQuantity
hi def link coretexPageInternalQuantity coretexInternalQuantity
hi def link coretexParagraphInternalQuantity coretexInternalQuantity
hi def link coretexPenaltiesInternalQuantity coretexInternalQuantity
hi def link coretexRegistersInternalQuantity coretexInternalQuantity
hi def link coretexParameterDimen coretexNumber
hi def link coretexBoxParameterDimen coretexParameterDimen
hi def link coretexInsertsParameterDimen coretexParameterDimen
hi def link coretexMathParameterDimen coretexParameterDimen
hi def link coretexPageParameterDimen coretexParameterDimen
hi def link coretexParagraphParameterDimen coretexParameterDimen
hi def link coretexParameterGlue coretexNumber
hi def link coretexInsertsParameterGlue coretexParameterGlue
hi def link coretexMathParameterGlue coretexParameterGlue
hi def link coretexPageParameterGlue coretexParameterGlue
hi def link coretexParagraphParameterGlue coretexParameterGlue
hi def link coretexTablesParameterGlue coretexParameterGlue
hi def link coretexParameterInteger coretexNumber
hi def link coretexBoxParameterInteger coretexParameterInteger
hi def link coretexCharacterParameterInteger coretexParameterInteger
hi def link coretexDebuggingParameterInteger coretexParameterInteger
hi def link coretexHyphenationParameterInteger coretexParameterInteger
hi def link coretexInsertsParameterInteger coretexParameterInteger
hi def link coretexJobParameterInteger coretexParameterInteger
hi def link coretexMacroParameterInteger coretexParameterInteger
hi def link coretexMathParameterInteger coretexParameterInteger
hi def link coretexParagraphParameterInteger coretexParameterInteger
hi def link coretexPenaltiesParameterInteger coretexParameterInteger
hi def link coretexParameterMuglue coretexNumber
hi def link coretexMathParameterMuglue coretexParameterMuglue
hi def link coretexParameterToken coretexIdentifier
hi def link coretexBoxParameterToken coretexParameterToken
hi def link coretexDebuggingParameterToken coretexParameterToken
hi def link coretexFileIOParameterToken coretexParameterToken
hi def link coretexMathParameterToken coretexParameterToken
hi def link coretexParagraphParameterToken coretexParameterToken
hi def link coretexTablesParameterToken coretexParameterToken
let b:current_syntax = "coretex"
let &cpo = s:cpo_save
unlet s:cpo_save

376
runtime/syntax/initex.vim Normal file
View File

@@ -0,0 +1,376 @@
" Vim syntax file
" Language: TeX (core definition)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" This follows the grouping (sort of) found at
" http://www.tug.org/utilities/plain/cseq.html#top-fam
syn keyword initexTodo TODO FIXME XXX NOTE
syn match initexComment display contains=initexTodo
\ '\\\@<!\%(\\\\\)*\zs%.*$'
syn match initexDimension display contains=@NoSpell
\ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
syn cluster initexBox
\ contains=initexBoxCommand,initexBoxInternalQuantity,
\ initexBoxParameterDimen,initexBoxParameterInteger,
\ initexBoxParameterToken
syn cluster initexCharacter
\ contains=initexCharacterCommand,initexCharacterInternalQuantity,
\ initexCharacterParameterInteger
syn cluster initexDebugging
\ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
\ initexDebuggingParameterToken
syn cluster initexFileIO
\ contains=initexFileIOCommand,initexFileIOInternalQuantity,
\ initexFileIOParameterToken
syn cluster initexFonts
\ contains=initexFontsCommand,initexFontsInternalQuantity
syn cluster initexGlue
\ contains=initexGlueCommand,initexGlueDerivedCommand
syn cluster initexHyphenation
\ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
\ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
syn cluster initexInserts
\ contains=initexInsertsCommand,initexInsertsParameterDimen,
\ initexInsertsParameterGlue,initexInsertsParameterInteger
syn cluster initexJob
\ contains=initexJobCommand,initexJobInternalQuantity,
\ initexJobParameterInteger
syn cluster initexKern
\ contains=initexKernCommand,initexKernInternalQuantity
syn cluster initexLogic
\ contains=initexLogicCommand
syn cluster initexMacro
\ contains=initexMacroCommand,initexMacroDerivedCommand,
\ initexMacroParameterInteger
syn cluster initexMarks
\ contains=initexMarksCommand
syn cluster initexMath
\ contains=initexMathCommand,initexMathDerivedCommand,
\ initexMathInternalQuantity,initexMathParameterDimen,
\ initexMathParameterGlue,initexMathParameterInteger,
\ initexMathParameterMuglue,initexMathParameterToken
syn cluster initexPage
\ contains=initexPageInternalQuantity,initexPageParameterDimen,
\ initexPageParameterGlue
syn cluster initexParagraph
\ contains=initexParagraphCommand,initexParagraphInternalQuantity,
\ initexParagraphParameterDimen,initexParagraphParameterGlue,
\ initexParagraphParameterInteger,initexParagraphParameterToken
syn cluster initexPenalties
\ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
\ initexPenaltiesParameterInteger
syn cluster initexRegisters
\ contains=initexRegistersCommand,initexRegistersInternalQuantity
syn cluster initexTables
\ contains=initexTablesCommand,initexTablesParameterGlue,
\ initexTablesParameterToken
syn cluster initexCommand
\ contains=initexBoxCommand,initexCharacterCommand,
\ initexDebuggingCommand,initexFileIOCommand,
\ initexFontsCommand,initexGlueCommand,
\ initexHyphenationCommand,initexInsertsCommand,
\ initexJobCommand,initexKernCommand,initexLogicCommand,
\ initexMacroCommand,initexMarksCommand,initexMathCommand,
\ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
\ initexTablesCommand
syn match initexBoxCommand display contains=@NoSpell
\ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
syn match initexCharacterCommand display contains=@NoSpell
\ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
syn match initexDebuggingCommand display contains=@NoSpell
\ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
syn match initexFileIOCommand display contains=@NoSpell
\ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
syn match initexFontsCommand display contains=@NoSpell
\ '\\\%(/\|fontname\)\>'
syn match initexGlueCommand display contains=@NoSpell
\ '\\\%([hv]\|un\)skip\>'
syn match initexHyphenationCommand display contains=@NoSpell
\ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
syn match initexInsertsCommand display contains=@NoSpell
\ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
syn match initexJobCommand display contains=@NoSpell
\ '\\\%(dump\|end\|jobname\)\>'
syn match initexKernCommand display contains=@NoSpell
\ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
syn match initexLogicCommand display contains=@NoSpell
\ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
" \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
syn match initexMacroCommand display contains=@NoSpell
\ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
syn match initexMarksCommand display contains=@NoSpell
\ '\\\%(bot\|first\|top\)\=mark\>'
syn match initexMathCommand display contains=@NoSpell
\ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
syn match initexParagraphCommand display contains=@NoSpell
\ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
syn match initexPenaltiesCommand display contains=@NoSpell
\ '\\\%(un\)\=penalty\>'
syn match initexRegistersCommand display contains=@NoSpell
\ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
syn match initexTablesCommand display contains=@NoSpell
\ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
syn cluster initexDerivedCommand
\ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
\ initexMacroDerivedCommand,initexMathDerivedCommand
syn match initexGlueDerivedCommand display contains=@NoSpell
\ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
syn match initexHyphenationDerivedCommand display contains=@NoSpell
\ '\\-'
syn match initexMacroDerivedCommand display contains=@NoSpell
\ '\\[gx]def\>'
syn match initexMathDerivedCommand display contains=@NoSpell
\ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
syn cluster initexInternalQuantity
\ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
\ initexFileIOInternalQuantity,initexFontsInternalQuantity,
\ initexHyphenationInternalQuantity,initexJobInternalQuantity,
\ initexKernInternalQuantity,initexMathInternalQuantity,
\ initexPageInternalQuantity,initexParagraphInternalQuantity,
\ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
syn match initexBoxInternalQuantity display contains=@NoSpell
\ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
syn match initexCharacterInternalQuantity display contains=@NoSpell
\ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
syn match initexFileIOInternalQuantity display contains=@NoSpell
\ '\\inputlineno\>'
syn match initexFontsInternalQuantity display contains=@NoSpell
\ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
syn match initexHyphenationInternalQuantity display contains=@NoSpell
\ '\\hyphenchar\>'
syn match initexJobInternalQuantity display contains=@NoSpell
\ '\\deadcycles\>'
syn match initexKernInternalQuantity display contains=@NoSpell
\ '\\lastkern\>'
syn match initexMathInternalQuantity display contains=@NoSpell
\ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
syn match initexPageInternalQuantity display contains=@NoSpell
\ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
syn match initexParagraphInternalQuantity display contains=@NoSpell
\ '\\\%(prevgraf\|spacefactor\)\>'
syn match initexPenaltiesInternalQuantity display contains=@NoSpell
\ '\\lastpenalty\>'
syn match initexRegistersInternalQuantity display contains=@NoSpell
\ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
syn cluster initexParameterDimen
\ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
\ initexMathParameterDimen,initexPageParameterDimen,
\ initexParagraphParameterDimen
syn match initexBoxParameterDimen display contains=@NoSpell
\ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
syn match initexInsertsParameterDimen display contains=@NoSpell
\ '\\splitmaxdepth\>'
syn match initexMathParameterDimen display contains=@NoSpell
\ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
syn match initexPageParameterDimen display contains=@NoSpell
\ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
syn match initexParagraphParameterDimen display contains=@NoSpell
\ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
syn cluster initexParameterGlue
\ contains=initexInsertsParameterGlue,initexMathParameterGlue,
\ initexPageParameterGlue,initexParagraphParameterGlue,
\ initexTablesParameterGlue
syn match initexInsertsParameterGlue display contains=@NoSpell
\ '\\splittopskip\>'
syn match initexMathParameterGlue display contains=@NoSpell
\ '\\\%(above\|below\)display\%(short\)\=skip\>'
syn match initexPageParameterGlue display contains=@NoSpell
\ '\\topskip\>'
syn match initexParagraphParameterGlue display contains=@NoSpell
\ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
syn match initexTablesParameterGlue display contains=@NoSpell
\ '\\tabskip\>'
syn cluster initexParameterInteger
\ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
\ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
\ initexInsertsParameterInteger,initexJobParameterInteger,
\ initexMacroParameterInteger,initexMathParameterInteger,
\ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
syn match initexBoxParameterInteger display contains=@NoSpell
\ '\\[hv]badness\>'
syn match initexCharacterParameterInteger display contains=@NoSpell
\ '\\\%(\%(endline\|escape\|newline\)char\)\>'
syn match initexDebuggingParameterInteger display contains=@NoSpell
\ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
syn match initexHyphenationParameterInteger display contains=@NoSpell
\ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
syn match initexInsertsParameterInteger display contains=@NoSpell
\ '\\\%(holdinginserts\)\>'
syn match initexJobParameterInteger display contains=@NoSpell
\ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
syn match initexMacroParameterInteger display contains=@NoSpell
\ '\\globaldefs\>'
syn match initexMathParameterInteger display contains=@NoSpell
\ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
syn match initexParagraphParameterInteger display contains=@NoSpell
\ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
syn match initexPenaltiesParameterInteger display contains=@NoSpell
\ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
syn cluster initexParameterMuglue
\ contains=initexMathParameterMuglue
syn match initexMathParameterMuglue display contains=@NoSpell
\ '\\\%(med\|thick\|thin\)muskip\>'
syn cluster initexParameterDimen
\ contains=initexBoxParameterToken,initexDebuggingParameterToken,
\ initexFileIOParameterToken,initexMathParameterToken,
\ initexParagraphParameterToken,initexTablesParameterToken
syn match initexBoxParameterToken display contains=@NoSpell
\ '\\every[hv]box\>'
syn match initexDebuggingParameterToken display contains=@NoSpell
\ '\\errhelp\>'
syn match initexFileIOParameterToken display contains=@NoSpell
\ '\\output\>'
syn match initexMathParameterToken display contains=@NoSpell
\ '\\every\%(display\|math\)\>'
syn match initexParagraphParameterToken display contains=@NoSpell
\ '\\everypar\>'
syn match initexTablesParameterToken display contains=@NoSpell
\ '\\everycr\>'
hi def link initexCharacter Character
hi def link initexNumber Number
hi def link initexIdentifier Identifier
hi def link initexStatement Statement
hi def link initexConditional Conditional
hi def link initexPreProc PreProc
hi def link initexMacro Macro
hi def link initexType Type
hi def link initexDebug Debug
hi def link initexTodo Todo
hi def link initexComment Comment
hi def link initexDimension initexNumber
hi def link initexCommand initexStatement
hi def link initexBoxCommand initexCommand
hi def link initexCharacterCommand initexCharacter
hi def link initexDebuggingCommand initexDebug
hi def link initexFileIOCommand initexCommand
hi def link initexFontsCommand initexType
hi def link initexGlueCommand initexCommand
hi def link initexHyphenationCommand initexCommand
hi def link initexInsertsCommand initexCommand
hi def link initexJobCommand initexPreProc
hi def link initexKernCommand initexCommand
hi def link initexLogicCommand initexConditional
hi def link initexMacroCommand initexMacro
hi def link initexMarksCommand initexCommand
hi def link initexMathCommand initexCommand
hi def link initexParagraphCommand initexCommand
hi def link initexPenaltiesCommand initexCommand
hi def link initexRegistersCommand initexCommand
hi def link initexTablesCommand initexCommand
hi def link initexDerivedCommand initexStatement
hi def link initexGlueDerivedCommand initexDerivedCommand
hi def link initexHyphenationDerivedCommand initexDerivedCommand
hi def link initexMacroDerivedCommand initexDerivedCommand
hi def link initexMathDerivedCommand initexDerivedCommand
hi def link initexInternalQuantity initexIdentifier
hi def link initexBoxInternalQuantity initexInternalQuantity
hi def link initexCharacterInternalQuantity initexInternalQuantity
hi def link initexFileIOInternalQuantity initexInternalQuantity
hi def link initexFontsInternalQuantity initexInternalQuantity
hi def link initexHyphenationInternalQuantity initexInternalQuantity
hi def link initexJobInternalQuantity initexInternalQuantity
hi def link initexKernInternalQuantity initexInternalQuantity
hi def link initexMathInternalQuantity initexInternalQuantity
hi def link initexPageInternalQuantity initexInternalQuantity
hi def link initexParagraphInternalQuantity initexInternalQuantity
hi def link initexPenaltiesInternalQuantity initexInternalQuantity
hi def link initexRegistersInternalQuantity initexInternalQuantity
hi def link initexParameterDimen initexNumber
hi def link initexBoxParameterDimen initexParameterDimen
hi def link initexInsertsParameterDimen initexParameterDimen
hi def link initexMathParameterDimen initexParameterDimen
hi def link initexPageParameterDimen initexParameterDimen
hi def link initexParagraphParameterDimen initexParameterDimen
hi def link initexParameterGlue initexNumber
hi def link initexInsertsParameterGlue initexParameterGlue
hi def link initexMathParameterGlue initexParameterGlue
hi def link initexPageParameterGlue initexParameterGlue
hi def link initexParagraphParameterGlue initexParameterGlue
hi def link initexTablesParameterGlue initexParameterGlue
hi def link initexParameterInteger initexNumber
hi def link initexBoxParameterInteger initexParameterInteger
hi def link initexCharacterParameterInteger initexParameterInteger
hi def link initexDebuggingParameterInteger initexParameterInteger
hi def link initexHyphenationParameterInteger initexParameterInteger
hi def link initexInsertsParameterInteger initexParameterInteger
hi def link initexJobParameterInteger initexParameterInteger
hi def link initexMacroParameterInteger initexParameterInteger
hi def link initexMathParameterInteger initexParameterInteger
hi def link initexParagraphParameterInteger initexParameterInteger
hi def link initexPenaltiesParameterInteger initexParameterInteger
hi def link initexParameterMuglue initexNumber
hi def link initexMathParameterMuglue initexParameterMuglue
hi def link initexParameterToken initexIdentifier
hi def link initexBoxParameterToken initexParameterToken
hi def link initexDebuggingParameterToken initexParameterToken
hi def link initexFileIOParameterToken initexParameterToken
hi def link initexMathParameterToken initexParameterToken
hi def link initexParagraphParameterToken initexParameterToken
hi def link initexTablesParameterToken initexParameterToken
let b:current_syntax = "initex"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,6 +1,6 @@
" Vim syntax file " Vim syntax file
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-13 " Latest Revision: 2006-04-14
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@@ -677,6 +677,7 @@ syn keyword kconfigPreProc source
syn keyword kconfigTriState y m n syn keyword kconfigTriState y m n
syn match kconfigSpecialChar contained '\\.' syn match kconfigSpecialChar contained '\\.'
syn match kconfigSpecialChar '\\$'
syn region kconfigPath matchgroup=kconfigPath syn region kconfigPath matchgroup=kconfigPath
\ start=+"+ skip=+\\\\\|\\\"+ end=+"+ \ start=+"+ skip=+\\\\\|\\\"+ end=+"+

View File

@@ -1,254 +1,297 @@
" Vim syntax file " Vim syntax file
" Language: Lua 4.0 and Lua 5.0 " Language: Lua 4.0, Lua 5.0 and Lua 5.1
" Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br> " Maintainer: Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
" First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br> " First Author: Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
" Last Change: 2004 Aug 29 " Last Change: 2006 Apr. 19
" Options: lua_version = 4 or 5 [default] " Options: lua_version = 4 or 5
" " lua_subversion = 0 (4.0, 5.0) or 1 (5.1)
" For version 5.x: Clear all syntax items " default 5.1
" For version 6.x: Quit when a syntax file was already loaded
if version < 600 " For version 5.x: Clear all syntax items
syntax clear " For version 6.x: Quit when a syntax file was already loaded
elseif exists("b:current_syntax") if version < 600
finish syntax clear
endif elseif exists("b:current_syntax")
finish
if !exists("lua_version") endif
let lua_version = 5
endif if !exists("lua_version")
" Default is lua 5.1
syn case match let lua_version = 5
let lua_subversion = 1
" Comments elseif !exists("lua_subversion")
syn keyword luaTodo contained TODO FIXME XXX " lua_version exists, but lua_subversion doesn't. So, set it to 0
syn match luaComment "--.*$" contains=luaTodo let lua_subversion = 0
if lua_version > 4 endif
syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
syn region luaInnerComment contained transparent start="\[\[" end="\]\]" syn case match
endif
" First line may start with #! " syncing method
syn match luaComment "\%^#!.*" syn sync minlines=100
" catch errors caused by wrong parenthesis and wrong curly brackets or " Comments
" keywords placed outside their respective blocks syn keyword luaTodo contained TODO FIXME XXX
syn match luaComment "--.*$" contains=luaTodo
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement if lua_version == 5 && lua_subversion == 0
syn match luaError ")" syn region luaComment matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
syn match luaError "}" syn region luaInnerComment contained transparent start="\[\[" end="\]\]"
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>" elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
" Comments in Lua 5.1: [[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
syn region luaComment matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"
" Function declaration endif
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
" First line may start with #!
" if then else elseif end syn match luaComment "\%^#!.*"
syn keyword luaCond contained else
" catch errors caused by wrong parenthesis and wrong curly brackets or
" then ... end " keywords placed outside their respective blocks
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
" elseif ... then syn match luaError ")"
syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat syn match luaError "}"
syn match luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
" if ... then
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty " Function declaration
syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
" do ... end
syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat " if then else elseif end
syn keyword luaCond contained else
" repeat ... until
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat " then ... end
syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
" while ... do
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty " elseif ... then
syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
" for ... do and for ... in ... do
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty " if ... then
syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
" Following 'else' example. This is another item to those
" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it. " do ... end
syn keyword luaRepeat contained in syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
" other keywords " repeat ... until
syn keyword luaStatement return local break syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
syn keyword luaOperator and or not
syn keyword luaConstant nil " while ... do
if lua_version > 4 syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
syn keyword luaConstant true false
endif " for ... do and for ... in ... do
syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
" Pre processor doesn't exist since Lua 4.0
" syn match luaPreProc "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>" " Following 'else' example. This is another item to those
" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
" Strings syn keyword luaRepeat contained in
syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial " other keywords
syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial syn keyword luaStatement return local break
" Nested strings syn keyword luaOperator and or not
syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2 syn keyword luaConstant nil
if lua_version > 4
" integer number syn keyword luaConstant true false
syn match luaNumber "\<[0-9]\+\>" endif
" floating point number, with dot, optional exponent
syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>" " Strings
" floating point number, starting with a dot, optional exponent syn match luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>" syn region luaString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
" floating point number, without dot, with exponent syn region luaString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>" " Nested strings
if (lua_version == 5 && lua_subversion == 0) || lua_version < 5
" tables syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"
syn keyword luaFunc assert collectgarbage dofile error gcinfo next endif
syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
" integer number
if lua_version == 4 syn match luaNumber "\<[0-9]\+\>"
syn keyword luaFunc _ALERT _ERRORMESSAGE " floating point number, with dot, optional exponent
syn keyword luaFunc call copytagmethods dostring syn match luaFloat "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
syn keyword luaFunc foreach foreachi getglobal getn " floating point number, starting with a dot, optional exponent
syn keyword luaFunc gettagmethod globals newtag syn match luaFloat "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
syn keyword luaFunc setglobal settag settagmethod sort " floating point number, without dot, with exponent
syn keyword luaFunc tag tinsert tremove syn match luaFloat "\<[0-9]\+e[-+]\=[0-9]\+\>"
syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
syn keyword luaFunc openfile closefile flush seek " tables
syn keyword luaFunc setlocale execute remove rename tmpname syn region luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
syn keyword luaFunc getenv date clock exit
syn keyword luaFunc readfrom writeto appendto read write syn keyword luaFunc assert collectgarbage dofile error gcinfo next
syn keyword luaFunc PI abs sin cos tan asin syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
syn keyword luaFunc acos atan atan2 ceil floor
syn keyword luaFunc mod frexp ldexp sqrt min max log if lua_version == 4
syn keyword luaFunc log10 exp deg rad random syn keyword luaFunc _ALERT _ERRORMESSAGE
syn keyword luaFunc randomseed strlen strsub strlower strupper syn keyword luaFunc call copytagmethods dostring
syn keyword luaFunc strchar strrep ascii strbyte syn keyword luaFunc foreach foreachi getglobal getn
syn keyword luaFunc format strfind gsub syn keyword luaFunc gettagmethod globals newtag
syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook syn keyword luaFunc setglobal settag settagmethod sort
else syn keyword luaFunc tag tinsert tremove
syn keyword luaFunc _G getfenv getmetatable ipairs loadfile syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
syn keyword luaFunc loadlib loadstring pairs pcall rawequal syn keyword luaFunc openfile closefile flush seek
syn keyword luaFunc require setfenv setmetatable unpack xpcall syn keyword luaFunc setlocale execute remove rename tmpname
syn keyword luaFunc LUA_PATH _LOADED _REQUIREDNAME syn keyword luaFunc getenv date clock exit
" Not sure if all these functions need to be highlighted... syn keyword luaFunc readfrom writeto appendto read write
syn match luaFunc /coroutine\.create/ syn keyword luaFunc PI abs sin cos tan asin
syn match luaFunc /coroutine\.resume/ syn keyword luaFunc acos atan atan2 ceil floor
syn match luaFunc /coroutine\.status/ syn keyword luaFunc mod frexp ldexp sqrt min max log
syn match luaFunc /coroutine\.wrap/ syn keyword luaFunc log10 exp deg rad random
syn match luaFunc /coroutine\.yield/ syn keyword luaFunc randomseed strlen strsub strlower strupper
syn match luaFunc /string\.byte/ syn keyword luaFunc strchar strrep ascii strbyte
syn match luaFunc /string\.char/ syn keyword luaFunc format strfind gsub
syn match luaFunc /string\.dump/ syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
syn match luaFunc /string\.find/ elseif lua_version == 5
syn match luaFunc /string\.len/ " Not sure if all these functions need to be highlighted...
syn match luaFunc /string\.lower/ syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
syn match luaFunc /string\.rep/ syn keyword luaFunc loadstring pairs pcall rawequal
syn match luaFunc /string\.sub/ syn keyword luaFunc require setfenv setmetatable unpack xpcall
syn match luaFunc /string\.upper/ if lua_subversion == 0
syn match luaFunc /string\.format/ syn keyword luaFunc loadlib LUA_PATH _LOADED _REQUIREDNAME
syn match luaFunc /string\.gfind/ elseif lua_subversion == 1
syn match luaFunc /string\.gsub/ syn keyword luaFunc load module select
syn match luaFunc /table\.concat/ syn match luaFunc /package\.cpath/
syn match luaFunc /table\.foreach/ syn match luaFunc /package\.loaded/
syn match luaFunc /table\.foreachi/ syn match luaFunc /package\.loadlib/
syn match luaFunc /table\.getn/ syn match luaFunc /package\.path/
syn match luaFunc /table\.sort/ syn match luaFunc /package\.preload/
syn match luaFunc /table\.insert/ syn match luaFunc /package\.seeall/
syn match luaFunc /table\.remove/ syn match luaFunc /coroutine\.running/
syn match luaFunc /table\.setn/ endif
syn match luaFunc /math\.abs/ syn match luaFunc /coroutine\.create/
syn match luaFunc /math\.acos/ syn match luaFunc /coroutine\.resume/
syn match luaFunc /math\.asin/ syn match luaFunc /coroutine\.status/
syn match luaFunc /math\.atan/ syn match luaFunc /coroutine\.wrap/
syn match luaFunc /math\.atan2/ syn match luaFunc /coroutine\.yield/
syn match luaFunc /math\.ceil/ syn match luaFunc /string\.byte/
syn match luaFunc /math\.cos/ syn match luaFunc /string\.char/
syn match luaFunc /math\.deg/ syn match luaFunc /string\.dump/
syn match luaFunc /math\.exp/ syn match luaFunc /string\.find/
syn match luaFunc /math\.floor/ syn match luaFunc /string\.len/
syn match luaFunc /math\.log/ syn match luaFunc /string\.lower/
syn match luaFunc /math\.log10/ syn match luaFunc /string\.rep/
syn match luaFunc /math\.max/ syn match luaFunc /string\.sub/
syn match luaFunc /math\.min/ syn match luaFunc /string\.upper/
syn match luaFunc /math\.mod/ syn match luaFunc /string\.format/
syn match luaFunc /math\.pow/ syn match luaFunc /string\.gsub/
syn match luaFunc /math\.rad/ if lua_subversion == 0
syn match luaFunc /math\.sin/ syn match luaFunc /string\.gfind/
syn match luaFunc /math\.sqrt/ elseif lua_subversion == 1
syn match luaFunc /math\.tan/ syn match luaFunc /string\.gmatch/
syn match luaFunc /math\.frexp/ syn match luaFunc /string\.match/
syn match luaFunc /math\.ldexp/ syn match luaFunc /string\.reverse/
syn match luaFunc /math\.random/ syn match luaFunc /table\.maxn/
syn match luaFunc /math\.randomseed/ endif
syn match luaFunc /math\.pi/ syn match luaFunc /table\.concat/
syn match luaFunc /io\.stdin/ syn match luaFunc /table\.foreach/
syn match luaFunc /io\.stdout/ syn match luaFunc /table\.foreachi/
syn match luaFunc /io\.stderr/ syn match luaFunc /table\.getn/
syn match luaFunc /io\.close/ syn match luaFunc /table\.sort/
syn match luaFunc /io\.flush/ syn match luaFunc /table\.insert/
syn match luaFunc /io\.input/ syn match luaFunc /table\.remove/
syn match luaFunc /io\.lines/ syn match luaFunc /table\.setn/
syn match luaFunc /io\.open/ syn match luaFunc /math\.abs/
syn match luaFunc /io\.output/ syn match luaFunc /math\.acos/
syn match luaFunc /io\.popen/ syn match luaFunc /math\.asin/
syn match luaFunc /io\.read/ syn match luaFunc /math\.atan/
syn match luaFunc /io\.tmpfile/ syn match luaFunc /math\.atan2/
syn match luaFunc /io\.type/ syn match luaFunc /math\.ceil/
syn match luaFunc /io\.write/ syn match luaFunc /math\.sin/
syn match luaFunc /os\.clock/ syn match luaFunc /math\.cos/
syn match luaFunc /os\.date/ syn match luaFunc /math\.tan/
syn match luaFunc /os\.difftime/ syn match luaFunc /math\.deg/
syn match luaFunc /os\.execute/ syn match luaFunc /math\.exp/
syn match luaFunc /os\.exit/ syn match luaFunc /math\.floor/
syn match luaFunc /os\.getenv/ syn match luaFunc /math\.log/
syn match luaFunc /os\.remove/ syn match luaFunc /math\.log10/
syn match luaFunc /os\.rename/ syn match luaFunc /math\.max/
syn match luaFunc /os\.setlocale/ syn match luaFunc /math\.min/
syn match luaFunc /os\.time/ if lua_subversion == 0
syn match luaFunc /os\.tmpname/ syn match luaFunc /math\.mod/
syn match luaFunc /debug\.debug/ elseif lua_subversion == 1
syn match luaFunc /debug\.gethook/ syn match luaFunc /math\.fmod/
syn match luaFunc /debug\.getinfo/ syn match luaFunc /math\.modf/
syn match luaFunc /debug\.getlocal/ syn match luaFunc /math\.cosh/
syn match luaFunc /debug\.getupvalue/ syn match luaFunc /math\.sinh/
syn match luaFunc /debug\.setlocal/ syn match luaFunc /math\.tanh/
syn match luaFunc /debug\.setupvalue/ endif
syn match luaFunc /debug\.sethook/ syn match luaFunc /math\.pow/
syn match luaFunc /debug\.traceback/ syn match luaFunc /math\.rad/
endif syn match luaFunc /math\.sqrt/
syn match luaFunc /math\.frexp/
"syncing method syn match luaFunc /math\.ldexp/
syn sync minlines=100 syn match luaFunc /math\.random/
syn match luaFunc /math\.randomseed/
" Define the default highlighting. syn match luaFunc /math\.pi/
" For version 5.7 and earlier: only when not done already syn match luaFunc /io\.stdin/
" For version 5.8 and later: only when an item doesn't have highlighting yet syn match luaFunc /io\.stdout/
if version >= 508 || !exists("did_lua_syntax_inits") syn match luaFunc /io\.stderr/
if version < 508 syn match luaFunc /io\.close/
let did_lua_syntax_inits = 1 syn match luaFunc /io\.flush/
command -nargs=+ HiLink hi link <args> syn match luaFunc /io\.input/
else syn match luaFunc /io\.lines/
command -nargs=+ HiLink hi def link <args> syn match luaFunc /io\.open/
endif syn match luaFunc /io\.output/
syn match luaFunc /io\.popen/
HiLink luaStatement Statement syn match luaFunc /io\.read/
HiLink luaRepeat Repeat syn match luaFunc /io\.tmpfile/
HiLink luaString String syn match luaFunc /io\.type/
HiLink luaString2 String syn match luaFunc /io\.write/
HiLink luaNumber Number syn match luaFunc /os\.clock/
HiLink luaFloat Float syn match luaFunc /os\.date/
HiLink luaOperator Operator syn match luaFunc /os\.difftime/
HiLink luaConstant Constant syn match luaFunc /os\.execute/
HiLink luaCond Conditional syn match luaFunc /os\.exit/
HiLink luaFunction Function syn match luaFunc /os\.getenv/
HiLink luaComment Comment syn match luaFunc /os\.remove/
HiLink luaTodo Todo syn match luaFunc /os\.rename/
HiLink luaTable Structure syn match luaFunc /os\.setlocale/
HiLink luaError Error syn match luaFunc /os\.time/
HiLink luaSpecial SpecialChar syn match luaFunc /os\.tmpname/
" HiLink luaPreProc PreProc syn match luaFunc /debug\.debug/
HiLink luaFunc Identifier syn match luaFunc /debug\.gethook/
syn match luaFunc /debug\.getinfo/
delcommand HiLink syn match luaFunc /debug\.getlocal/
endif syn match luaFunc /debug\.getupvalue/
syn match luaFunc /debug\.setlocal/
let b:current_syntax = "lua" syn match luaFunc /debug\.setupvalue/
syn match luaFunc /debug\.sethook/
" vim: noet ts=8 syn match luaFunc /debug\.traceback/
if lua_subversion == 1
syn match luaFunc /debug\.getfenv/
syn match luaFunc /debug\.getmetatable/
syn match luaFunc /debug\.getregistry/
syn match luaFunc /debug\.setfenv/
syn match luaFunc /debug\.setmetatable/
endif
endif
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_lua_syntax_inits")
if version < 508
let did_lua_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink luaStatement Statement
HiLink luaRepeat Repeat
HiLink luaString String
HiLink luaString2 String
HiLink luaNumber Number
HiLink luaFloat Float
HiLink luaOperator Operator
HiLink luaConstant Constant
HiLink luaCond Conditional
HiLink luaFunction Function
HiLink luaComment Comment
HiLink luaTodo Todo
HiLink luaTable Structure
HiLink luaError Error
HiLink luaSpecial SpecialChar
HiLink luaFunc Identifier
delcommand HiLink
endif
let b:current_syntax = "lua"
" vim: et ts=8

View File

@@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: TeX (plain.tex format) " Language: TeX (plain.tex format)
" Maintainer: Nikolai Weibull <now@bitwi.se> " Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-03-26 " Latest Revision: 2006-04-19
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@@ -13,10 +13,10 @@ set cpo&vim
syn match plaintexControlSequence display contains=@NoSpell syn match plaintexControlSequence display contains=@NoSpell
\ '\\[a-zA-Z@]\+' \ '\\[a-zA-Z@]\+'
runtime! syntax/coretex.vim runtime! syntax/initex.vim
syn match plaintexComment display syn match plaintexComment display
\ contains=ALLBUT,coretexComment,plaintexComment \ contains=ALLBUT,initexComment,plaintexComment
\ '^\s*%[CDM].*$' \ '^\s*%[CDM].*$'
if exists("g:plaintex_delimiters") if exists("g:plaintex_delimiters")
@@ -59,12 +59,14 @@ syn match plaintexRegistersCommand display contains=@NoSpell
syn match plaintexTablesCommand display contains=@NoSpell syn match plaintexTablesCommand display contains=@NoSpell
\ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>' \ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>'
syn region plaintexMath matchgroup=plaintexMath if !exists("g:plaintex_no_math")
syn region plaintexMath matchgroup=plaintexMath
\ contains=@plaintexMath \ contains=@plaintexMath
\ start='\$' skip='\\\\\|\\\$' end='\$' \ start='\$' skip='\\\\\|\\\$' end='\$'
syn region plaintexMath matchgroup=plaintexMath syn region plaintexMath matchgroup=plaintexMath
\ contains=@plaintexMath keepend \ contains=@plaintexMath keepend
\ start='\$\$' skip='\\\\\|\\\$' end='\$\$' \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'
endif
syn cluster plaintexMath syn cluster plaintexMath
\ contains=plaintexMathCommand,plaintexMathBoxCommand, \ contains=plaintexMathCommand,plaintexMathBoxCommand,
@@ -122,16 +124,16 @@ hi def link plaintexComment Comment
hi def link plaintexInclude Include hi def link plaintexInclude Include
hi def link plaintexRepeat Repeat hi def link plaintexRepeat Repeat
hi def link plaintexCommand coretexCommand hi def link plaintexCommand initexCommand
hi def link plaintexBoxCommand plaintexCommand hi def link plaintexBoxCommand plaintexCommand
hi def link plaintexCharacterCommand coretexCharacterCommand hi def link plaintexCharacterCommand initexCharacterCommand
hi def link plaintexDebuggingCommand coretexDebuggingCommand hi def link plaintexDebuggingCommand initexDebuggingCommand
hi def link plaintexFontsCommand coretexFontsCommand hi def link plaintexFontsCommand initexFontsCommand
hi def link plaintexGlueCommand plaintexCommand hi def link plaintexGlueCommand plaintexCommand
hi def link plaintexInsertsCommand plaintexCommand hi def link plaintexInsertsCommand plaintexCommand
hi def link plaintexJobCommand coretexJobCommand hi def link plaintexJobCommand initexJobCommand
hi def link plaintexKernCommand plaintexCommand hi def link plaintexKernCommand plaintexCommand
hi def link plaintexMacroCommand coretexMacroCommand hi def link plaintexMacroCommand initexMacroCommand
hi def link plaintexPageCommand plaintexCommand hi def link plaintexPageCommand plaintexCommand
hi def link plaintexParagraphCommand plaintexCommand hi def link plaintexParagraphCommand plaintexCommand
hi def link plaintexPenaltiesCommand plaintexCommand hi def link plaintexPenaltiesCommand plaintexCommand
@@ -151,16 +153,15 @@ hi def link plaintexMathOperator plaintexOperator
hi def link plaintexMathPunctuation plaintexCharacterCommand hi def link plaintexMathPunctuation plaintexCharacterCommand
hi def link plaintexMathRelation plaintexOperator hi def link plaintexMathRelation plaintexOperator
hi def link plaintexParameterDimen coretexParameterDimen hi def link plaintexParameterDimen initexParameterDimen
hi def link plaintexMathParameterDimen coretexMathParameterDimen hi def link plaintexMathParameterDimen initexMathParameterDimen
hi def link plaintexParagraphParameterGlue coretexParagraphParameterGlue hi def link plaintexParagraphParameterGlue initexParagraphParameterGlue
hi def link plaintexFontParameterInteger coretexFontParameterInteger hi def link plaintexFontParameterInteger initexFontParameterInteger
hi def link plaintexJobParameterInteger coretexJobParameterInteger hi def link plaintexJobParameterInteger initexJobParameterInteger
hi def link plaintexPageParameterInteger coretexPageParameterInteger hi def link plaintexPageParameterInteger initexPageParameterInteger
hi def link plaintexPageParameterToken coretexParameterToken hi def link plaintexPageParameterToken initexParameterToken
let b:current_syntax = "plaintex" let b:current_syntax = "plaintex"
let &cpo = s:cpo_save let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save

View File

@@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: Vim 7.0 script " Language: Vim 7.0 script
" Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Apr 18, 2006 " Last Change: April 19, 2006
" Version: 7.0-44 " Version: 7.0-45
" Automatically generated keyword lists: {{{1 " Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2 " Quit when a syntax file was already loaded {{{2
@@ -55,7 +55,7 @@ syn match vimHLGroup contained "Conceal"
syn case match syn case match
" Function Names {{{2 " Function Names {{{2
syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile syn keyword vimFuncName contained add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg settabwinvar setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile
"--- syntax above generated by mkvimvim --- "--- syntax above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1 " Special Vim Highlighting (not automatic) {{{1

View File

@@ -6482,7 +6482,7 @@ buf_reload(buf, orig_mode)
{ {
/* Allocate a buffer without putting it in the buffer list. */ /* Allocate a buffer without putting it in the buffer list. */
savebuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY); savebuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY);
if (savebuf != NULL) if (savebuf != NULL && buf == curbuf)
{ {
/* Open the memline. */ /* Open the memline. */
curbuf = savebuf; curbuf = savebuf;
@@ -6491,7 +6491,7 @@ buf_reload(buf, orig_mode)
curbuf = buf; curbuf = buf;
curwin->w_buffer = buf; curwin->w_buffer = buf;
} }
if (savebuf == NULL || saved == FAIL if (savebuf == NULL || saved == FAIL || buf != curbuf
|| move_lines(buf, savebuf) == FAIL) || move_lines(buf, savebuf) == FAIL)
{ {
EMSG2(_("E462: Could not prepare for reloading \"%s\""), EMSG2(_("E462: Could not prepare for reloading \"%s\""),
@@ -6514,18 +6514,17 @@ buf_reload(buf, orig_mode)
if (!aborting()) if (!aborting())
#endif #endif
EMSG2(_("E321: Could not reload \"%s\""), buf->b_fname); EMSG2(_("E321: Could not reload \"%s\""), buf->b_fname);
if (savebuf != NULL) if (savebuf != NULL && buf_valid(savebuf) && buf == curbuf)
{ {
/* Put the text back from the save buffer. First /* Put the text back from the save buffer. First
* delete any lines that readfile() added. */ * delete any lines that readfile() added. */
while (!bufempty()) while (!bufempty())
if (ml_delete(curbuf->b_ml.ml_line_count, FALSE) if (ml_delete(buf->b_ml.ml_line_count, FALSE) == FAIL)
== FAIL)
break; break;
(void)move_lines(savebuf, buf); (void)move_lines(savebuf, buf);
} }
} }
else else if (buf == curbuf)
{ {
/* Mark the buffer as unmodified and free undo info. */ /* Mark the buffer as unmodified and free undo info. */
unchanged(buf, TRUE); unchanged(buf, TRUE);
@@ -6535,12 +6534,12 @@ buf_reload(buf, orig_mode)
} }
vim_free(ea.cmd); vim_free(ea.cmd);
if (savebuf != NULL) if (savebuf != NULL && buf_valid(savebuf))
wipe_buffer(savebuf, FALSE); wipe_buffer(savebuf, FALSE);
#ifdef FEAT_DIFF #ifdef FEAT_DIFF
/* Invalidate diff info if necessary. */ /* Invalidate diff info if necessary. */
diff_invalidate(buf); diff_invalidate(curbuf);
#endif #endif
/* Restore the topline and cursor position and check it (lines may /* Restore the topline and cursor position and check it (lines may

View File

@@ -4294,22 +4294,40 @@ eval_map_expr(str)
char_u *str; char_u *str;
{ {
char_u *res; char_u *res;
char_u *s; char_u *p;
int len; char_u *s, *d;
s = eval_to_string(str, NULL, FALSE); p = eval_to_string(str, NULL, FALSE);
if (s == NULL) if (p == NULL)
return NULL; return NULL;
/* Need a buffer to hold up to three times as much. */ /* Need a buffer to hold up to three times as much. */
len = (int)STRLEN(s); res = alloc((unsigned)(STRLEN(p) * 3) + 1);
res = alloc((unsigned)(len * 3) + 1);
if (res != NULL) if (res != NULL)
{ {
STRCPY(res, s); d = res;
(void)fix_input_buffer(res, len, TRUE); for (s = p; *s != NUL; )
{
if (s[0] == K_SPECIAL && s[1] != NUL && s[2] != NUL)
{
/* Copy special key unmodified. */
*d++ = *s++;
*d++ = *s++;
*d++ = *s++;
}
else
{
/* Add character, possibly multi-byte to destination, escaping
* CSI and K_SPECIAL. */
d = add_char2buf(PTR2CHAR(s), d);
mb_ptr_adv(s);
}
}
*d = NUL;
} }
vim_free(s);
vim_free(p);
return res; return res;
} }
#endif #endif

View File

@@ -185,6 +185,9 @@ static void make_tooltip __ARGS((BalloonEval *beval, char *text, POINT pt));
static void delete_tooltip __ARGS((BalloonEval *beval)); static void delete_tooltip __ARGS((BalloonEval *beval));
static VOID CALLBACK BevalTimerProc __ARGS((HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)); static VOID CALLBACK BevalTimerProc __ARGS((HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime));
#ifndef UINT_PTR
# define UINT_PTR UINT
#endif
static BalloonEval *cur_beval = NULL; static BalloonEval *cur_beval = NULL;
static UINT_PTR BevalTimerId = 0; static UINT_PTR BevalTimerId = 0;
static DWORD LastActivity = 0; static DWORD LastActivity = 0;

View File

@@ -2295,10 +2295,21 @@ gui_mch_update_tabline(void)
int nr = 0; int nr = 0;
int curtabidx = 0; int curtabidx = 0;
RECT rc; RECT rc;
#ifdef FEAT_MBYTE
WCHAR *wstr = NULL;
#endif
if (s_tabhwnd == NULL) if (s_tabhwnd == NULL)
return; return;
#if defined(FEAT_MBYTE) && defined(CCM_SETUNICODEFORMAT)
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
/*
* Enable unicode support
*/
SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)TRUE, (LPARAM)0);
#endif
tie.mask = TCIF_TEXT; tie.mask = TCIF_TEXT;
tie.iImage = -1; tie.iImage = -1;
@@ -2317,7 +2328,29 @@ gui_mch_update_tabline(void)
get_tabline_label(tp); get_tabline_label(tp);
tie.pszText = NameBuff; tie.pszText = NameBuff;
TabCtrl_SetItem(s_tabhwnd, nr, &tie); #ifdef FEAT_MBYTE
wstr = NULL;
if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
{
/* Need to go through Unicode. */
wstr = enc_to_ucs2(NameBuff, NULL);
if (wstr != NULL)
{
TCITEMW tiw;
tiw.mask = TCIF_TEXT;
tiw.iImage = -1;
tiw.pszText = wstr;
SendMessage(s_tabhwnd, TCM_INSERTITEMW, (WPARAM)nr,
(LPARAM)&tiw);
vim_free(wstr);
}
}
if (wstr == NULL)
#endif
{
TabCtrl_SetItem(s_tabhwnd, nr, &tie);
}
} }
/* Remove any old labels. */ /* Remove any old labels. */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,6 @@
*/ */
#define VIM_VERSION_NODOT "vim70e" #define VIM_VERSION_NODOT "vim70e"
#define VIM_VERSION_SHORT "7.0e" #define VIM_VERSION_SHORT "7.0e"
#define VIM_VERSION_MEDIUM "7.0e02 BETA" #define VIM_VERSION_MEDIUM "7.0e03 BETA"
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e02 BETA (2006 Apr 18)" #define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19)"
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e02 BETA (2006 Apr 18, compiled " #define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19, compiled "