docbk.vim 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. " Vim syntax file
  2. " Language: DocBook
  3. " Maintainer: Devin Weaver <vim@tritarget.com>
  4. " Last Updated By: Shlomi Fish
  5. " URL: http://tritarget.com/pub/vim/syntax/docbk.vim
  6. " Last Change: 2012 Nov 28
  7. " Version: 1.2 (and modified after that)
  8. " Thanks to Johannes Zellner <johannes@zellner.org> for the default to XML
  9. " suggestion.
  10. " REFERENCES:
  11. " http://docbook.org/
  12. " http://www.open-oasis.org/docbook/
  13. "
  14. " quit when a syntax file was already loaded
  15. if exists("b:current_syntax")
  16. finish
  17. endif
  18. " Auto detect added by Bram Moolenaar
  19. if !exists('b:docbk_type')
  20. if expand('%:e') == "sgml"
  21. let b:docbk_type = 'sgml'
  22. else
  23. let b:docbk_type = 'xml'
  24. endif
  25. endif
  26. if !exists('b:docbk_ver')
  27. if exists('docbk_ver')
  28. let b:docbk_ver = docbk_ver
  29. else
  30. let b:docbk_ver = 4
  31. endif
  32. end
  33. if 'xml' == b:docbk_type
  34. doau Syntax xml
  35. syn cluster xmlTagHook add=docbkKeyword
  36. syn cluster xmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite
  37. syn case match
  38. elseif 'sgml' == b:docbk_type
  39. doau Syntax sgml
  40. syn cluster sgmlTagHook add=docbkKeyword
  41. syn cluster sgmlRegionHook add=docbkRegion,docbkTitle,docbkRemark,docbkCite
  42. syn case ignore
  43. endif
  44. syn keyword docbkKeyword abbrev abstract accel acronym address contained
  45. syn keyword docbkKeyword affiliation alt anchor answer appendix contained
  46. syn keyword docbkKeyword application area areaset areaspec arg contained
  47. syn keyword docbkKeyword article artpagenums attribution audiodata contained
  48. syn keyword docbkKeyword audioobject author authorgroup contained
  49. syn keyword docbkKeyword authorinitials bibliocoverage bibliodiv contained
  50. syn keyword docbkKeyword biblioentry bibliography biblioid contained
  51. syn keyword docbkKeyword bibliolist bibliomisc bibliomixed contained
  52. syn keyword docbkKeyword bibliomset biblioref bibliorelation contained
  53. syn keyword docbkKeyword biblioset bibliosource blockquote book contained
  54. syn keyword docbkKeyword bridgehead callout calloutlist caption contained
  55. syn keyword docbkKeyword caution chapter citation citebiblioid contained
  56. syn keyword docbkKeyword citerefentry citetitle city classname contained
  57. syn keyword docbkKeyword classsynopsis classsynopsisinfo cmdsynopsis contained
  58. syn keyword docbkKeyword co code col colgroup collab colophon contained
  59. syn keyword docbkKeyword colspec command computeroutput confdates contained
  60. syn keyword docbkKeyword confgroup confnum confsponsor conftitle contained
  61. syn keyword docbkKeyword constant constructorsynopsis contractnum contained
  62. syn keyword docbkKeyword contractsponsor contrib copyright coref contained
  63. syn keyword docbkKeyword country database date dedication contained
  64. syn keyword docbkKeyword destructorsynopsis edition editor email contained
  65. syn keyword docbkKeyword emphasis entry entrytbl envar epigraph contained
  66. syn keyword docbkKeyword equation errorcode errorname errortext contained
  67. syn keyword docbkKeyword errortype example exceptionname fax contained
  68. syn keyword docbkKeyword fieldsynopsis figure filename firstname contained
  69. syn keyword docbkKeyword firstterm footnote footnoteref contained
  70. syn keyword docbkKeyword foreignphrase formalpara funcdef funcparams contained
  71. syn keyword docbkKeyword funcprototype funcsynopsis funcsynopsisinfo contained
  72. syn keyword docbkKeyword function glossary glossdef glossdiv contained
  73. syn keyword docbkKeyword glossentry glosslist glosssee glossseealso contained
  74. syn keyword docbkKeyword glossterm group guibutton guiicon guilabel contained
  75. syn keyword docbkKeyword guimenu guimenuitem guisubmenu hardware contained
  76. syn keyword docbkKeyword holder honorific imagedata imageobject contained
  77. syn keyword docbkKeyword imageobjectco important index indexdiv contained
  78. syn keyword docbkKeyword indexentry indexterm informalequation contained
  79. syn keyword docbkKeyword informalexample informalfigure contained
  80. syn keyword docbkKeyword informaltable initializer inlineequation contained
  81. syn keyword docbkKeyword inlinemediaobject interfacename issuenum contained
  82. syn keyword docbkKeyword itemizedlist itermset jobtitle keycap contained
  83. syn keyword docbkKeyword keycode keycombo keysym keyword keywordset contained
  84. syn keyword docbkKeyword label legalnotice lineage lineannotation contained
  85. syn keyword docbkKeyword link listitem literal literallayout contained
  86. syn keyword docbkKeyword manvolnum markup mathphrase mediaobject contained
  87. syn keyword docbkKeyword member menuchoice methodname methodparam contained
  88. syn keyword docbkKeyword methodsynopsis modifier mousebutton msg contained
  89. syn keyword docbkKeyword msgaud msgentry msgexplan msginfo msglevel contained
  90. syn keyword docbkKeyword msgmain msgorig msgrel msgset msgsub contained
  91. syn keyword docbkKeyword msgtext note olink ooclass ooexception contained
  92. syn keyword docbkKeyword oointerface option optional orderedlist contained
  93. syn keyword docbkKeyword orgdiv orgname otheraddr othercredit contained
  94. syn keyword docbkKeyword othername package pagenums para paramdef contained
  95. syn keyword docbkKeyword parameter part partintro personblurb contained
  96. syn keyword docbkKeyword personname phone phrase pob postcode contained
  97. syn keyword docbkKeyword preface primary primaryie printhistory contained
  98. syn keyword docbkKeyword procedure productname productnumber contained
  99. syn keyword docbkKeyword programlisting programlistingco prompt contained
  100. syn keyword docbkKeyword property pubdate publisher publishername contained
  101. syn keyword docbkKeyword qandadiv qandaentry qandaset question quote contained
  102. syn keyword docbkKeyword refclass refdescriptor refentry contained
  103. syn keyword docbkKeyword refentrytitle reference refmeta refmiscinfo contained
  104. syn keyword docbkKeyword refname refnamediv refpurpose refsect1 contained
  105. syn keyword docbkKeyword refsect2 refsect3 refsection refsynopsisdiv contained
  106. syn keyword docbkKeyword releaseinfo remark replaceable returnvalue contained
  107. syn keyword docbkKeyword revdescription revhistory revision contained
  108. syn keyword docbkKeyword revnumber revremark row sbr screen screenco contained
  109. syn keyword docbkKeyword screenshot secondary secondaryie sect1 contained
  110. syn keyword docbkKeyword sect2 sect3 sect4 sect5 section see seealso contained
  111. syn keyword docbkKeyword seealsoie seeie seg seglistitem contained
  112. syn keyword docbkKeyword segmentedlist segtitle seriesvolnums set contained
  113. syn keyword docbkKeyword setindex shortaffil shortcut sidebar contained
  114. syn keyword docbkKeyword simpara simplelist simplemsgentry contained
  115. syn keyword docbkKeyword simplesect spanspec state step contained
  116. syn keyword docbkKeyword stepalternatives street subject subjectset contained
  117. syn keyword docbkKeyword subjectterm subscript substeps subtitle contained
  118. syn keyword docbkKeyword superscript surname symbol synopfragment contained
  119. syn keyword docbkKeyword synopfragmentref synopsis systemitem table contained
  120. syn keyword docbkKeyword task taskprerequisites taskrelated contained
  121. syn keyword docbkKeyword tasksummary tbody td term termdef tertiary contained
  122. syn keyword docbkKeyword tertiaryie textdata textobject tfoot tgroup contained
  123. syn keyword docbkKeyword th thead tip title titleabbrev toc tocentry contained
  124. syn keyword docbkKeyword token tr trademark type uri userinput contained
  125. syn keyword docbkKeyword varargs variablelist varlistentry varname contained
  126. syn keyword docbkKeyword videodata videoobject void volumenum contained
  127. syn keyword docbkKeyword warning wordasword xref year contained
  128. if b:docbk_ver == 4
  129. syn keyword docbkKeyword ackno action appendixinfo articleinfo contained
  130. syn keyword docbkKeyword authorblurb beginpage bibliographyinfo contained
  131. syn keyword docbkKeyword blockinfo bookinfo chapterinfo contained
  132. syn keyword docbkKeyword collabname corpauthor corpcredit contained
  133. syn keyword docbkKeyword corpname glossaryinfo graphic graphicco contained
  134. syn keyword docbkKeyword highlights indexinfo inlinegraphic contained
  135. syn keyword docbkKeyword interface invpartnumber isbn issn lot contained
  136. syn keyword docbkKeyword lotentry medialabel mediaobjectco contained
  137. syn keyword docbkKeyword modespec objectinfo partinfo contained
  138. syn keyword docbkKeyword prefaceinfo pubsnumber refentryinfo contained
  139. syn keyword docbkKeyword referenceinfo refsect1info refsect2info contained
  140. syn keyword docbkKeyword refsect3info refsectioninfo contained
  141. syn keyword docbkKeyword refsynopsisdivinfo screeninfo sect1info contained
  142. syn keyword docbkKeyword sect2info sect3info sect4info sect5info contained
  143. syn keyword docbkKeyword sectioninfo setindexinfo setinfo contained
  144. syn keyword docbkKeyword sgmltag sidebarinfo structfield contained
  145. syn keyword docbkKeyword structname tocback tocchap tocfront contained
  146. syn keyword docbkKeyword toclevel1 toclevel2 toclevel3 toclevel4 contained
  147. syn keyword docbkKeyword toclevel5 tocpart ulink contained
  148. else
  149. syn keyword docbkKeyword acknowledgements annotation arc contained
  150. syn keyword docbkKeyword constraint constraintdef cover contained
  151. syn keyword docbkKeyword extendedlink givenname info lhs locator contained
  152. syn keyword docbkKeyword multimediaparam nonterminal org person contained
  153. syn keyword docbkKeyword production productionrecap contained
  154. syn keyword docbkKeyword productionset rhs tag tocdiv topic contained
  155. endif
  156. " Add special emphasis on some regions. Thanks to Rory Hunter <roryh@dcs.ed.ac.uk> for these ideas.
  157. syn region docbkRegion start="<emphasis>"lc=10 end="</emphasis>"me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend
  158. syn region docbkTitle start="<title>"lc=7 end="</title>"me=e-8 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend
  159. syn region docbkRemark start="<remark>"lc=8 end="</remark>"me=e-9 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend
  160. syn region docbkRemark start="<comment>"lc=9 end="</comment>"me=e-10 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend
  161. syn region docbkCite start="<citation>"lc=10 end="</citation>"me=e-11 contains=xmlRegion,xmlEntity,sgmlRegion,sgmlEntity keepend
  162. " Define the default highlighting.
  163. " Only when an item doesn't have highlighting yet
  164. hi def DocbkBold term=bold cterm=bold gui=bold
  165. hi def link docbkKeyword Statement
  166. hi def link docbkRegion DocbkBold
  167. hi def link docbkTitle Title
  168. hi def link docbkRemark Comment
  169. hi def link docbkCite Constant
  170. let b:current_syntax = "docbk"
  171. " vim: ts=8