unlet! b:entitiescompl
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
let entities = g:xmldata_xhtml10s['vimxmlentities']
" Load data {{{
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
" }}}
"
endif
" Load data {{{
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
" }}}
" Tag completion {{{
" }}}
endif
endfunction
-" HTML context data
-function! htmlcomplete#LoadData() " {{{
-let g:xmldata_xhtml10s = {
-\ '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"],
-\ 'vimxmlattrinfo' : {
-\ 'accept' : ['ContentType', ''],
-\ 'accesskey' : ['Character', ''],
-\ 'action' : ['*URI', ''],
-\ 'align' : ['String', ''],
-\ 'alt' : ['*Text', ''],
-\ 'archive' : ['UriList', ''],
-\ 'axis' : ['CDATA', ''],
-\ 'border' : ['Pixels', ''],
-\ 'cellpadding' : ['Length', ''],
-\ 'cellspacing' : ['Length', ''],
-\ 'char' : ['Character', ''],
-\ 'charoff' : ['Length', ''],
-\ 'charset' : ['LangCode', ''],
-\ 'checked' : ['Bool', ''],
-\ 'class' : ['CDATA', ''],
-\ 'codetype' : ['ContentType', ''],
-\ 'cols' : ['*Number', ''],
-\ 'colspan' : ['Number', ''],
-\ 'content' : ['*CDATA', ''],
-\ 'coords' : ['Coords', ''],
-\ 'data' : ['URI', ''],
-\ 'datetime' : ['DateTime', ''],
-\ 'declare' : ['Bool', ''],
-\ 'defer' : ['Bool', ''],
-\ 'dir' : ['String', ''],
-\ 'disabled' : ['Bool', ''],
-\ 'enctype' : ['ContentType', ''],
-\ 'for' : ['ID', ''],
-\ 'headers' : ['IDREFS', ''],
-\ 'height' : ['Number', ''],
-\ 'href' : ['*URI', ''],
-\ 'hreflang' : ['LangCode', ''],
-\ 'id' : ['ID', 'Unique string'],
-\ 'ismap' : ['Bool', ''],
-\ 'label' : ['*Text', ''],
-\ 'lang' : ['LangCode', ''],
-\ 'longdesc' : ['URI', ''],
-\ 'maxlength' : ['Number', ''],
-\ 'media' : ['MediaDesc', ''],
-\ 'method' : ['String', ''],
-\ 'multiple' : ['Bool', ''],
-\ 'name' : ['CDATA', ''],
-\ 'nohref' : ['Bool', ''],
-\ 'onblur' : ['Script', ''],
-\ 'onchange' : ['Script', ''],
-\ 'onclick' : ['Script', ''],
-\ 'ondblclick' : ['Script', ''],
-\ 'onfocus' : ['Script', ''],
-\ 'onkeydown' : ['Script', ''],
-\ 'onkeypress' : ['Script', ''],
-\ 'onkeyup' : ['Script', ''],
-\ 'onload' : ['Script', ''],
-\ 'onmousedown' : ['Script', ''],
-\ 'onmousemove' : ['Script', ''],
-\ 'onmouseout' : ['Script', ''],
-\ 'onmouseover' : ['Script', ''],
-\ 'onmouseup' : ['Script', ''],
-\ 'onreset' : ['Script', ''],
-\ 'onselect' : ['Script', ''],
-\ 'onsubmit' : ['Script', ''],
-\ 'onunload' : ['Script', ''],
-\ 'profile' : ['URI', ''],
-\ 'readonly' : ['Bool', ''],
-\ 'rel' : ['LinkTypes', ''],
-\ 'rev' : ['LinkTypes', ''],
-\ 'rows' : ['*Number', ''],
-\ 'rules' : ['String', ''],
-\ 'scheme' : ['CDATA', ''],
-\ 'selected' : ['Bool', ''],
-\ 'shape' : ['Shape', ''],
-\ 'size' : ['CDATA', ''],
-\ 'span' : ['Number', ''],
-\ 'src' : ['*URI', ''],
-\ 'standby' : ['Text', ''],
-\ 'style' : ['StyleSheet', ''],
-\ 'summary' : ['*Text', ''],
-\ 'tabindex' : ['Number', ''],
-\ 'title' : ['Text', ''],
-\ 'type' : ['*ContentType', ''],
-\ 'usemap' : ['URI', ''],
-\ 'valign' : ['String', ''],
-\ 'valuetype' : ['String', ''],
-\ 'width' : ['Number', ''],
-\ 'xmlns' : ['URI', '']
-\ },
-\ 'vimxmltaginfo' : {
-\ 'base' : ['/>', ''],
-\ 'meta' : ['/>', ''],
-\ 'link' : ['/>', ''],
-\ 'img' : ['/>', ''],
-\ 'hr' : ['/>', ''],
-\ 'br' : ['/>', ''],
-\ 'param' : ['/>', ''],
-\ 'area' : ['/>', ''],
-\ 'input' : ['/>', ''],
-\ 'col' : ['/>', '']
-\ },
-\ 'tr' : [
-\ [
-\ 'th',
-\ 'td'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'input' : [[],
-\ {
-\ 'ondblclick' : [],
-\ 'onchange' : [],
-\ 'readonly' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'src' : [],
-\ 'value' : [],
-\ 'name' : [],
-\ 'checked' : [
-\ 'BOOL'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'type' : [
-\ 'text',
-\ 'password',
-\ 'checkbox',
-\ 'radio',
-\ 'submit',
-\ 'reset',
-\ 'file',
-\ 'hidden',
-\ 'image',
-\ 'button'
-\ ],
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'BOOL'
-\ ],
-\ 'usemap' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'size' : [],
-\ 'onblur' : [],
-\ 'onfocus' : [],
-\ 'maxlength' : [],
-\ 'onselect' : [],
-\ 'accept' : [],
-\ 'alt' : [],
-\ 'tabindex' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'xml:lang' : []
-\ }
-\ ],
-\ 'table' : [
-\ [
-\ 'caption',
-\ 'col',
-\ 'colgroup',
-\ 'thead',
-\ 'tfoot',
-\ 'tbody',
-\ 'tr'
-\ ],
-\ {
-\ 'width' : [],
-\ 'frame' : [
-\ 'void',
-\ 'above',
-\ 'below',
-\ 'hsides',
-\ 'lhs',
-\ 'rhs',
-\ 'vsides',
-\ 'box',
-\ 'border'
-\ ],
-\ 'ondblclick' : [],
-\ 'rules' : [
-\ 'none',
-\ 'groups',
-\ 'rows',
-\ 'cols',
-\ 'all'
-\ ],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'summary' : [],
-\ 'onkeyup' : [],
-\ 'cellspacing' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'border' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'cellpadding' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'form' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onsubmit' : [],
-\ 'enctype' : [
-\ '',
-\ 'application/x-www-form-urlencoded',
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onreset' : [],
-\ 'onmouseup' : [],
-\ 'method' : [
-\ 'get',
-\ 'post'
-\ ],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'accept' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'accept-charset' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'action' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'h5' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'meta' : [[],
-\ {
-\ 'http-equiv' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'scheme' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'map' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript',
-\ 'area'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'style' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'tfoot' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'caption' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'code' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'base' : [[],
-\ {
-\ 'href' : []
-\ }
-\ ],
-\ 'br' : [[],
-\ {
-\ 'style' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'id' : []
-\ }
-\ ],
-\ 'acronym' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'strong' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h4' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'em' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'b' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'q' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'cite' : []
-\ }
-\ ],
-\ 'span' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'title' : [
-\ {
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'small' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'area' : [[],
-\ {
-\ 'accesskey' : [],
-\ 'coords' : [],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'nohref' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'alt' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'shape' : [
-\ 'rect',
-\ 'circle',
-\ 'poly',
-\ 'default'
-\ ]
-\ }
-\ ],
-\ 'body' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onunload' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onload' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'ol' : [
-\ [
-\ 'li'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'html' : [
-\ [
-\ 'head',
-\ 'body'
-\ ],
-\ {
-\ 'xmlns' : [
-\ 'http://www.w3.org/1999/xhtml',
-\ ],
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'var' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'ul' : [
-\ [
-\ 'li'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'del' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'datetime' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'cite' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'blockquote' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'cite' : []
-\ }
-\ ],
-\ 'style' : [[],
-\ {
-\ 'lang' : [],
-\ 'media' : [],
-\ 'title' : [],
-\ 'type' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'dfn' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h3' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'textarea' : [[],
-\ {
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'rows' : [],
-\ 'onblur' : [],
-\ 'cols' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onchange' : [],
-\ 'onfocus' : [],
-\ 'readonly' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onselect' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'a' : [
-\ [
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'rel' : [],
-\ 'coords' : [],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'charset' : [],
-\ 'hreflang' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'rev' : [],
-\ 'shape' : [
-\ 'rect',
-\ 'circle',
-\ 'poly',
-\ 'default'
-\ ],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'img' : [[],
-\ {
-\ 'width' : [],
-\ 'ismap' : [
-\ 'BOOL'
-\ ],
-\ 'usemap' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'alt' : [],
-\ 'longdesc' : [],
-\ 'src' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'height' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'tt' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'thead' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'abbr' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h6' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'sup' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'address' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'param' : [[],
-\ {
-\ 'value' : [],
-\ 'name' : [],
-\ 'type' : [],
-\ 'valuetype' : [
-\ 'data',
-\ 'ref',
-\ 'object'
-\ ],
-\ 'id' : []
-\ }
-\ ],
-\ 'th' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'headers' : [],
-\ 'ondblclick' : [],
-\ 'axis' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'abbr' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'h1' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'head' : [
-\ [
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'title',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'base',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'base',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'title',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object'
-\ ],
-\ {
-\ 'profile' : [],
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'tbody' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'legend' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'dd' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'hr' : [[],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'li' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'td' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'headers' : [],
-\ 'ondblclick' : [],
-\ 'axis' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'abbr' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'label' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'for' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'dl' : [
-\ [
-\ 'dt',
-\ 'dd'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'kbd' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'div' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'object' : [
-\ [
-\ 'param',
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'width' : [],
-\ 'usemap' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'standby' : [],
-\ 'archive' : [],
-\ 'lang' : [],
-\ 'classid' : [],
-\ 'name' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'data' : [],
-\ 'height' : [],
-\ 'xml:lang' : [],
-\ 'codetype' : [],
-\ 'declare' : [
-\ 'BOOL'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'codebase' : []
-\ }
-\ ],
-\ 'dt' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'pre' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'samp' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'col' : [[],
-\ {
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'value' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'label' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'selected' : [
-\ 'BOOL'
-\ ]
-\ }
-\ ],
-\ 'cite' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'i' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'select' : [
-\ [
-\ 'optgroup',
-\ 'option'
-\ ],
-\ {
-\ 'disabled' : [
-\ 'BOOL'
-\ ],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'size' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onchange' : [],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'multiple' : [
-\ 'multiple'
-\ ],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'link' : [[],
-\ {
-\ 'rel' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'media' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'charset' : [],
-\ 'hreflang' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'rev' : [],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'script' : [[],
-\ {
-\ 'defer' : [
-\ 'BOOL'
-\ ],
-\ 'src' : [],
-\ 'type' : [],
-\ 'charset' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ]
-\ }
-\ ],
-\ 'bdo' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'colgroup' : [
-\ [
-\ 'col'
-\ ],
-\ {
-\ 'width' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'lang' : [],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'span' : [
-\ '',
-\ '1',
-\ ]
-\ }
-\ ],
-\ 'h2' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'ins' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'datetime' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'cite' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'p' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'sub' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'big' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'fieldset' : [
-\ [
-\ 'legend',
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'noscript' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'button' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'table',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'value' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'type' : [
-\ 'button',
-\ 'submit',
-\ 'reset'
-\ ],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'optgroup' : [
-\ [
-\ 'option'
-\ ],
-\ {
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'label' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ]
-\ }
-endfunction
-" }}}
" vim:set foldmethod=marker:
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 12, 2006
-" Version: 87
+" Date: Apr 14, 2006
+" Version: 88
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v87"
+let g:loaded_netrw = "v88"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
".........................................
" ftp + <.netrc>: NetWrite Method #2 {{{3
elseif b:netrw_method == 2
- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
+ let netrw_fname= b:netrw_fname
new
setlocal ff=unix
exe "put ='".g:netrw_ftpmode."'"
".........................................
" ftp + machine, id, passwd, filename: NetWrite Method #3 {{{3
elseif b:netrw_method == 3
- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
+ let netrw_fname= b:netrw_fname
new
setlocal ff=unix
if exists("g:netrw_port") && g:netrw_port != ""
" set up syntax highlighting
if has("syntax")
- setlocal ft=netrwlist
+ setlocal ft=netrw
if !exists("g:syntax_on") || !g:syntax_on
setlocal ft=
" Ugly workaround -- when syntax highlighting is off and laststatus==2,
" This function assumes that a long listing will be received. Size, time,
" and reverse sorts will be requested of the server but not otherwise
" enforced here.
-fun! s:NetBrowseFtpCmd(path,cmd)
-" call Dfunc("NetBrowseFtpCmd(path<".a:path."> cmd<".a:cmd.">) netrw_method=".w:netrw_method)
+fun! s:NetBrowseFtpCmd(path,listcmd)
+" call Dfunc("NetBrowseFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
" because WinXX ftp uses unix style input
" curline is one more than the bannercnt in order to account
put ='cd \"'.a:path.'\"'
" call Decho('ftp: '.getline("."))
endif
- exe "put ='".a:cmd."'"
+ exe "put ='".a:listcmd."'"
" call Decho("ftp: ".getline("."))
" redraw!|call inputsave()|call input("Pausing...")|call inputrestore()
if exists("g:netrw_port") && g:netrw_port != ""
if a:path != ""
put ='cd \"'.a:path.'\"'
endif
- exe "put ='".a:cmd."'"
+ exe "put ='".a:listcmd."'"
" perform ftp:
" -i : turns off interactive prompting from ftp
if has("win32") || has("win95") || has("win64") || has("win16")
silent! keepjumps! %s/\r$//e
endif
- if a:cmd == "dir"
+ if a:listcmd == "dir"
" infer directory/link based on the file permission string
silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@
silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/
" ---------------------------------------------------------------------
" NetrwWideListing: {{{2
fun! s:NetrwWideListing()
-" call Dfunc("NetrwWideListing() w:netrw_longlist=".w:netrw_longlist)
if w:netrw_longlist == 2
+" call Dfunc("NetrwWideListing() w:netrw_longlist=".w:netrw_longlist)
" look for longest filename (cpf=characters per filename)
" cpf: characters per file
" fpl: files per line
endwhile
exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e'
setlocal noma nomod
+" call Dret("NetrwWideListing")
endif
-" call Dret("NetrwWideListing")
endfun
" ---------------------------------------------------------------------
" NetMenu: generates the menu for gvim and netrw {{{2
fun! s:NetMenu(domenu)
+ if !exists("g:NetrwMenuPriority")
+ let g:NetrwMenuPriority= 80
+ endif
+
if has("menu") && has("gui_running") && &go =~ 'm'
" call Dfunc("NetMenu(domenu=".a:domenu.")")
if !exists("s:netrw_menu_enabled") && a:domenu
if !exists("g:NetrwTopLvlMenu")
let g:NetrwTopLvlMenu= "Netrw."
endif
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b Nb'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B NB'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u u'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U U'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr> '."\<cr>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v v'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q q'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i i'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a a'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O O'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p p'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P P'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s s'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S S'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b Nb'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B NB'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u u'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U U'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr> '."\<cr>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v v'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q q'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i i'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a a'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O O'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p p'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P P'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s s'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S S'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
elseif !a:domenu
let s:netrwcnt = 0
let curwin = winnr()
" set up syntax highlighting
if has("syntax")
- setlocal ft=netrwlist
+ setlocal ft=netrw
if !exists("g:syntax_on") || !g:syntax_on
setlocal ft=
endif
+" HTML context data
+"function! htmlcomplete#LoadData() " {{{
let g:xmldata_xhtml10s = {
\ '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"],
\ 'vimxmlattrinfo' : {
\ 'charoff' : ['Length', ''],
\ 'charset' : ['LangCode', ''],
\ 'checked' : ['Bool', ''],
-\ 'class' : ['CDATA', 'Name of class, used for connecting element with style'],
+\ 'class' : ['CDATA', ''],
\ 'codetype' : ['ContentType', ''],
\ 'cols' : ['*Number', ''],
\ 'colspan' : ['Number', ''],
\ }
\ ]
\ }
+"endfunction
+" }}}
+" vim:set foldmethod=marker:
" Vim color file
" Maintainer: David Schweikert <dws@ee.ethz.ch>
-" Last Change: 2004 May 16
+" Last Change: 2006 Apr 14
-" First remove all existing highlighting.
hi clear
let colors_name = "delek"
-hi Normal guifg=Black guibg=white
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Green guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory term=bold ctermfg=DarkBlue guifg=Blue
-hi LineNr term=underline ctermfg=Brown guifg=Brown
-hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
-hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
-hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-
-hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
-hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
-hi NonText term=bold ctermfg=Blue gui=bold guifg=gray guibg=white
-hi Cursor guibg=fg guifg=bg
+" Normal should come first
+hi Normal guifg=Black guibg=White
+hi Cursor guifg=bg guibg=fg
+hi lCursor guifg=NONE guibg=Cyan
+
+" Note: we never set 'term' because the defaults for B&W terminals are OK
+hi DiffAdd ctermbg=LightBlue guibg=LightBlue
+hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
+hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red
+hi Directory ctermfg=DarkBlue guifg=Blue
+hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White
+hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue
+hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
+hi IncSearch cterm=reverse gui=reverse
+hi LineNr ctermfg=Brown guifg=Brown
+hi ModeMsg cterm=bold gui=bold
+hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
+hi Pmenu guibg=LightBlue
+hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
+hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
+hi SpecialKey ctermfg=DarkBlue guifg=Blue
+hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
+hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
+hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta
+hi VertSplit cterm=reverse gui=reverse
+hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi VisualNOS cterm=underline,bold gui=underline,bold
+hi WarningMsg ctermfg=DarkRed guifg=Red
+hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
" syntax highlighting
-hi PreProc term=underline cterm=NONE ctermfg=darkmagenta gui=NONE guifg=magenta3
-hi Identifier term=underline cterm=NONE ctermfg=darkcyan gui=NONE guifg=cyan4
-hi Comment term=NONE cterm=NONE ctermfg=darkred gui=NONE guifg=red2
-hi Constant term=underline cterm=NONE ctermfg=darkgreen gui=NONE guifg=green3
-hi Special term=bold cterm=NONE ctermfg=lightred gui=NONE guifg=deeppink
-hi Statement term=bold cterm=bold ctermfg=blue gui=bold guifg=blue
-hi Type term=underline cterm=NONE ctermfg=blue gui=bold guifg=blue
-
-if exists("syntax_on")
- let syntax_cmd = "enable"
- runtime syntax/syncolor.vim
- unlet syntax_cmd
-endif
+hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
+hi Constant cterm=NONE ctermfg=DarkGreen gui=NONE guifg=green3
+hi Identifier cterm=NONE ctermfg=DarkCyan gui=NONE guifg=cyan4
+hi PreProc cterm=NONE ctermfg=DarkMagenta gui=NONE guifg=magenta3
+hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=deeppink
+hi Statement cterm=bold ctermfg=Blue gui=bold guifg=blue
+hi Type cterm=NONE ctermfg=Blue gui=bold guifg=blue
" vim: sw=2
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2001 May 21
+" Last Change: 2006 Apr 14
" This color scheme uses a dark grey background.
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi Visual term=reverse ctermbg=black guibg=grey60
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=Black
hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
+hi CursorColumn term=reverse ctermbg=Black guibg=grey40
+hi CursorLine term=underline cterm=underline guibg=grey40
" Groups for syntax highlighting
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0 guibg=grey5
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2001 May 21
+" Last Change: 2006 Apr 14
" This color scheme uses a light grey background.
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi Visual term=reverse ctermbg=grey guibg=grey90
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=NONE
hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+hi CursorLine term=underline cterm=underline guibg=grey80
+hi CursorColumn term=reverse ctermbg=grey guibg=grey80
" Colors for syntax highlighting
hi Constant term=underline ctermfg=DarkRed guifg=Magenta guibg=grey95
-*diff.txt* For Vim version 7.0d. Last change: 2006 Apr 04
+*diff.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
(searching from the end of the line). The
text in between is highlighted. This means
that parts in the middle that are still the
- same are highlighted anyway.
+ same are highlighted anyway. Only "iwhite" of
+ 'diffopt' is used here.
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
-*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 09
+*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
:let shortlist = mylist[2:2] " List with one item: [3]
:let otherlist = mylist[:] " make a copy of the List
+If the second index is equal to or greater than the length of the list there
+is no error and the length minus one is used: >
+ :let mylist = [0, 1, 2, 3]
+ :echo mylist[2:8] " result: [2, 3]
+
The second index can be just before the first index. In that case the result
is an empty list. If the second index is lower, this results in an error. >
:echo mylist[2:1] " result: []
-*indent.txt* For Vim version 7.0d. Last change: 2006 Mar 29
+*indent.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
The rest of this section describes the 'cindent' option.
Note that 'cindent' indenting does not work for every code scenario. Vim
-is not a C compiler: it does not recognize all syntax.
+is not a C compiler: it does not recognize all syntax. One requirement is
+that toplevel functions have a '{' in the first column. Otherwise they are
+easily confused with declarations.
These four options control C program indenting:
'cindent' Enables Vim to perform C program indenting automatically.
c1 && c2 c1 && c2
) )
foo; foo;
+<
+ MN When N is non-zero, line up a line starting with a closing
+ parentheses with the first character of the previous line.
+ (default 0).
+
+ cino= cino=M1 >
+ if (cond1 && if (cond1 &&
+ cond2 cond2
+ ) )
+ foo; foo;
<
*java-cinoptions* *java-indenting*
jN Indent java anonymous classes correctly. The value 'N' is
-*insert.txt* For Vim version 7.0d. Last change: 2006 Apr 11
+*insert.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
space, Enter, or some other unprintable character will leave completion mode
and insert that typed character.
+When the popup menu is displayed there are a few more special keys, see
+|popupmenu-keys|.
+
Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
":map ^F ^X^F" to work (where ^F is CTRL-F and ^X is CTRL-X). The key that
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
==============================================================================
11. History *netrw-history* {{{1
+ v88: * moved DrChip.Netrw menu to Netrw. Now has priority 80 by
+ default. g:NetrwTopLvlMenu == "Netrw" and can be changed
+ by the user to suit. The priority is g:NetrwMenuPriority.
+ * Changed filetype for browser displays from netrwlist to netrw.
v87: * bug fix -- menus were partially disappearing
v85: * bug fix -- missing an endif
* bug fix -- handles spaces in names and directories when using
-*syntax.txt* For Vim version 7.0d. Last change: 2006 Apr 06
+*syntax.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
startup sequence: >
:let inform_highlight_old=1
+IDL *idl.vim* *idl-syntax*
+
+IDL (Interface Definition Language) files are used to define RPC calls. In
+Microsoft land, this is also used for defining COM interfaces and calls.
+
+IDL's structure is simple enough to permit a full grammar based approach to
+rather than using a few heuristics. The result is large and somewhat
+repetative but seems to work.
+
+There are some Microsoft extensions to idl files that are here. Some of them
+are disabled by defining idl_no_ms_extensions.
+
+The more complex of the extensions are disabled by defining idl_no_extensions.
+
+Variable Effect ~
+
+idl_no_ms_extensions Disable some of the Microsoft specific
+ extensions
+idl_no_extensions Disable complex extensions
+idlsyntax_showerror Show IDL errors (can be rather intrusive, but
+ quite helpful)
+idlsyntax_showerror_soft Use softer colours by default for errors
+
JAVA *java.vim* *ft-java-syntax*
iconv() eval.txt /*iconv()*
iconv-dynamic mbyte.txt /*iconv-dynamic*
ident-search tips.txt /*ident-search*
+idl-syntax syntax.txt /*idl-syntax*
+idl.vim syntax.txt /*idl.vim*
if_cscop.txt if_cscop.txt /*if_cscop.txt*
if_mzsch.txt if_mzsch.txt /*if_mzsch.txt*
if_ole.txt if_ole.txt /*if_ole.txt*
-*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 13
+*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
Do some of the 'cindent' bugs below.
-Should a[:5] not give an error for a list with 4 items?
-
Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly)
- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
(Alan Schmitt)
-Darren is including the patch in ctags. Test it when it's ready.
+Darren Hiebert is including the patch for omni completion in ctags. A new
+version still isn't available for download.
Awaiting updated patches:
'cindent', 'smartindent':
-9 Too much indent for "lulu": (Uwe Zeisberger)
- int main ()
- {
- if (lala)
- do
- ++(*lolo);
- while (lili
- && lele);
- lulu;
- }
-9 Function gets extra indent: (Jamax)
- void function(int param) {
- if (false)
- return;
- }
-9 brace not indented correctly:
- case 'c': if (cond)
- {
- Should align with "if" in case statement.
-7 Allow aligning a closing ")" with the line above, instead of the matching
- "(": (Riehm) if (asdfasdf &&
- asdf
- )
8 Java: Inside an anonymous class, after an "else" or "try" the indent is
too small. (Vincent Bergbauer)
8 In C++ it's possible to have {} inside (): (Kirshna)
"asdf"
}
);
-7 Separate "(0" option into inside/outside a function (Zellner):
+7 Add separate "(0" option into inside/outside a function (Zellner):
func(
int x) // indent like "(4"
{
if (a
&& b) // indent like "(0"
-8 Strange problem with this code, "hello" is indented wrong: (Gary Holloway)
- main() { char foo[] = "/*";
- /* This is a comment; the indentation of C
- * source below this comment gets messed up due to the string above.
- */
- hello
9 Using "{" in a comment: (Helmut Stiegler)
if (a)
{
// {
}
} <-- this is indented incorrect
-9 Wrong indent for cino=(4, removing the (void) fixes it: (Zellner)
- (void) MyFancyFunction(
- argument);
+ Problem is that find_start_brace() checks for the matching brace to be in
+ a comment, but not braces in between. Requires adding a comment check to
+ findmatchlimit().
- Make smartindenting configurable. Add 'sioptions', e.g. '#' setting the
indent to 0 should be switched on/off.
7 Support ANSI style function header, with each argument on its own line.
7 Use Tabs for the indent of starting lines, pad with spaces for
continuation lines. Allows changing 'tabstop' without messing up the
indents.
- And/or: Add option to copy indent as-is, without changing spaces to tabs.
- Also for 'autoindent'. 'keeptabs': when set don't change the tabs and
- spaces used for indent, when the indent remains the same or increases.
+ 'keeptabs': when set don't change the tabs and spaces used for indent,
+ when the indent remains the same or increases.
Java:
stack of previous directories. We also need ":cdnext".
7 Should ":cd" for MS-DOS go to $HOME, when it's defined?
- Make "gq<CR>" work on the last line in the file. Maybe for every operator?
-8 findmatchlimit() should be able to skip comments. Solves problem of
- matching the '{' in /* if (foo) { */ (Fiveash)
- Add more redirecting of Ex commands:
:redir #> bufname
:redir #>> bufname (append)
-*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 13
+*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
C |ft-c-omni|
(X)HTML with CSS |ft-html-omni|
JavaScript |ft-javascript-omni|
- any language wih syntax highligting |ft-syntax-omni|
+ Python
XML |ft-xml-omni|
+ any language wih syntax highligting |ft-syntax-omni|
When the 'completeopt' option contains "menu" then matches for Insert mode
completion are displayed in a popup menu.
When 'foldignore' is set the folds were not updated right away.
+When a list is indexed with [a : b] and b was greater than the length an error
+message was given. Now silently restrict to the length of the list.
+
+When using BS during Insert mode completion go back to the original text, so
+that CTRL-N selects the first matching entry.
+
+Added the 'm' flag to 'cinoptions'.
+
+Win32: Make the "gvim --help" window appear in the middle of the screen
+instead of at an arbitrary position. (Randall W. Morris)
+
vim:tw=78:ts=8:ft=help:norl:
setlocal include=^\\s*\\<\\(load\\\|\w*require\\)\\>
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
setlocal suffixesadd=.rb
+setlocal omnifunc=rubycomplete#Complete
" TODO:
"setlocal define=^\\s*def
setlocal indentkeys+==~if,=~then,=~elsif,=~else
setlocal indentkeys+==~begin,=~is,=~select
-" count repeat
-"function! <SID>CountWrapper(cmd)
-" let i = v:count1
-" if a:cmd[0] == ":"
-" while i > 0
-" execute a:cmd
-" let i = i - 1
-" endwhile
-" else
-" execute "normal! gv\<Esc>"
-" execute "normal ".i.a:cmd
-" let curcol = col(".")
-" let curline = line(".")
-" normal! gv
-" call cursor(curline, curcol)
-" endif
-"endfunction
-
-" explore motion
-" keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
-"let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
-"noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-"noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-"noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-"noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-"vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
-"vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
-"vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
-"vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
-
" constants
" not a comment
let s:NC = '\%(--.*\)\@<!'
" no "end" keyword in front
let s:NE = '\%(\<end\s\+\)\@<!'
-" for matchit plugin
-"if exists("loaded_matchit")
-" let b:match_ignorecase = 1
-" let b:match_words =
-" \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
-" \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
-" \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
-" \ s:NE.'\<for\>:\<end\s\+for\>,'.
-" \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
-" \ s:NE.'\<record\>:\<end\s\+record\>,'.
-" \ s:NE.'\<units\>:\<end\s\+units\>,'.
-" \ s:NE.'\<process\>:\<end\s\+process\>,'.
-" \ s:NE.'\<block\>:\<end\s\+block\>,'.
-" \ s:NE.'\<function\>:\<end\s\+function\>,'.
-" \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
-" \ s:NE.'\<component\>:\<end\s\+component\>,'.
-" \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
-" \ s:NE.'\<package\>:\<end\s\+package\>,'.
-" \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
-" \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
-"endif
-
" only define indent function once
if exists("*GetVHDLindent")
finish
" Language: HTML
" Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: http://www.fleiner.com/vim/syntax/html.vim
-" Last Change: 2005 Jul 20
+" Last Change: 2006 April 13
" Please check :help html.vim for some comments and a description of the options
syn case ignore
-if main_syntax == "html"
- syn spell toplevel
-endif
-
" mark illegal characters
syn match htmlError "[<>&]"
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
syn match htmlValue contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1 contains=javaScriptExpression,@htmlPreproc
-syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
-syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
+syn region htmlEndTag start=+</+ end=+>+ contains=htmlTagN,htmlTagError
+syn region htmlTag start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
syn match htmlTagN contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
syn match htmlTagN contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
syn match htmlTagError contained "[^>]<"ms=s+1
" Comments (the real ones or the old netscape ones)
if exists("html_wrong_comments")
- syn region htmlComment start=+<!--+ end=+--\s*>+
+ syn region htmlComment start=+<!--+ end=+--\s*>+
else
- syn region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError
+ syn region htmlComment start=+<!+ end=+>+ contains=htmlCommentPart,htmlCommentError
syn match htmlCommentError contained "[^><!]"
syn region htmlCommentPart contained start=+--+ end=+--\s*+ contains=@htmlPreProc
endif
-syn region htmlComment start=+<!DOCTYPE+ keepend end=+>+
+syn region htmlComment start=+<!DOCTYPE+ keepend end=+>+
" server-parsed commands
syn region htmlPreProc start=+<!--#+ end=+-->+ contains=htmlPreStmt,htmlPreError,htmlPreAttr
syn region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
syn region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
- syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
+ syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
endif
-syn keyword htmlTagName contained noscript
+syn keyword htmlTagName contained noscript
syn keyword htmlSpecialTagName contained script style
if main_syntax != 'java' || exists("java_javascript")
" JAVA SCRIPT
- syn include @htmlJavaScript <sfile>:p:h/javascript.vim
+ syn include @htmlJavaScript syntax/javascript.vim
unlet b:current_syntax
syn region javaScript start=+<script[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
syn region htmlScriptTag contained start=+<script+ end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
" html events (i.e. arguments that include javascript commands)
if exists("html_extended_events")
- syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
- syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
else
- syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
- syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
+ syn region htmlEvent contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
endif
- syn region htmlEventSQ contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
- syn region htmlEventDQ contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
+ syn region htmlEventSQ contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
+ syn region htmlEventDQ contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
HtmlHiLink htmlEventSQ htmlEvent
HtmlHiLink htmlEventDQ htmlEvent
if main_syntax != 'java' || exists("java_vb")
" VB SCRIPT
- syn include @htmlVbScript <sfile>:p:h/vb.vim
+ syn include @htmlVbScript syntax/vb.vim
unlet b:current_syntax
syn region javaScript start=+<script [^>]*language *=[^>]*vbscript[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
endif
if main_syntax != 'java' || exists("java_css")
" embedded style sheets
- syn keyword htmlArg contained media
- syn include @htmlCss <sfile>:p:h/css.vim
+ syn keyword htmlArg contained media
+ syn include @htmlCss syntax/css.vim
unlet b:current_syntax
syn region cssStyle start=+<style+ keepend end=+</style>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc
syn match htmlCssStyleComment contained "\(<!--\|-->\)"
if version < 508
let did_html_syn_inits = 1
endif
- HtmlHiLink htmlTag Function
- HtmlHiLink htmlEndTag Identifier
- HtmlHiLink htmlArg Type
- HtmlHiLink htmlTagName htmlStatement
- HtmlHiLink htmlSpecialTagName Exception
- HtmlHiLink htmlValue String
- HtmlHiLink htmlSpecialChar Special
-
+ HtmlHiLink htmlTag Function
+ HtmlHiLink htmlEndTag Identifier
+ HtmlHiLink htmlArg Type
+ HtmlHiLink htmlTagName htmlStatement
+ HtmlHiLink htmlSpecialTagName Exception
+ HtmlHiLink htmlValue String
+ HtmlHiLink htmlSpecialChar Special
+
if !exists("html_no_rendering")
- HtmlHiLink htmlH1 Title
- HtmlHiLink htmlH2 htmlH1
- HtmlHiLink htmlH3 htmlH2
- HtmlHiLink htmlH4 htmlH3
- HtmlHiLink htmlH5 htmlH4
- HtmlHiLink htmlH6 htmlH5
- HtmlHiLink htmlHead PreProc
- HtmlHiLink htmlTitle Title
- HtmlHiLink htmlBoldItalicUnderline htmlBoldUnderlineItalic
- HtmlHiLink htmlUnderlineBold htmlBoldUnderline
- HtmlHiLink htmlUnderlineItalicBold htmlBoldUnderlineItalic
- HtmlHiLink htmlUnderlineBoldItalic htmlBoldUnderlineItalic
- HtmlHiLink htmlItalicUnderline htmlUnderlineItalic
- HtmlHiLink htmlItalicBold htmlBoldItalic
- HtmlHiLink htmlItalicBoldUnderline htmlBoldUnderlineItalic
- HtmlHiLink htmlItalicUnderlineBold htmlBoldUnderlineItalic
- HtmlHiLink htmlLink Underlined
+ HtmlHiLink htmlH1 Title
+ HtmlHiLink htmlH2 htmlH1
+ HtmlHiLink htmlH3 htmlH2
+ HtmlHiLink htmlH4 htmlH3
+ HtmlHiLink htmlH5 htmlH4
+ HtmlHiLink htmlH6 htmlH5
+ HtmlHiLink htmlHead PreProc
+ HtmlHiLink htmlTitle Title
+ HtmlHiLink htmlBoldItalicUnderline htmlBoldUnderlineItalic
+ HtmlHiLink htmlUnderlineBold htmlBoldUnderline
+ HtmlHiLink htmlUnderlineItalicBold htmlBoldUnderlineItalic
+ HtmlHiLink htmlUnderlineBoldItalic htmlBoldUnderlineItalic
+ HtmlHiLink htmlItalicUnderline htmlUnderlineItalic
+ HtmlHiLink htmlItalicBold htmlBoldItalic
+ HtmlHiLink htmlItalicBoldUnderline htmlBoldUnderlineItalic
+ HtmlHiLink htmlItalicUnderlineBold htmlBoldUnderlineItalic
+ HtmlHiLink htmlLink Underlined
if !exists("html_my_rendering")
- hi def htmlBold term=bold cterm=bold gui=bold
- hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
- hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
+ hi def htmlBold term=bold cterm=bold gui=bold
+ hi def htmlBoldUnderline term=bold,underline cterm=bold,underline gui=bold,underline
+ hi def htmlBoldItalic term=bold,italic cterm=bold,italic gui=bold,italic
hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
- hi def htmlUnderline term=underline cterm=underline gui=underline
+ hi def htmlUnderline term=underline cterm=underline gui=underline
hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
- hi def htmlItalic term=italic cterm=italic gui=italic
+ hi def htmlItalic term=italic cterm=italic gui=italic
endif
endif
-
- HtmlHiLink htmlPreStmt PreProc
- HtmlHiLink htmlPreError Error
- HtmlHiLink htmlPreProc PreProc
- HtmlHiLink htmlPreAttr String
+
+ HtmlHiLink htmlPreStmt PreProc
+ HtmlHiLink htmlPreError Error
+ HtmlHiLink htmlPreProc PreProc
+ HtmlHiLink htmlPreAttr String
HtmlHiLink htmlPreProcAttrName PreProc
HtmlHiLink htmlPreProcAttrError Error
- HtmlHiLink htmlSpecial Special
- HtmlHiLink htmlSpecialChar Special
- HtmlHiLink htmlString String
- HtmlHiLink htmlStatement Statement
- HtmlHiLink htmlComment Comment
- HtmlHiLink htmlCommentPart Comment
- HtmlHiLink htmlValue String
- HtmlHiLink htmlCommentError htmlError
- HtmlHiLink htmlTagError htmlError
- HtmlHiLink htmlEvent javaScript
- HtmlHiLink htmlError Error
-
- HtmlHiLink javaScript Special
+ HtmlHiLink htmlSpecial Special
+ HtmlHiLink htmlSpecialChar Special
+ HtmlHiLink htmlString String
+ HtmlHiLink htmlStatement Statement
+ HtmlHiLink htmlComment Comment
+ HtmlHiLink htmlCommentPart Comment
+ HtmlHiLink htmlValue String
+ HtmlHiLink htmlCommentError htmlError
+ HtmlHiLink htmlTagError htmlError
+ HtmlHiLink htmlEvent javaScript
+ HtmlHiLink htmlError Error
+
+ HtmlHiLink javaScript Special
HtmlHiLink javaScriptExpression javaScript
HtmlHiLink htmlCssStyleComment Comment
- HtmlHiLink htmlCssDefinition Special
+ HtmlHiLink htmlCssDefinition Special
endif
delcommand HtmlHiLink
" Vim syntax file
" Language: IDL (Interface Description Language)
-" Created By: Jody Goldberg <jody@gnome.org>
-" Maintainer: Michael Geddes <michaelrgeddes@optushome.com.au>
-" Last Change: 2004 Jul 20
+" Created By: Jody Goldberg
+" Maintainer: Michael Geddes <vim@frog.wheelycreek.net>
+" Last Change: Thu Apr 13 2006
+
" This is an experiment. IDL's structure is simple enough to permit a full
" grammar based approach to rather than using a few heuristics. The result
"
" The more complex of the extensions are disabled by defining idl_no_extensions.
"
+" History:
+" 2.0: Michael's new version
+" 2.1: Support for Vim 7 spell (Anduin Withers)
+"
if exists("b:current_syntax")
finish
syn match idlCommaArg contained "," skipempty skipwhite nextgroup=idlSimpDecl
syn region idlArraySize1 contained start=:\[: end=:\]: skipempty skipwhite nextgroup=idlArraySize1,idlError,idlSemiColon,idlCommaArg contains=idlArraySize1,idlLiteral
syn match idlSimpDecl contained "[a-zA-Z][a-zA-Z0-9_]*" skipempty skipwhite nextgroup=idlError,idlSemiColon,idlCommaArg,idlArraySize1
-syn region idlString contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+
+syn region idlString contained start=+"+ skip=+\\\(\\\\\)*"+ end=+"+ contains=@Spell
syn match idlLiteral contained "[1-9]\d*\(\.\d*\)\="
syn match idlLiteral contained "0"
syn match idlLiteral contained "\.\d\+"
" Comments
syn keyword idlTodo contained TODO FIXME XXX
-syn region idlComment start="/\*" end="\*/" contains=idlTodo
-syn match idlComment "//.*" contains=idlTodo
+syn region idlComment start="/\*" end="\*/" contains=idlTodo,@Spell
+syn match idlComment "//.*" contains=idlTodo,@Spell
syn match idlCommentError "\*/"
" C style Preprocessor
" (ss) repaired several quoting and grouping glitches
" (ss) fixed regex parsing issue with multiple qualifiers [gi]
" (ss) additional factoring of keywords, globals, and members
-" Last Change: 2005 Nov 12 (ss)
+" Last Change: 2006 Jan 15
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
syn match javaScriptSpecialCharacter "'\\.'"
syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
-syn region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)]+me=e-1 contains=@htmlPreproc oneline
+syn region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline
syn keyword javaScriptConditional if else switch
syn keyword javaScriptRepeat while for do in
" Vim syntax file
" Language: Mathematica
" Maintainer: steve layland <layland@wolfram.com>
-" Last Change: Tue May 10 18:31:00 CDT 2005
-" Source: http://vim.sourceforge.net/scripts/script.php?script_id=1273
-" http://members.wri.com/layland/vim/syntax/mma.vim
-"
+" Last Change: Thu May 19 21:36:04 CDT 2005
+" Source: http://members.wri.com/layland/vim/syntax/mma.vim
+" http://vim.sourceforge.net/scripts/script.php?script_id=1273
+" Id: $Id$
" NOTE:
+"
" Empty .m files will automatically be presumed as Matlab files
" unless you have the following in your .vimrc:
"
" from the Java vim syntax file by Claudio Fleiner. Thanks!
" o Everything else written by steve <layland@wolfram.com>
"
+" Bugs:
+" o Vim 6.1 didn't really have support for character classes
+" of other named character classes. For example, [\a\d]
+" didn't work. Therefore, a lot of this code uses explicit
+" character classes instead: [0-9a-zA-Z]
+"
" TODO:
" folding
" fix nesting
" Comment Sections:
" this:
" :that:
-syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\a\)[a-zA-Z0-9 ]\+:" contained contains=@mmaNotes
+syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\w\)\w\+\%( \w\+\)\{0,3}:" contained contains=@mmaNotes
" Comment Keywords:
syntax keyword mmaTodo TODO NOTE HEY contained
syntax match mmaTodo "X\{3,}" contained
syntax keyword mmaFixme FIX[ME] FIXTHIS BROKEN contained
+syntax match mmaFixme "BUG\%( *\#\=[0-9]\+\)\=" contained
" yay pirates...
syntax match mmaFixme "\%(Y\=A\+R\+G\+\|GRR\+\|CR\+A\+P\+\)\%(!\+\)\=" contained
" EmPHAsis:
" this unnecessary, but whatever :)
-syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
-syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
+syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
+syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
" Regular Comments:
" (* *)
" Variables:
" Dollar sign variables
-syntax match mmaVariable "$\a\+\d*"
-" Preceding contexts
-syntax match mmaVariable "`\=\a\+\d*`"
+syntax match mmaVariable "\$\a\+[0-9a-zA-Z$]*"
+
+" Preceding and Following Contexts
+syntax match mmaVariable "`[a-zA-Z$]\+[0-9a-zA-Z$]*" contains=mmaVariable
+syntax match mmaVariable "[a-zA-Z$]\+[0-9a-zA-Z$]*`" contains=mmaVariable
" Strings:
" "string"
syntax match mmaOperator "\%(\~\~\=\)"
syntax match mmaOperator "\%(=\{2,3}\|=\=!=\|||\=\|&&\|!\)" contains=ALLBUT,mmaPureFunction
-" Function Usage Messages:
+" Symbol Tags:
" "SymbolName::item"
-syntax match mmaMessage "$\=\a\+\d*::\a\+\d*"
+"syntax match mmaSymbol "`\=[a-zA-Z$]\+[0-9a-zA-Z$]*\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*" contained
+syntax match mmaMessage "`\=\([a-zA-Z$]\+[0-9a-zA-Z$]*\)\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*::\a\+" contains=mmaMessageType
+syntax match mmaMessageType "::\a\+"hs=s+2 contained
" Pure Functions:
syntax match mmaPureFunction "#\%(#\|\d\+\)\="
" Syntax Errors:
syntax match mmaError "\*)" containedin=ALLBUT,@mmaComments,@mmaStrings
-syntax match mmaError "\%([&:|+*/?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
+syntax match mmaError "\%([/]{3,}\|[&:|+*?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
" Punctuation:
" things that shouldn't really be highlighted, or highlighted
" TODO - use Delimiter group?
syntax match mmaBoring "[(){}]" contained
+" ------------------------------------
+" future explorations...
+" ------------------------------------
" Function Arguments:
" anything between brackets []
-" TODO - make good folds for this.
-"syntax region mmaArgument start="\[" end="]" containedin=ALLBUT,@mmaComments,@mmaCommentStrings transparent fold
-"syntax sync fromstart
+" (fold)
+"syntax region mmaArgument start="\[" end="\]" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
+
+" Lists:
+" (fold)
+"syntax region mmaLists start="{" end="}" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
+
+" Regions:
+" (fold)
+"syntax region mmaRegion start="(\*\+[^<]*<!--[^>]*\*\+)" end="--> \*)" containedin=ALLBUT,@mmaStrings transparent fold keepend
+
+" show fold text
+set commentstring='(*%s*)'
+"set foldtext=MmaFoldText()
+
+"function MmaFoldText()
+" let line = getline(v:foldstart)
+"
+" let lines = v:foldend-v:foldstart+1
+"
+" let sub = substitute(line, '(\*\+|\*\+)|[-*_]\+', '', 'g')
+"
+" if match(line, '(\*') != -1
+" let lines = lines.' line comment'
+" else
+" let lines = lines.' lines'
+" endif
+"
+" return v:folddashes.' '.lines.' '.sub
+"endf
+
+"this is slow for computing folds, but it does so accurately
+syntax sync fromstart
+
+" but this seems to do alright for non fold syntax coloring.
+" for folding, however, it doesn't get the nesting right.
+" TODO - find sync group for multiline modules? ick...
+
+" sync multi line comments
+"syntax sync match syncComments groupthere NONE "\*)"
+"syntax sync match syncComments groupthere mmaComment "(\*"
+
"set foldmethod=syntax
-"set foldminlines=10
+"set foldnestmax=1
+"set foldminlines=15
if version >= 508 || !exists("did_mma_syn_inits")
if version < 508
" :so $VIMRUNTIME/syntax/hitest.vim and tweak these to
" look good in yours
+
HiLink mmaComment Comment
HiLink mmaCommentStar Comment
HiLink mmaFunctionComment Comment
HiLink mmaLooseQuote Comment
HiLink mmaGenericFunction Function
HiLink mmaVariable Identifier
+" HiLink mmaSymbol Identifier
HiLink mmaOperator Operator
HiLink mmaPatternOp Operator
HiLink mmaPureFunction Operator
HiLink mmaTodo Todo
HiLink mmaemPHAsis Special
HiLink mmaFunctionTitle Special
+ HiLink mmaMessageType Special
HiLink mmaItem Preproc
delcommand HiLink
" Language: nroff/groff
" Maintainer: Alejandro López-Valencia <dradul@yahoo.com>
" URL: http://dradul.tripod.com/vim
-" Last Change: 2003 May 24
+" Last Change: 2006 Apr 14
"
" {{{1 Acknowledgements
"
"
" GNU troff allows long request names
"
-syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArg
+ syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArg
else
syn match nroffReqName /[^\t \\\[?]\{1,2}/ contained nextgroup=nroffReqArg
endif
-syn region roffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffSpaceError,nroffNumBlock,nroffComment
+syn region nroffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffSpaceError,nroffNumBlock,nroffComment
" {{{2 Conditional: .if .ie .el
syn match nroffReqName /\(if\|ie\)/ contained nextgroup=nroffCond skipwhite
char_u *line_org;
char_u *line_new;
int i;
- int si, ei_org, ei_new;
+ int si_org, si_new;
+ int ei_org, ei_new;
diff_T *dp;
int idx;
int off;
if (off >= dp->df_count[i])
continue;
added = FALSE;
- line_new = ml_get_buf(curtab->tp_diffbuf[i], dp->df_lnum[i] + off, FALSE);
+ line_new = ml_get_buf(curtab->tp_diffbuf[i],
+ dp->df_lnum[i] + off, FALSE);
/* Search for start of difference */
- for (si = 0; line_org[si] != NUL && line_org[si] == line_new[si]; )
- ++si;
+ si_org = si_new = 0;
+ while (line_org[si_org] != NUL)
+ {
+ if ((diff_flags & DIFF_IWHITE)
+ && vim_iswhite(line_org[si_org])
+ && vim_iswhite(line_new[si_new]))
+ {
+ si_org = skipwhite(line_org + si_org) - line_org;
+ si_new = skipwhite(line_new + si_new) - line_new;
+ }
+ else
+ {
+ if (line_org[si_org] != line_new[si_new])
+ break;
+ ++si_org;
+ ++si_new;
+ }
+ }
#ifdef FEAT_MBYTE
if (has_mbyte)
{
/* Move back to first byte of character in both lines (may
* have "nn^" in line_org and "n^ in line_new). */
- si -= (*mb_head_off)(line_org, line_org + si);
- si -= (*mb_head_off)(line_new, line_new + si);
+ si_org -= (*mb_head_off)(line_org, line_org + si_org);
+ si_new -= (*mb_head_off)(line_new, line_new + si_new);
}
#endif
- if (*startp > si)
- *startp = si;
+ if (*startp > si_org)
+ *startp = si_org;
/* Search for end of difference, if any. */
- if (line_org[si] != NUL || line_new[si] != NUL)
+ if (line_org[si_org] != NUL || line_new[si_new] != NUL)
{
ei_org = (int)STRLEN(line_org);
ei_new = (int)STRLEN(line_new);
- while (ei_org >= *startp && ei_new >= *startp
- && ei_org >= 0 && ei_new >= 0
- && line_org[ei_org] == line_new[ei_new])
+ while (ei_org >= *startp && ei_new >= si_new
+ && ei_org >= 0 && ei_new >= 0)
{
- --ei_org;
- --ei_new;
+ if ((diff_flags & DIFF_IWHITE)
+ && vim_iswhite(line_org[ei_org])
+ && vim_iswhite(line_new[ei_new]))
+ {
+ while (ei_org >= *startp
+ && vim_iswhite(line_org[ei_org]))
+ --ei_org;
+ while (ei_new >= si_new
+ && vim_iswhite(line_new[ei_new]))
+ --ei_new;
+ }
+ else
+ {
+ if (line_org[ei_org] != line_new[ei_new])
+ break;
+ --ei_org;
+ --ei_new;
+ }
}
if (*endp < ei_org)
*endp = ei_org;
* - a copy of fname, FREE_FNAME is set to free later THE allocated mem.
* - NULL otherwise. --Acevedo */
if (fname != NULL
- && compl_curr_match
+ && compl_curr_match != NULL
&& compl_curr_match->cp_fname != NULL
&& STRCMP(fname, compl_curr_match->cp_fname) == 0)
match->cp_fname = compl_curr_match->cp_fname;
* compl_match_arraysize));
if (compl_match_array != NULL)
{
+ /* If the current match is the original text don't find the first
+ * match after it, don't highlight anything. */
+ if (compl_shown_match->cp_flags & ORIGINAL_TEXT)
+ shown_match_ok = TRUE;
+
i = 0;
compl = compl_first_match;
do
if (compl_match_array[i].pum_text == compl_shown_match->cp_str
|| compl_match_array[i].pum_text
== compl_shown_match->cp_text[CPT_ABBR])
+ {
+ cur = i;
break;
- cur = i;
+ }
}
if (compl_match_array != NULL)
ins_compl_free();
compl_started = FALSE;
compl_matches = 0;
+ compl_cont_status = 0;
+ compl_cont_mode = 0;
}
line = ml_get_curline();
}
}
+ /* Go to the original text, since none of the matches is inserted. */
+ if (compl_first_match->cp_prev != NULL
+ && (compl_first_match->cp_prev->cp_flags & ORIGINAL_TEXT))
+ compl_shown_match = compl_first_match->cp_prev;
+ else
+ compl_shown_match = compl_first_match;
+ compl_curr_match = compl_shown_match;
+ compl_shows_dir = compl_direction;
+
/* Show the popup menu with a different set of matches. */
ins_compl_show_pum();
compl_used_match = FALSE;
}
/*
- * Evaluate an "[expr]" or "[expr:expr]" index.
- * "*arg" points to the '['.
+ * Evaluate an "[expr]" or "[expr:expr]" index. Also "dict.key".
+ * "*arg" points to the '[' or '.'.
* Returns FAIL or OK. "*arg" is advanced to after the ']'.
*/
static int
if (n2 < 0)
n2 = len + n2;
- if (!empty2 && (n2 < 0 || n2 >= len || n2 + 1 < n1))
+ else if (n2 >= len)
+ n2 = len - 1;
+ if (!empty2 && (n2 < 0 || n2 + 1 < n1))
{
if (verbose)
EMSGN(_(e_listidx), n2);
hChild = rChild.bottom - rChild.top;
/* If Vim is minimized put the window in the middle of the screen. */
- if (IsMinimized(hwndParent))
+ if (hwndParent == NULL || IsMinimized(hwndParent))
{
#ifdef WIN16
rParent.left = 0;
pos_T *pos;
char_u *line;
char_u *p;
+ int cur_maxcomment = ind_maxcomment;
- if ((pos = findmatchlimit(NULL, '*', FM_BACKWARD, ind_maxcomment)) == NULL)
- return NULL;
+ for (;;)
+ {
+ pos = findmatchlimit(NULL, '*', FM_BACKWARD, cur_maxcomment);
+ if (pos == NULL)
+ break;
- /*
- * Check if the comment start we found is inside a string.
- */
- line = ml_get(pos->lnum);
- for (p = line; *p && (unsigned)(p - line) < pos->col; ++p)
- p = skip_string(p);
- if ((unsigned)(p - line) > pos->col)
- return NULL;
+ /*
+ * Check if the comment start we found is inside a string.
+ * If it is then restrict the search to below this line and try again.
+ */
+ line = ml_get(pos->lnum);
+ for (p = line; *p && (unsigned)(p - line) < pos->col; ++p)
+ p = skip_string(p);
+ if ((unsigned)(p - line) <= pos->col)
+ break;
+ cur_maxcomment = curwin->w_cursor.lnum - pos->lnum - 1;
+ if (cur_maxcomment <= 0)
+ {
+ pos = NULL;
+ break;
+ }
+ }
return pos;
}
static int cin_iselse __ARGS((char_u *));
static int cin_isdo __ARGS((char_u *));
static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
+static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
static int cin_isbreak __ARGS((char_u *));
static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col));
static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
/*
* Find indent for line "lnum", ignoring any case or jump label.
- * Also return a pointer to the text (after the label).
+ * Also return a pointer to the text (after the label) in "pp".
* label: if (asdf && asdfasdf)
* ^
*/
return retval;
}
+/*
+ * Return TRUE if we are at the end of a do-while.
+ * do
+ * nothing;
+ * while (foo
+ * && bar); <-- here
+ * Adjust the cursor to the line with "while".
+ */
+ static int
+cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment)
+ int terminated;
+ int ind_maxparen;
+ int ind_maxcomment;
+{
+ char_u *line;
+ char_u *p;
+ char_u *s;
+ pos_T *trypos;
+ int i;
+
+ if (terminated != ';') /* there must be a ';' at the end */
+ return FALSE;
+
+ p = line = ml_get_curline();
+ while (*p != NUL)
+ {
+ p = cin_skipcomment(p);
+ if (*p == ')')
+ {
+ s = skipwhite(p + 1);
+ if (*s == ';' && cin_nocode(s + 1))
+ {
+ /* Found ");" at end of the line, now check there is "while"
+ * before the matching '('. XXX */
+ i = p - line;
+ curwin->w_cursor.col = i;
+ trypos = find_match_paren(ind_maxparen, ind_maxcomment);
+ if (trypos != NULL)
+ {
+ s = cin_skipcomment(ml_get(trypos->lnum));
+ if (*s == '}') /* accept "} while (cond);" */
+ s = cin_skipcomment(s + 1);
+ if (STRNCMP(s, "while", 5) == 0 && !vim_isIDc(s[5]))
+ {
+ curwin->w_cursor.lnum = trypos->lnum;
+ return TRUE;
+ }
+ }
+
+ /* Searching may have made "line" invalid, get it again. */
+ line = ml_get_curline();
+ p = line + i;
+ }
+ }
+ if (*p != NUL)
+ ++p;
+ }
+ return FALSE;
+}
+
static int
cin_isbreak(p)
char_u *p;
trypos = &pos_copy;
curwin->w_cursor = *trypos;
pos = NULL;
- /* ignore the { if it's in a // comment */
+ /* ignore the { if it's in a // or / * * / comment */
if ((colnr_T)cin_skip2pos(trypos) == trypos->col
&& (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */
break;
{
pos_T cursor_save;
pos_T *trypos;
- static pos_T pos_copy;
+ static pos_T pos_copy;
cursor_save = curwin->w_cursor;
if ((trypos = findmatchlimit(NULL, '(', 0, ind_maxparen)) != NULL)
*/
int ind_matching_paren = 0;
+ /*
+ * indent a closing parentheses under the previous line.
+ */
+ int ind_paren_prev = 0;
+
/*
* Extra indent for comments.
*/
case 'W': ind_unclosed_wrapped = n; break;
case 'w': ind_unclosed_whiteok = n; break;
case 'm': ind_matching_paren = n; break;
+ case 'M': ind_paren_prev = n; break;
case ')': ind_maxparen = n; break;
case '*': ind_maxcomment = n; break;
case 'g': ind_scopedecl = n; break;
* If the matching paren is more than one line away, use the indent of
* a previous non-empty line that matches the same paren.
*/
- amount = -1;
- cur_amount = MAXCOL;
- our_paren_pos = *trypos;
- for (lnum = cur_curpos.lnum - 1; lnum > our_paren_pos.lnum; --lnum)
+ if (theline[0] == ')' && ind_paren_prev)
{
- l = skipwhite(ml_get(lnum));
- if (cin_nocode(l)) /* skip comment lines */
- continue;
- if (cin_ispreproc_cont(&l, &lnum)) /* ignore #defines, #if, etc. */
- continue;
- curwin->w_cursor.lnum = lnum;
-
- /* Skip a comment. XXX */
- if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ /* Line up with the start of the matching paren line. */
+ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */
+ }
+ else
+ {
+ amount = -1;
+ cur_amount = MAXCOL;
+ our_paren_pos = *trypos;
+ for (lnum = cur_curpos.lnum - 1; lnum > our_paren_pos.lnum; --lnum)
{
- lnum = trypos->lnum + 1;
- continue;
- }
+ l = skipwhite(ml_get(lnum));
+ if (cin_nocode(l)) /* skip comment lines */
+ continue;
+ if (cin_ispreproc_cont(&l, &lnum))
+ continue; /* ignore #define, #if, etc. */
+ curwin->w_cursor.lnum = lnum;
- /* XXX */
- if ((trypos = find_match_paren(
- corr_ind_maxparen(ind_maxparen, &cur_curpos),
+ /* Skip a comment. XXX */
+ if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+ }
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+ corr_ind_maxparen(ind_maxparen, &cur_curpos),
ind_maxcomment)) != NULL
- && trypos->lnum == our_paren_pos.lnum
- && trypos->col == our_paren_pos.col)
- {
- amount = get_indent_lnum(lnum); /* XXX */
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+ amount = get_indent_lnum(lnum); /* XXX */
- if (theline[0] == ')')
- {
- if (our_paren_pos.lnum != lnum && cur_amount > amount)
- cur_amount = amount;
- amount = -1;
- }
- break;
+ if (theline[0] == ')')
+ {
+ if (our_paren_pos.lnum != lnum
+ && cur_amount > amount)
+ cur_amount = amount;
+ amount = -1;
+ }
+ break;
+ }
}
}
*/
if (amount == -1)
{
+ int ignore_paren_col = 0;
+
amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+ linenr_T save_lnum = curwin->w_cursor.lnum;
+ char_u *line;
+ int look_col;
+
+ /* Ignore a '(' in front of the line that has a match before
+ * our matching '('. */
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ line = ml_get_curline();
+ look_col = look - line;
+ curwin->w_cursor.col = look_col + 1;
+ if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen))
+ != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col < our_paren_pos.col)
+ ignore_paren_col = trypos->col + 1;
+
+ curwin->w_cursor.lnum = save_lnum;
+ look = ml_get(our_paren_pos.lnum) + look_col;
+ }
if (theline[0] == ')' || ind_unclosed == 0
- || (!ind_unclosed_noignore && *skipwhite(look) == '('))
+ || (!ind_unclosed_noignore && *look == '('
+ && ignore_paren_col == 0))
{
/*
* If we're looking at a close paren, line up right there;
/* Line up with the start of the matching paren line. */
}
else if (ind_unclosed == 0 || (!ind_unclosed_noignore
- && *skipwhite(look) == '('))
+ && *look == '(' && ignore_paren_col == 0))
{
if (cur_amount != MAXCOL)
amount = cur_amount;
}
else
{
- /* add ind_unclosed2 for each '(' before our matching one */
+ /* Add ind_unclosed2 for each '(' before our matching one, but
+ * ignore (void) before the line (ignore_paren_col). */
col = our_paren_pos.col;
- while (our_paren_pos.col > 0)
+ while (our_paren_pos.col > ignore_paren_col)
{
--our_paren_pos.col;
switch (*ml_get_pos(&our_paren_pos))
amount = n;
l = after_label(ml_get_curline());
if (l != NULL && cin_is_cinword(l))
- amount += ind_level + ind_no_brace;
+ {
+ if (theline[0] == '{')
+ amount += ind_open_extra;
+ else
+ amount += ind_level + ind_no_brace;
+ }
break;
}
* If so: Ignore until the matching "do".
*/
/* XXX */
- else if (cin_iswhileofdo(l,
- curwin->w_cursor.lnum, ind_maxparen))
+ else if (cin_iswhileofdo_end(terminated, ind_maxparen,
+ ind_maxcomment))
{
/*
* Found an unterminated line after a while ();, line up
break;
--pos.lnum;
- if (maxtravel && traveled++ > maxtravel)
+ if (maxtravel > 0 && ++traveled > maxtravel)
break;
linep = ml_get(pos.lnum);
=/end of AUTO
ENDTEST
-/* start of AUTO matically checked */
+/* start of AUTO matically checked vim: set ts=4 : */
{
if (test)
cmd1;
mMember(b)
{
}
+ int main ()
+ {
+ if (lala)
+ do
+ ++(*lolo);
+ while (lili
+ && lele);
+ lulu;
+ }
+int main ()
+{
+switch (c)
+{
+case 'c': if (cond)
+{
+}
+}
+}
+
+main()
+{
+ (void) MyFancyFuasdfadsfnction(
+ argument);
+}
+
+main()
+{
+ char foo[] = "/*";
+ /* as
+ df */
+ hello
+}
/* end of AUTO */
STARTTEST
);
}
+STARTTEST
+:set cino=M1
+2kdd]]=][
+ENDTEST
+
+int main ()
+{
+ if (cond1 &&
+ cond2
+ )
+ foo;
+}
+
STARTTEST
:g/^STARTTEST/.,/^ENDTEST/d
:1;/start of AUTO/,$wq! test.out
-/* start of AUTO matically checked */
+/* start of AUTO matically checked vim: set ts=4 : */
{
if (test)
cmd1;
mMember(b)
{
}
+int main ()
+{
+ if (lala)
+ do
+ ++(*lolo);
+ while (lili
+ && lele);
+ lulu;
+}
+
+int main ()
+{
+ switch (c)
+ {
+ case 'c': if (cond)
+ {
+ }
+ }
+}
+
+main()
+{
+ (void) MyFancyFuasdfadsfnction(
+ argument);
+}
+main()
+{
+ char foo[] = "/*";
+ /* as
+ df */
+ hello
+}
/* end of AUTO */
);
}
+
+int main ()
+{
+ if (cond1 &&
+ cond2
+ )
+ foo;
+}
+
*/
#define VIM_VERSION_NODOT "vim70d"
#define VIM_VERSION_SHORT "7.0d"
-#define VIM_VERSION_MEDIUM "7.0d03 BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13, compiled "
+#define VIM_VERSION_MEDIUM "7.0d04 BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14, compiled "