User:Andreas Plank/kate-highlighting
Jump to navigation
Jump to search
English: Highlighting scheme for mediawiki syntax for the text editor kate on Linux (KDE). Templates & Variables are recognised. Put the file into your KDE-home directory to install it for you as single user (only):
~/.kde/share/apps/katepart/syntax/mediawiki.xml
. To install it for all users instead it has to be copied to the KDE system program directory (OpenSuSE e.g. /opt/kde3/share/): /opt/kde3/share/apps/katepart/syntax/mediawiki.xml
. In Kate, Kwrite etc. it is now accessible for highlighting in the Markup section. If keywords are missing, just add them.Deutsch: Syntaxhervorhebung für den Texteditor Kate unter Linux (KDE). Vorlagen und Variablen werden nun auch hervorgehoben. Diese Datei muß in das eigene Heimverzeichnis von KDE
~/.kde/share/apps/katepart/syntax/mediawiki.xml
, um sie als Einzelnutzer verwenden zu können. Für eine systemweite Installation hingegen (alle Benutzer) muß die Datei in das systemweite Programmverzeichnis von KDE (OpenSuSE z.B. unter /opt/kde3/share/): /opt/kde3/share/apps/katepart/syntax/mediawiki.xml
. In Kate, Kwrite etc. ist sie nun unter Extras > Hervorhebung > Markup zu finden. Falls noch Schlüsselwörter fehlen, einfach dazuschreiben.In KDE5 in ~/.local/share/katepart5/syntax/
z.B. speichern als mediawiki-detailed.xml
<?xml version = '1.0' encoding = 'UTF-8'?>
<!DOCTYPE language SYSTEM "language.dtd"
[
<!-- entities usably with &...; -->
<!ENTITY wikivarrefEN "User|File|Image|Category|Media|Project|Property|Special|Template|Help|Wikipedia">
<!ENTITY wikivarrefDE "Attribut|Benutzer|Bild|Datei|Kategorie|Projekt|Spezial|Vorlage|Hilfe|Wikipedia">
<!ENTITY wikiShortcuts "aa|ab|ace|af|ak|aln|als|am|an|ang|ar|arc|arn|arv|arz|as|ast|av|avk|ay|az|ba|bar|bat-smg|bcc|bcl|bcr|be|bem|bg|bh|bi|bm|bn|bo|bpy|bqi|br|bs|bto|bug|byp|bxr|ca|cbk-zam|cdo|ce|ceb|ch|cho|chr|chy|ckb|co|cop|cps|cr|crh|cs|csb|cu|cv|cy|da|de|diq|dsb|dv|dz|ee|el|eml|en|eo|es|et|eu|ext|fa|ff|fi|fil|fiu-vro|fj|fo|fr|frc|frp|frr|fur|fy|ga|gag|gan|gd|gil|gl|glk|gn|got|grc|gsw|gu|gv|ha|hak|haw|he|hi|hif|hil|ho|hr|hsb|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|iku|ike|ikt|ilo|inh|io|is|it|iu|ja|jbo|jut|jv|ka|kaa|kab|kg|ki|kiu|kj|kk|kl|km|kn|ko|koi|kr|krc|kri|krj|ks|ksh|ku|kv|kw|ky|la|lad|lb|lbe|lez|lfn|lg|li|lij|lld|lmo|ln|lo|loz|lt|lv|lzh|lzz|mad|mai|map-bms|mc|mdf|mg|mh|mhr|mi|minnan|mk|ml|mn|mo|mr|mrj|ms|mt|mul|mus|mwl|my|myv|mzn|na|nah|nan|nap|nb|nd|nds|ne|new|ng|niu|nl|nn|no|non|nov|nr|nrm|nso|nv|ny|oc|och|oj|om|or|os|pa|pag|pam|pap|pcd|pdc|pdt|pfl|pi|pih|pl|pms|pnb|pnt|prg|ps|pt|pt-br|qu|rar|rgn|rif|rm|rmy|rn|ro|ru|ruq|rw|sa|sah|sc|scn|sco|sd|sdc|se|sei|ses|sg|sh|shi|si|sk|sl|sli|sm|sma|sn|so|sq|sr|srn
|ss|st|stq|su|sv|sw|szl|ta|tcy|te|tet|tg|th|ti|tk|tl|tlh|tn|to|tokipona|tpi|tr|ts|tt|tum|tvl|tw|ty|tyv|tzm|udm|ug|uk|ur|uz|ve|vec|vep|vi|vls|vo|vot|vro|wa|war|wo|wuu|xal|xh|xmf|yao|yap|ydd|yi|yo|yue|yux|za|zea|zh|zh-classical|zh-cn|zh-hans|zh-hant|zh-hk|zh-min-nan|zh-mo|zh-my|zh-sg|zh-tw|zh-yue|zu|m|mw">
<!ENTITY wikitags "(categorytree|charinsert|code|dpl|dynamicpagelist|gallery|identificationtool|imagemap|includeonly|inputbox|noinclude|onlyinclude|pre|ref|references|section|sgallery|sgalleryset|source|syntaxhighlight|tt|translate)">
<!ENTITY tvartags "tvar\|"><!-- <tvar|></> -->
]>
<language name="Mediawiki-detailed-and-basic-font-tags" section="Markup" version="2.04" kateversion="2.4" extensions="*.mwt;*.mediawiki;*.wiki;*.txt;*.htm;*.html;*.shtml;*.shtm" mimetype="text/html" casesensitive="1" author="Andreas Plank (andreas minus plank at gmx dot de)" license="LGPL" priority="5">
<!-- It’s not perfect but helps a lot ;-)
TODO test: nested bold bolditalic text (seems to work properly)
TODO within HTML - style="…" Wikisyntax does not work, e.g:
<span style="font-weight:bold;{{
#switch: {{lc:{{{mystyle|}}}}}
| orange = background-color:#FCFFEC; border:1px solid #ffc51a;
| #default = {{{mystyle|}}}
}}">
→ can be done with separate files/definitions?
-->
<highlighting>
<list name="functions">
<!-- Extension:Loops -->
<item>#dowhile:</item>
<item>#forargs:</item>
<item>#fornumargs:</item>
<item>#loop:</item>
<item>#while:</item>
<!-- Extension:Arrays -->
<item>#arraydefine:</item>
<item>#arraydiff:</item>
<item>#arrayindex:</item>
<item>#arrayintersect:</item>
<item>#arraymerge:</item>
<item>#arrayprint:</item>
<item>#arrayreset:</item>
<item>#arraysearch:</item>
<item>#arraysearcharray:</item>
<item>#arraysize:</item>
<item>#arrayslice:</item>
<item>#arraysort:</item>
<item>#arrayunion:</item>
<item>#arrayunique:</item>
<!-- Extension:Semantic Internal Objects -->
<item>#set_internal:</item>
<item>#set_internal_recurring_event:</item>
<!-- Extension:Semantic Wiki -->
<item>#ask:</item>
<item>#arraymap:</item>
<item>#arraymaptemplate:</item>
<item>#set:</item>
<item>#set_recurring_event:</item>
<!-- Extension:SemanticForms or PageForms -->
<item>#forminput:</item>
<item>#formlink:</item>
<!-- Extension:StringFunctions -->
<item>#len:</item>
<item>#pos:</item>
<item>#rpos:</item>
<item>#sub:</item>
<item>#pad:</item>
<item>#replace:</item>
<item>#explode:</item>
<item>#urlencode:</item>
<item>#urldecode:</item>
<!-- ?Extension:ParserFunctions -->
<item>#dateformat:</item>
<item>#formatdate:</item>
<item>#expr:</item>
<item>#if:</item>
<item>#ifeq:</item>
<item>#iferror:</item>
<item>#ifexist:</item>
<item>#ifexpr:</item>
<item>#language:</item>
<item>#rel2abs:</item>
<item>#special:</item>
<item>#tag:</item>
<item>#subst:</item>
<item>#switch:</item>
<item>#time:</item>
<item>#titleparts:</item>
<!-- Extension:VariablesExtension -->
<item>#var:</item>
<item>#vardefine:</item>
<item>#varexists:</item>
<item>#vardefineecho:</item>
<!-- Extension:MathStatFunctions -->
<item>#const:</item>
<item>#mean:</item>
<item>#median:</item>
<item>#tan:</item>
<item>#cot:</item>
<item>#acot:</item>
<item>#atan:</item>
<item>#tanh:</item>
<item>#atanh:</item>
<item>#cos:</item>
<item>#sec:</item>
<item>#asec:</item>
<item>#acos:</item>
<item>#cosh:</item>
<item>#acosh:</item>
<item>#sin:</item>
<item>#csc:</item>
<item>#acsc:</item>
<item>#asin:</item>
<item>#sinh:</item>
<item>#asinh:</item>
<item>#ln:</item>
<item>#log:</item>
<item>#exp:</item>
</list>
<list name="wikivariables">
<!-- German -->
<item>SORTIERUNG:</item>
<item>SEITENTITEL:</item>
<item>SEITENNAME</item>
<!-- English -->
<item>anchorencode:</item>
<item>DEFAULTCATEGORYSORT:</item>
<item>DEFAULTSORT:</item>
<item>DEFAULTSORTKEY:</item>
<item>DISPLAYTITLE:</item>
<item>filepath:</item>
<item>formatnum:</item>
<item>fullurl:</item>
<item>gender:</item>
<item>grammar:</item>
<item>groupconvert:</item>
<item>int:</item>
<item>lc:</item>
<item>lcfirst:</item>
<item>localurl:</item>
<item>NAMESPACE:</item>
<item>ns:</item>
<item>NUMBERINGROUP:</item>
<item>NUMINGROUP:</item>
<item>padleft:</item>
<item>padright:</item>
<item>PAGENAME:Template:</item>
<item>PAGESINCAT:</item>
<item>PAGESINCATEGORY:</item>
<item>PAGESINNAMESPACE:</item>
<item>PAGESINNS:</item>
<item>PAGESIZE:</item>
<item>PROTECTIONLEVEL:</item>
<item>Form:</item>
<item>Property:</item>
<item>Template:</item>
<item>form:</item>
<item>formlink:</item>
<item>queryformlink:</item>
<item>property:</item>
<item>template:</item>
<item>uc:</item>
<item>ucfirst:</item>
<item>urlencode:</item>
<item>ARTICLESPACE</item>
<item>BASEPAGENAME</item>
<item>BASEPAGENAMEE</item>
<item>CONTENTLANG</item>
<item>CONTENTLANGUAGE</item>
<item>CURRENTDAY2</item>
<item>CURRENTDAY</item>
<item>CURRENTDAYNAME</item>
<item>CURRENTDOW</item>
<item>CURRENTHOUR</item>
<item>CURRENTMONTH</item>
<item>CURRENTMONTHABBREV</item>
<item>CURRENTMONTHNAME</item>
<item>CURRENTMONTHNAMEGEN</item>
<item>CURRENTTIME</item>
<item>CURRENTTIMESTAMP</item>
<item>CURRENTVERSION</item>
<item>CURRENTWEEK</item>
<item>CURRENTYEAR</item>
<item>DIRECTIONMARK</item>
<item>DIRMARK</item>
<item>FULLPAGENAME</item>
<item>LOCALDAY2</item>
<item>LOCALDAY</item>
<item>LOCALDAYNAME</item>
<item>LOCALDOW</item>
<item>LOCALHOUR</item>
<item>LOCALMONTH</item>
<item>LOCALMONTHABBREV</item>
<item>LOCALMONTHNAME</item>
<item>LOCALMONTHNAMEGEN</item>
<item>LOCALTIME</item>
<item>LOCALTIMESTAMP</item>
<item>NAMESPACE</item>
<item>NAMESPACEE</item>
<item>NUMBEROFACTIVEUSERS</item>
<item>NUMBEROFADMINS</item>
<item>NUMBEROFARTICLES</item>
<item>NUMBEROFEDITS</item>
<item>NUMBEROFFILES</item>
<item>NUMBEROFPAGES</item>
<item>NUMBEROFUSERS</item>
<item>NUMBEROFVIEWS</item>
<item>PAGENAME</item>
<item>PAGENAMEE</item>
<item>REVISIONDAY2</item>
<item>REVISIONDAY</item>
<item>REVISIONID</item>
<item>REVISIONMONTH</item>
<item>REVISIONTIMESTAMP</item>
<item>REVISIONUSER</item>
<item>REVISIONYEAR</item>
<item>SCRIPTPATH</item>
<item>SERVER</item>
<item>SERVERNAME</item>
<item>SITENAME</item>
<item>STYLEPATH</item>
<item>SUBJECTPAGENAME</item>
<item>SUBJECTPAGENAMEE</item>
<item>SUBJECTSPACE</item>
<item>SUBJECTSPACEE</item>
<item>SUBPAGENAME</item>
<item>SUBPAGENAMEE</item>
<item>TALKPAGENAME</item>
<item>TALKPAGENAMEE</item>
<item>TALKSPACE</item>
<item>TALKSPACEE</item>
</list>
<list name="wikimagicvariables">
<!-- German -->
<item>__INHALTSVERZEICHNIS__</item>
<item>__KEIN_INHALTSVERZEICHNIS__</item>
<!-- English -->
<item>__END__</item>
<item>__FORCETOC__</item>
<item>__HIDDENCAT__</item>
<item>__INDEX__</item>
<item>__NEWSECTIONLINK__</item>
<item>__NOCC__</item>
<item>__NOCONTENTCONVERT__</item>
<item>__NOEDITSECTION__</item>
<item>__NOGALLERY__</item>
<item>__NOINDEX__</item>
<item>__NONEWSECTIONLINK__</item>
<item>__NOTC__</item>
<item>__NOTITLECONVERT__</item>
<item>__NOTOC__</item>
<item>__START__</item>
<item>__STATICREDIRECT__</item>
<item>__TOC__</item>
</list>
<contexts>
<!-- all contexts -->
<!-- <context attribute="…" has to be set usually also in → itemDatas → <itemData name="…" ></itemData> -->
<!-- <context name="…" the context name = rules that matches: context → name="" switch to specified name -->
<!-- Note: the order within <context></context> DOES MATTER !!! -->
<context name="normal" attribute="Normal" lineEndContext="#stay">
<IncludeRules context="commonrules"/>
</context>
<context name="tttext" attribute="Wikitext" lineEndContext="#pop">
<!--<RegExpr attribute="Template" context="#pop#pop" String="(?=\})\}{4}(?!\})" endRegion="Brace2" />-->
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" />
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" />
<keyword attribute="Keyword" context="#stay" String="wikivariables" />
<keyword attribute="Keyword" context="#stay" String="functions" />
<RegExpr String="\s*</&wikitags;\s*>" attribute="Wiki-Tag" context="#pop" endRegion="wikitag"/>
<RegExpr String="\s+</\s+&wikitags;>?" attribute="Error" context="#stay" />
<IncludeRules context="commonrules"/>
</context>
<context name="tabletext" attribute="Wikitext" lineEndContext="#stay">
<RegExpr attribute="Table" context="#pop" String="\|\}" column="0" endRegion="table" />
<!-- <tr> -->
<RegExpr String="\|-" attribute="Table row" context="#stay" column="0" />
<!-- <th> -->
<RegExpr String="^(!|![^!\|[{]+\|)" attribute="Table" context="#stay" column="0" />
<!-- <td> -->
<RegExpr String="^(\||\|[^|[{>]+[^|]{2}\|)" attribute="Table" context="#stay" column="0" />
<RegExpr String="(\|\||!!)" attribute="Table" context="#stay" column="0" />
<RegExpr attribute="Error" context="#stay" String="^.*\|\}" lineEndContext="#stay" />
<IncludeRules context="commonrules"/>
</context>
<context name="sectiontext" attribute="Section" lineEndContext="#pop">
<RegExpr String="[=]{6}$" attribute="Section" context="#pop" />
<RegExpr String="[=]{5}$" attribute="Section" context="#pop" />
<RegExpr String="[=]{4}$" attribute="Section" context="#pop" />
<RegExpr String="[=]{3}$" attribute="Section" context="#pop" />
<RegExpr String="[=]{2}$" attribute="Section" context="#pop" />
<RegExpr String="[=]{1}$" attribute="Section" context="#pop" />
</context>
<context name="linktextwikisite" attribute="Wikitext" lineEndContext="#stay">
<RegExpr attribute="Link" context="#pop" String="\]\]" minimal="true" endRegion="Bracket2" />
<DetectChar attribute="Error" context="#stay" String="]" />
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" />
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" />
<RegExpr attribute="Link" context="linktextwikisite::object" String=":?((&wikiShortcuts;):)?(&wikivarrefEN;|&wikivarrefDE;):" />
<RegExpr attribute="Link" context="linktextwikisite::object" String=":?(&wikiShortcuts;):\w+:" />
<RegExpr String="\|[^]]+" attribute="Link" context="#stay"/>
<RegExpr String="[^]|]+(?=\])" attribute="Link" minimal="true" endRegion="Bracket2"/>
<IncludeRules context="commonrules"/>
</context>
<context name="linktextwikisite::object" attribute="Wikitext" lineEndContext="#stay">
<RegExpr attribute="Link" context="#pop#pop" String="\]{2}" minimal="true" endRegion="Bracket2" />
<DetectChar attribute="Error" context="#stay" String="]" />
<DetectChar attribute="Link" context="#stay" String="|" />
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" />
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" />
<IncludeRules context="commonrules"/>
</context>
<context name="linktextwebsite" attribute="Wikitext" lineEndContext="#stay" >
<RegExpr attribute="URL" String="(http:|https:|ftp:|mailto:)[^\s<>\\]*\b" context="#stay" />
<RegExpr attribute="Error" context="#stay" String="[^[\s]*(&wikivarrefEN;|&wikivarrefDE;):" />
<DetectChar attribute="Link" context="#pop" char="]" endRegion="Bracket1" />
<Detect2Chars attribute="Error" context="#stay" char="]" char2="]" />
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" />
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" />
<IncludeRules context="commonrules"/>
</context>
<context name="variabletext" attribute="Wikitext" lineEndContext="#stay" >
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" />
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" />
<IncludeRules context="commonrules"/>
<DetectChar char="|" attribute="Variable" context="#stay"/>
</context>
<context name="context_templatetext" attribute="Wikitext" lineEndContext="#stay" >
<keyword attribute="Keyword" context="#stay" String="wikivariables" />
<keyword attribute="Keyword" context="#stay" String="functions" />
<StringDetect String="<!--" context="comment" attribute="Comment" beginRegion="comment" />
<RegExpr attribute="Template" context="#pop" String="\}{2}" minimal="true" endRegion="Brace2" lookAhead="false" />
<RegExpr attribute="Variable" context="#pop" String="\}{3}" minimal="true" endRegion="Brace3" lookAhead="false" />
<RegExpr attribute="Template" context="context_templatetext" String="\{{2}" minimal="true" beginRegion="Brace2" />
<RegExpr attribute="Variable" context="variabletext" String="\{{3}" minimal="true" beginRegion="Brace3" />
<!--<RegExpr attribute="Template" context="#pop#pop" String="(?=\})\}{4}(?!\})" endRegion="Brace2" />-->
<!--<RegExpr attribute="Template" context="#pop" String="(?=\})\}{2}(?!\})" minimal="true" endRegion="Brace2" />-->
<RegExpr String="\s*\|[^\|<=\}]+=" attribute="Template: options" context="#stay" minimal="true" />
<DetectChar char="|" attribute="Template: options" context="#stay"/>
<IncludeRules context="commonrules"/>
</context>
<!-- Typeface -->
<context name="bolditalictext" attribute="Text: bold-italic" lineEndContext="#pop">
<RegExpr attribute="Text: bold-italic" context="#pop" String="'{5,5}" endRegion="bolditalic" />
<RegExpr attribute="Text: bold-italic" context="#pop" String="'{3,3}" endRegion="bolditalic" />
<RegExpr attribute="Text: bold-italic" context="#pop" String="'{2,2}" endRegion="bolditalic" />
<!--<RegExpr attribute="Error" context="#stay" String="'{2,4}" />-->
<IncludeRules context="commonrules"/>
</context>
<context name="boldtext" attribute="Text: bold" lineEndContext="#pop" >
<RegExpr attribute="Text: bold" context="#pop" String="'{3,3}" endRegion="bold" />
<RegExpr attribute="Text: bold-italic" context="bolditalictext" String="'{2,2}" minimal="true" beginRegion="bolditalic" />
<IncludeRules context="commonrules"/>
</context>
<context name="context_b" attribute="Text: bold" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_b" />
<RegExpr attribute="Normal" context="context_b_i" String="<i[^>/]*>" minimal="true" beginRegion="region_b_i" />
<RegExpr attribute="Normal" context="context_b_em" String="<em[^>/]*>" minimal="true" beginRegion="region_b_em" />
</context>
<context name="context_strong" attribute="Text: bold" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_strong" />
<RegExpr attribute="Normal" context="context_b_i" String="<i[^>/]*>" minimal="true" beginRegion="region_b_i" />
<RegExpr attribute="Normal" context="context_b_em" String="<em[^>/]*>" minimal="true" beginRegion="region_b_em" />
</context>
<context name="context_em" attribute="Text: italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_em" />
<RegExpr attribute="Normal" context="context_i_b" String="<b[^>/]*>" minimal="true" beginRegion="region_i_b" />
<RegExpr attribute="Normal" context="context_i_strong" String="<strong[^>/]*>" minimal="true" beginRegion="region_i_strong" />
</context>
<context name="context_i" attribute="Text: italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_i" />
<RegExpr attribute="Normal" context="context_i_b" String="<b[^>/]*>" minimal="true" beginRegion="region_i_b" />
<RegExpr attribute="Normal" context="context_i_strong" String="<strong[^>/]*>" minimal="true" beginRegion="region_i_strong" />
</context>
<context name="context_i_b" attribute="Text: bold-italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</b>" endRegion="region_i_b" />
<RegExpr attribute="Normal" context="#pop" String="</strong>" endRegion="region_i_strong" />
</context>
<context name="context_i_strong" attribute="Text: bold-italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</b>" endRegion="region_i_b" />
<RegExpr attribute="Normal" context="#pop" String="</strong>" endRegion="region_i_strong" />
</context>
<context name="context_b_i" attribute="Text: bold-italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</i>" endRegion="region_b_i" />
</context>
<context name="context_b_em" attribute="Text: bold-italic" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</em>" endRegion="region_b_em" />
</context>
<context name="context_u" attribute="Text: underline" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_u" />
<RegExpr attribute="Text: underline" context="context_u_b" String="<(b)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u_b" />
<RegExpr attribute="Text: underline" context="context_u_strong" String="<(strong)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u_strong" />
<RegExpr attribute="Text: underline" context="context_u_em" String="<(em)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u_em" />
<RegExpr attribute="Text: underline" context="context_u_i" String="<(i)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u_i" />
<RegExpr attribute="Text: underline" context="context_u_s" String="<(s)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u_s" />
</context>
<context name="context_u_b" attribute="Text: underline-bold" lineEndContext="#stay" >
<RegExpr attribute="Text: underline" context="#pop" String="</b>" endRegion="region_u_b" />
</context>
<context name="context_u_strong" attribute="Text: underline-bold" lineEndContext="#stay" >
<RegExpr attribute="Text: underline" context="#pop" String="</strong>" endRegion="region_u_strong" />
</context>
<context name="context_u_em" attribute="Text: underline-italic" lineEndContext="#stay" >
<RegExpr attribute="Text: underline" context="#pop" String="</em>" endRegion="region_u_em" />
</context>
<context name="context_u_i" attribute="Text: underline-italic" lineEndContext="#stay" >
<RegExpr attribute="Text: underline" context="#pop" String="</i>" endRegion="region_u_i" />
</context>
<context name="context_u_s" attribute="Text: underline-strikethrough" lineEndContext="#stay" >
<RegExpr attribute="Text: underline" context="#pop" String="</s>" endRegion="region_u_s" />
</context>
<context name="context_s" attribute="Text: strikethrough" lineEndContext="#stay" >
<RegExpr attribute="Normal" context="#pop" String="</%1>" dynamic="true" endRegion="region_s" />
<RegExpr attribute="Text: strikethrough" context="context_s_b" String="<(b)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s_b" />
<RegExpr attribute="Text: strikethrough" context="context_s_strong" String="<(strong)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s_strong" />
<RegExpr attribute="Text: strikethrough" context="context_s_em" String="<(em)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s_em" />
<RegExpr attribute="Text: strikethrough" context="context_s_i" String="<(i)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s_i" />
<RegExpr attribute="Text: strikethrough" context="context_s_u" String="<(u)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s_u" />
</context>
<context name="context_s_b" attribute="Text: strikethrough-bold" lineEndContext="#stay" >
<RegExpr attribute="Text: strikethrough" context="#pop" String="</b>" endRegion="region_s_b" />
</context>
<context name="context_s_strong" attribute="Text: strikethrough-bold" lineEndContext="#stay" >
<RegExpr attribute="Text: strikethrough" context="#pop" String="</strong>" endRegion="region_s_strong" />
</context>
<context name="context_s_em" attribute="Text: strikethrough-italic" lineEndContext="#stay" >
<RegExpr attribute="Text: strikethrough" context="#pop" String="</em>" endRegion="region_s_em" />
</context>
<context name="context_s_i" attribute="Text: strikethrough-italic" lineEndContext="#stay" >
<RegExpr attribute="Text: strikethrough" context="#pop" String="</i>" endRegion="region_s_i" />
</context>
<context name="context_s_u" attribute="Text: strikethrough-underline" lineEndContext="#stay" >
<RegExpr attribute="Text: strikethrough" context="#pop" String="</u>" endRegion="region_s_u" />
</context>
<context name="italictext" attribute="Text: italic" lineEndContext="#pop" >
<RegExpr attribute="Text: bold-italic" context="bolditalictext" String="'{3,3}" minimal="true" beginRegion="bolditalic" />
<RegExpr attribute="Text: italic" context="#pop" String="'{2,2}" endRegion="italic" />
</context>
<context name="wikitagtext" attribute="Normal" lineEndContext="#stay" >
<RegExpr String="\s*</&wikitags;\s*>" attribute="Wiki-Tag" context="#pop" endRegion="wikitag"/>
<RegExpr String="\s+</\s+&wikitags;>?" attribute="Error" context="#stay" />
<IncludeRules context="commonrules"/>
</context>
<context name="tvar_tagtext" attribute="Normal" lineEndContext="#stay" >
<RegExpr String="\s*<\s*/\s*>" attribute="tvar-Tag" context="#pop" endRegion="tvar_tag"/>
<!-- <RegExpr String="\s+</\s+&wikitags;>?" attribute="Error" context="#stay" />-->
<IncludeRules context="commonrules"/>
</context>
<context name="nowikitext" attribute="Wikitext" lineEndContext="#stay" >
<StringDetect String="</pre>" context="#pop" attribute="NoWiki-Tag" endRegion="pre" />
<StringDetect String="</nowiki>" context="#pop" attribute="NoWiki-Tag" endRegion="nowiki" />
</context>
<context name="comment" attribute="Comment" lineEndContext="#stay" >
<StringDetect String="-->" context="#pop" attribute="Comment" endRegion="comment" />
</context>
<!-- common rules that are needed several times. Note: the order DOES MATTER !!! -->
<context name="commonrules" lineEndContext="#stay" attribute="Normal" >
<StringDetect String="<!--" context="comment" attribute="Comment" beginRegion="comment" />
<StringDetect String="<nowiki>" context="nowikitext" attribute="NoWiki-Tag" beginRegion="nowiki" />
<StringDetect String="<pre>" context="nowikitext" attribute="NoWiki-Tag" beginRegion="pre" />
<RegExpr String="<&wikitags;[^>/]*>" attribute="Wiki-Tag" context="wikitagtext" beginRegion="wikitag"/>
<RegExpr String="<&tvartags;[^>/]+>" attribute="tvar-Tag" context="tvar_tagtext" beginRegion="tvar_tag"/>
<RegExpr String="<\s+&wikitags;[^>/]*>?" attribute="Error" context="wikitagtext" beginRegion="wikitag"/>
<RegExpr String="<(references)[^>]*/>" attribute="Wiki-Tag" context="#stay" />
<keyword attribute="Keyword" context="#stay" String="wikimagicvariables" />
<RegExpr String="[=]{6}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="[=]{5}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="[=]{4}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="[=]{3}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="[=]{2}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="[=]{1}" attribute="Section" context="sectiontext" column="0" />
<RegExpr String="^[*#:]+" attribute="Lists" context="#stay" column="0" />
<RegExpr String=";[^:]+:?" attribute="Lists" context="#stay" column="0" firstNonSpace="true" />
<RegExpr attribute="Variable" context="variabletext" String="\{{3}" minimal="true" beginRegion="Brace3" />
<RegExpr attribute="Template" context="context_templatetext" String="\{{2}" minimal="true" beginRegion="Brace2" />
<RegExpr attribute="Link" context="linktextwikisite" String="\[{2,2}" minimal="true" beginRegion="Bracket2" />
<RegExpr attribute="Link" context="linktextwebsite" String="\[{1,1}" minimal="true" beginRegion="Bracket1" />
<RegExpr attribute="URL" String="(http:|https:|ftp:|mailto:)[^\s<>\\]*\b" context="#stay" />
<RegExpr attribute="Text: bold-italic" context="bolditalictext" String="'{5,5}" minimal="true" beginRegion="bolditalic" />
<RegExpr attribute="Text: bold" context="boldtext" String="'{3,3}" minimal="true" beginRegion="bold" />
<RegExpr attribute="Text: italic" context="italictext" String="'{2,2}" minimal="true" beginRegion="italic" />
<RegExpr attribute="Normal" context="context_b" String="<(b)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_b" />
<RegExpr attribute="Normal" context="context_strong" String="<(strong)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_strong" />
<RegExpr attribute="Normal" context="context_em" String="<(em)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_em" />
<RegExpr attribute="Normal" context="context_i" String="<(i)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_i" />
<RegExpr attribute="Normal" context="context_u" String="<(u)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_u" />
<RegExpr attribute="Normal" context="context_s" String="<(s)( [^<>]+)?>" dynamic="true" minimal="true" beginRegion="region_s" />
<RegExpr attribute="Table" context="tabletext" String="\{\|" column="0" beginRegion="table" />
<RegExpr attribute="HTML-Entity" String="&[a-z#0-9]+;" context="#stay" />
<RegExpr attribute="Wikitext" String="\s{1,}" context="tttext" column="0" />
<IncludeRules context="##HTML" includeAttrib="true"/>
</context>
</contexts>
<!-- List of available checks in customising highlightings -->
<itemDatas>
<!-- e.g.:
<list name="mylist">keywords</list>
│
┌ in <contexts>
<contexts>
<context> #stay = how to behave ─┐ the list ─┐
<keyword attribute="MagicList" context="#stay" String="mylist" />
</context> └─ further defined in <itemDatas></itemDatas> below
</contexts>
<itemDatas>
<itemData name="MagicList" defStyleNum="" />
</itemDatas>
-->
<itemData name="Keyword" defStyleNum="dsKeyword" color="#4682b4" bold="true"/>
<itemData name="Normal" defStyleNum="dsNormal" />
<itemData name="Wikitext" defStyleNum="dsNorma" color="#595959" />
<itemData name="Text: bold" defStyleNum="dsNormal" bold="true" />
<itemData name="Text: italic" defStyleNum="dsNormal" italic="true" />
<itemData name="Text: bold-italic" defStyleNum="dsNormal" bold="true" italic="true" />
<itemData name="Text: underline-bold" defStyleNum="dsNormal" underline="true" bold="true" />
<itemData name="Text: underline-italic" defStyleNum="dsNormal" underline="true" italic="true" />
<itemData name="Text: underline-strikethrough" defStyleNum="dsNormal" underline="true" strikeOut="true" />
<itemData name="Text: underline" defStyleNum="dsNormal" underline="true" />
<itemData name="Text: strikethrough-bold" defStyleNum="dsNormal" bold="true" strikeOut="true" />
<itemData name="Text: strikethrough-italic" defStyleNum="dsNormal" italic="true" strikeOut="true" />
<itemData name="Text: strikethrough" defStyleNum="dsNormal" strikeOut="true" />
<itemData name="Text: strikethrough-underline" defStyleNum="dsNormal" underline="true" strikeOut="true" />
<itemData name="Section" defStyleNum="dsNormal" color="#000" backgroundColor="#EBEBF6" bold="true"/>
<itemData name="Lists" defStyleNum="dsNormal" color="#AF4300" bold="true"/>
<itemData name="Table" defStyleNum="dsDecVal" color="#B43C29" backgroundColor="#FFDE94" />
<itemData name="Table row" defStyleNum="dsDecVal" color="#CE5C00" backgroundColor="#F0A513" bold="true" />
<itemData name="Template" defStyleNum="dsDecVal" color="#990000" backgroundColor="#FFF6E6"/>
<itemData name="Template: options" defStyleNum="dsDecVal" color="#629908" />
<itemData name="Variable" defStyleNum="dsDecVal" color="#B48152" />
<itemData name="Link" defStyleNum="dsDecVal" color="#5A91C5" bold="true" />
<itemData name="URL" defStyleNum="dsDecVal" color="#5A91C5" underline="true" />
<itemData name="HTML-Entity" defStyleNum="dsDecVal" color="#8BAECD"/>
<itemData name="NoWiki-Tag" defStyleNum="dsDecVal" color="#BD7110" bold="true" />
<itemData name="Wiki-Tag" defStyleNum="dsDecVal" color="#416183"/>
<itemData name="Comment" defStyleNum="dsComment"/>
<itemData name="Error" defStyleNum="dsError" color="#FF0000"/>
</itemDatas>
</highlighting>
<general>
<comments>
<comment start="<!--" end="-->" name="multiLine" />
</comments>
<keywords weakDeliminator="#:" />
</general>
</language>