" Vim syntax file " Language: Docbook DTD 3.0 " Maintainer: J.H.M. Dassen (Ray) " Last change: Mon, 5 Apr 1999 17:41:57 +0200 " " Based on an (Linuxdoc?) SGML syntax file by Sung-Hyun Nam " " This only does the basics for docbook, in particular the recognition of " tag names and entities. " No attempt is made to indicate whether or not the nesting structure is " correct. " No attempt is made to recognise attributes. " " TODO: dbTodo doesn't work yet. " Remove any old syntax stuff hanging around syn clear " SGML is (mostly?) case-insensitive syn case ignore syn keyword dbTodo contained TODO FIXME XXX """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Comments syn region sgmlComment start=++ contains=dbTodo syn region sgmlComment start=++ """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Tags " Start tag, e.g. syn region dbTag start=+<[^/]+ end=+>+ contains=dbTagN,dbTagError,dbTagName " End tag, e.g. syn region dbEndTag start=++ contains=dbTagN,dbTagError,dbTagName syn match dbTagN contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=dbTagName syn match dbTagN contained +]*>,ms=s+1,me=e-1 " All the tag names in DocBook syn match dbTagName contained ,]\+\)>,ms=s+1,me=e-1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Entities " Default: unknown entity syn match dbEntityError "&[a-zA-Z0-9]*;" " Now deal with all the groups of entities included by the DocBook DTD. "ISOamsa - Added Math Symbols: Arrow Relations syn match sgmlISOamsa "&\(cularr\|curarr\|dArr\|darr2\|dharl\|dharr\|lAarr\|Larr\|larr2\|larrhk\|larrlp\|larrtl\|lhard\|lharu\|hArr\|harr\|lrarr2\|rlarr2\|harrw\|rlhar2\|lrhar2\|lsh\|map\|mumap\|nearr\|nlArr\|nlarr\|nhArr\|nharr\|nrarr\|nrArr\|nwarr\|olarr\|orarr\|rAarr\|Rarr\|rarr2\|rarrhk\|rarrlp\|rarrtl\|rarrw\|rhard\|rharu\|rsh\|drarr\|dlarr\|uArr\|uarr2\|vArr\|varr\|uharl\|uharr\|xlArr\|xhArr\|xharr\|xrArr\);" "ISOamsb - Added Math Symbols: Binary Operators syn match sgmlISOamsb "&\(amalg\|Barwed\|barwed\|Cap\|Cup\|cuvee\|cuwed\|diam\|divonx\|intcal\|lthree\|ltimes\|minusb\|oast\|ocir\|odash\|odot\|ominus\|oplus\|osol\|otimes\|plusb\|plusdo\|rthree\|rtimes\|sdot\|sdotb\|setmn\|sqcap\|sqcup\|ssetmn\|sstarf\|timesb\|top\|uplus\|wreath\|xcirc\|xdtri\|xutri\|coprod\|prod\|sum\);" "ISOamsc - Added Math Symbols: Delimiters syn match sgmlISOamsc "&\(rceil\|rfloor\|rpargt\|urcorn\|drcorn\|lceil\|lfloor\|lpargt\|ulcorn\|dlcorn\);" "ISOamsn - Added Math Symbols: Negated Relations syn match sgmlISOamsn "&\(gnap\|gne\|gnE\|gnsim\|gvnE\|lnap\|lnE\|lne\|lnsim\|lvnE\|nap\|ncong\|nequiv\|ngE\|nge\|nges\|ngt\|nle\|nlE\|nles\|nlt\|nltri\|nltrie\|nmid\|npar\|npr\|npre\|nrtri\|nrtrie\|nsc\|nsce\|nsim\|nsime\|nsmid\|nspar\|nsub\|nsube\|nsubE\|nsup\|nsupE\|nsupe\|nvdash\|nvDash\|nVDash\|nVdash\|prnap\|prnE\|prnsim\|scnap\|scnE\|scnsim\|subne\|subnE\|supne\|supnE\|vsubnE\|vsubne\|vsupne\|vsupnE\);" "ISOamso - Added Math Symbols: Ordinary syn match sgmlISOamso "&\(ang\|angmsd\|beth\|bprime\|comp\|daleth\|ell\|empty\|gimel\|image\|inodot\|jnodot\|nexist\|oS\|planck\|real\|sbsol\|vprime\|weierp\);" "ISOamsr - Added Math Symbols: Relations syn match sgmlISOamsr "&\(ape\|asymp\|bcong\|bepsi\|bowtie\|bsim\|bsime\|bump\|bumpe\|cire\|colone\|cuepr\|cuesc\|cupre\|dashv\|ecir\|ecolon\|eDot\|esdot\|efDot\|egs\|els\|erDot\|fork\|frown\|gap\|gsdot\|gE\|gel\|gEl\|ges\|Gg\|gl\|gsim\|Gt\|lap\|ldot\|lE\|lEg\|leg\|les\|lg\|Ll\|lsim\|Lt\|ltrie\|mid\|models\|pr\|prap\|pre\|prsim\|rtrie\|samalg\|sc\|scap\|sccue\|sce\|scsim\|sfrown\|smid\|smile\|spar\|sqsub\|sqsube\|sqsup\|sqsupe\|ssmile\|Sub\|subE\|Sup\|supE\|thkap\|thksim\|trie\|twixt\|vdash\|Vdash\|vDash\|veebar\|vltri\|vprop\|vrtri\|Vvdash\);" "ISObox - Box and Line Drawing syn match sgmlISObox "&\(boxh\|boxv\|boxur\|boxul\|boxdl\|boxdr\|boxvr\|boxhu\|boxvl\|boxhd\|boxvh\|boxvR\|boxhU\|boxvL\|boxhD\|boxvH\|boxH\|boxV\|boxUR\|boxUL\|boxDL\|boxDR\|boxVR\|boxHU\|boxVL\|boxHD\|boxVH\|boxVr\|boxHu\|boxVl\|boxHd\|boxVh\|boxuR\|boxUl\|boxdL\|boxDr\|boxUr\|boxuL\|boxDl\|boxdR\);" "ISOcyr1 - Russian Cyrillic syn match sgmlISOcyr1 "&\(acy\|Acy\|bcy\|Bcy\|vcy\|Vcy\|gcy\|Gcy\|dcy\|Dcy\|iecy\|IEcy\|iocy\|IOcy\|zhcy\|ZHcy\|zcy\|Zcy\|icy\|Icy\|jcy\|Jcy\|kcy\|Kcy\|lcy\|Lcy\|mcy\|Mcy\|ncy\|Ncy\|ocy\|Ocy\|pcy\|Pcy\|rcy\|Rcy\|scy\|Scy\|tcy\|Tcy\|ucy\|Ucy\|fcy\|Fcy\|khcy\|KHcy\|tscy\|TScy\|chcy\|CHcy\|shcy\|SHcy\|shchcy\|SHCHcy\|hardcy\|HARDcy\|ycy\|Ycy\|softcy\|SOFTcy\|ecy\|Ecy\|yucy\|YUcy\|yacy\|YAcy\|numero\);" "ISOcyr2 - Non-Russian Cyrillic syn match sgmlISOcyr2 "&\(djcy\|DJcy\|gjcy\|GJcy\|jukcy\|Jukcy\|dscy\|DScy\|iukcy\|Iukcy\|yicy\|YIcy\|jsercy\|Jsercy\|ljcy\|LJcy\|njcy\|NJcy\|tshcy\|TSHcy\|kjcy\|KJcy\|ubrcy\|Ubrcy\|dzcy\|DZcy\);" "ISOdia - Diacritical Marks syn match sgmlISOdia "&\(acute\|breve\|caron\|cedil\|circ\|dblac\|die\|dot\|grave\|macr\|ogon\|ring\|tilde\|uml\);" "ISOgrk1 - Greek Letters syn match sgmlISOgrk1 "&\(agr\|Agr\|bgr\|Bgr\|ggr\|Ggr\|dgr\|Dgr\|egr\|Egr\|zgr\|Zgr\|eegr\|EEgr\|thgr\|THgr\|igr\|Igr\|kgr\|Kgr\|lgr\|Lgr\|mgr\|Mgr\|ngr\|Ngr\|xgr\|Xgr\|ogr\|Ogr\|pgr\|Pgr\|rgr\|Rgr\|sgr\|Sgr\|sfgr\|tgr\|Tgr\|ugr\|Ugr\|phgr\|PHgr\|khgr\|KHgr\|psgr\|PSgr\|ohgr\|OHgr\);" "ISOgrk2 - Monotoniko Greek syn match sgmlISOgrk2 "&\(aacgr\|Aacgr\|eacgr\|Eacgr\|eeacgr\|EEacgr\|idigr\|Idigr\|iacgr\|Iacgr\|idiagr\|oacgr\|Oacgr\|udigr\|Udigr\|uacgr\|Uacgr\|udiagr\|ohacgr\|OHacgr\);" "ISOgrk3 - Greek Symbols syn match sgmlISOgrk3 "&\(alpha\|beta\|gamma\|Gamma\|gammad\|delta\|Delta\|epsi\|epsiv\|epsis\|zeta\|eta\|thetas\|Theta\|thetav\|iota\|kappa\|kappav\|lambda\|Lambda\|mu\|nu\|xi\|Xi\|pi\|piv\|Pi\|rho\|rhov\|sigma\|Sigma\|sigmav\|tau\|upsi\|Upsi\|phis\|Phi\|phiv\|chi\|psi\|Psi\|omega\|Omega\);" "ISOgrk4 - Alternative Greek Symbols syn match sgmlISOgrk4 "&\(b.alpha\|b.beta\|b.gamma\|b.Gamma\|b.gammad\|b.delta\|b.Delta\|b.epsi\|b.epsiv\|b.epsis\|b.zeta\|b.eta\|b.thetas\|b.Theta\|b.thetav\|b.iota\|b.kappa\|b.kappav\|b.lambda\|b.Lambda\|b.mu\|b.nu\|b.xi\|b.Xi\|b.pi\|b.Pi\|b.piv\|b.rho\|b.rhov\|b.sigma\|b.Sigma\|b.sigmav\|b.tau\|b.upsi\|b.Upsi\|b.phis\|b.Phi\|b.phiv\|b.chi\|b.psi\|b.Psi\|b.omega\|b.Omega\);" " ISO Latin1 entities, as extended for use with HTML " Derived from Debian's /usr/lib/sgml/entities/ISOlat1 (package "sgml-data") syn match sgmlISOlat1 "&\(nbsp\|iexcl\|cent\|pound\|curren\|yen\|brvbar\|sect\|uml\|copy\|ordf\|laquo\|not\|shy\|reg\|macr\|deg\|plusmn\|sup2\|sup3\|acute\|micro\|para\|middot\|cedil\|sup1\|ordm\|raquo\|frac14\|frac12\|frac34\|iquest\|Agrave\|Aacute\|Acirc\|Atilde\|Auml\|Aring\|AElig\|Ccedil\|Egrave\|Eacute\|Ecirc\|Euml\|Igrave\|Iacute\|Icirc\|Iuml\|ETH\|Ntilde\|Ograve\|Oacute\|Ocirc\|Otilde\|Ouml\|times\|Oslash\|Ugrave\|Uacute\|Ucirc\|Uuml\|Yacute\|THORN\|szlig\|agrave\|aacute\|acirc\|atilde\|auml\|aring\|aelig\|ccedil\|egrave\|eacute\|ecirc\|euml\|igrave\|iacute\|icirc\|iuml\|eth\|ntilde\|ograve\|oacute\|ocirc\|otilde\|ouml\|divide\|oslash\|ugrave\|uacute\|ucirc\|uuml\|yacute\|thorn\|yuml\);" "ISOlat2 - ISO Latin2 entities syn match sgmlISOlat2 "&\(abreve\|Abreve\|amacr\|Amacr\|aogon\|Aogon\|cacute\|Cacute\|ccaron\|Ccaron\|ccirc\|Ccirc\|cdot\|Cdot\|dcaron\|Dcaron\|dstrok\|Dstrok\|ecaron\|Ecaron\|edot\|Edot\|emacr\|Emacr\|eogon\|Eogon\|gacute\|gbreve\|Gbreve\|Gcedil\|gcirc\|Gcirc\|gdot\|Gdot\|hcirc\|Hcirc\|hstrok\|Hstrok\|Idot\|Imacr\|imacr\|ijlig\|IJlig\|inodot\|iogon\|Iogon\|itilde\|Itilde\|jcirc\|Jcirc\|kcedil\|Kcedil\|kgreen\|lacute\|Lacute\|lcaron\|Lcaron\|lcedil\|Lcedil\|lmidot\|Lmidot\|lstrok\|Lstrok\|nacute\|Nacute\|eng\|ENG\|napos\|ncaron\|Ncaron\|ncedil\|Ncedil\|odblac\|Odblac\|Omacr\|omacr\|oelig\|OElig\|racute\|Racute\|rcaron\|Rcaron\|rcedil\|Rcedil\|sacute\|Sacute\|scaron\|Scaron\|scedil\|Scedil\|scirc\|Scirc\|tcaron\|Tcaron\|tcedil\|Tcedil\|tstrok\|Tstrok\|ubreve\|Ubreve\|udblac\|Udblac\|umacr\|Umacr\|uogon\|Uogon\|uring\|Uring\|utilde\|Utilde\|wcirc\|Wcirc\|ycirc\|Ycirc\|Yuml\|zacute\|Zacute\|zcaron\|Zcaron\|zdot\|Zdot\);" "ISOnum - Numeric and Special Graphic syn match sgmlISONUM "&\(\|half\|frac12\|frac14\|frac34\|frac18\|frac38\|frac58\|frac78\|sup1\|sup2\|sup3\|plus\|plusmn\|lt\|equals\|gt\|divide\|times\|curren\|pound\|dollar\|cent\|yen\|num\|percnt\|amp\|ast\|commat\|lsqb\|bsol\|rsqb\|lcub\|horbar\|verbar\|rcub\|micro\|ohm\|deg\|ordm\|ordf\|sect\|para\|middot\|larr\|rarr\|uarr\|darr\|copy\|reg\|trade\|brvbar\|not\|sung\|excl\|iexcl\|quot\|apos\|lpar\|rpar\|comma\|lowbar\|hyphen\|period\|sol\|colon\|semi\|quest\|iquest\|laquo\|raquo\|lsquo\|rsquo\|ldquo\|rdquo\|nbsp\|shy\);" "ISOpub - Publishing syn match sgmlISOpub "&\(emsp\|ensp\|emsp13\|emsp14\|numsp\|puncsp\|thinsp\|hairsp\|mdash\|ndash\|dash\|blank\|hellip\|nldr\|frac13\|frac23\|frac15\|frac25\|frac35\|frac45\|frac16\|frac56\|incare\|block\|uhblk\|lhblk\|blk14\|blk12\|blk34\|marker\|cir\|squ\|rect\|utri\|dtri\|star\|bull\|squf\|utrif\|dtrif\|ltrif\|rtrif\|clubs\|diams\|hearts\|spades\|malt\|dagger\|Dagger\|check\|cross\|sharp\|flat\|male\|female\|phone\|telrec\|copysr\|caret\|lsquor\|ldquor\|fflig\|filig\|fjlig\|ffilig\|ffllig\|fllig\|mldr\|rdquor\|rsquor\|vellip\|hybull\|loz\|lozf\|ltri\|rtri\|starf\|natur\|rx\|sext\|target\|dlcrop\|drcrop\|ulcrop\|urcrop\);" "ISOtech - General Technical syn match sgmlISOtech "&\(aleph\|and\|ang90\|angsph\|ap\|becaus\|bottom\|cap\|cong\|conint\|cup\|equiv\|exist\|forall\|fnof\|ge\|iff\|infin\|int\|isin\|lang\|lArr\|le\|minus\|mnplus\|nabla\|ne\|ni\|or\|par\|part\|permil\|perp\|prime\|Prime\|prop\|radic\|rang\|rArr\|sim\|sime\|square\|sub\|sube\|sup\|supe\|there4\|Verbar\|angst\|bernou\|compfn\|Dot\|DotDot\|hamilt\|lagran\|lowast\|notin\|order\|phmmat\|tdot\|tprime\|wedgeq\);" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Default methods for highlighting; can be overriden later. if !exists("did_docbook_syntax_inits") let did_docbook_syntax_inits = 1 hi link dbTodo Todo hi link sgmlComment Comment hi link dbTag Function hi link dbEndTag Identifier hi link dbTagN PreProc hi link dbTag2 Function hi link dbTagN2 PreProc hi link dbTagError Error hi link dbTagName Keyword hi link dbEntityError Error hi link sgmlISOamsa Character hi link sgmlISOamsb Character hi link sgmlISOamsc Character hi link sgmlISOamsn Character hi link sgmlISOamso Character hi link sgmlISOamsr Character hi link sgmlISObox Character hi link sgmlISOcyr1 Character hi link sgmlISOcyr2 Character hi link sgmlISOdia Character hi link sgmlISOgrk1 Character hi link sgmlISOgrk2 Character hi link sgmlISOgrk3 Character hi link sgmlISOgrk4 Character hi link sgmlISOlat1 Character hi link sgmlISOlat2 Character hi link sgmlISOlat2 Character hi link sgmlISOnum Character hi link sgmlISOpub Character hi link sgmlISOtech Character endif let b:current_syntax = "docbook" " vim: ts=8 sts=8 sw=8 noet: