<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language [
  <!ENTITY nodes "foldnode.|node.|">
  <!ENTITY edges "foldedge.|edge.|">
]>
<language name="GDL" version="6" kateversion="5.0" section="Scientific" extensions="*.gdl;*.vcg;*.GDL;*.VCG" mimetype="" author="Christoph Cullmann (cullmann@absint.com)" license="MIT">
 <highlighting>
  <list name="colors">
   <item>white</item>
   <item>blue</item>
   <item>red</item>
   <item>green</item>
   <item>yellow</item>
   <item>magenta</item>
   <item>cyan</item>
   <item>darkgrey</item>
   <item>darkgray</item>
   <item>darkblue</item>
   <item>darkred</item>
   <item>darkgreen</item>
   <item>darkyellow</item>
   <item>darkmagenta</item>
   <item>darkcyan</item>
   <item>gold</item>
   <item>lightgrey</item>
   <item>lightgray</item>
   <item>lightblue</item>
   <item>lightred</item>
   <item>lightgreen</item>
   <item>lightyellow</item>
   <item>lightmagenta</item>
   <item>lightcyan</item>
   <item>lilac</item>
   <item>turquoise</item>
   <item>aquamarine</item>
   <item>khaki</item>
   <item>purple</item>
   <item>yellowgreen</item>
   <item>pink</item>
   <item>orange</item>
   <item>orchid</item>
   <item>black</item>
  </list>
  <list name="shapes">
   <item>box</item>
   <item>triangle</item>
   <item>circle</item>
   <item>ellipse</item>
   <item>hexagon</item>
   <item>rhomb</item>
   <item>rhomboid</item>
   <item>trapeze</item>
   <item>uptrapeze</item>
   <item>trapezoid</item>
   <item>uptrapezoid</item>
   <item>lparallelogram</item>
   <item>rparallelogram</item>
  </list>
  <list name="states">
   <item>unfolded</item>
   <item>folded</item>
   <item>boxed</item>
   <item>clustered</item>
   <item>wrapped</item>
   <item>exclusive</item>
   <item>white</item>
  </list>
  <list name="algorithms">
   <item>normal</item>
   <item>tree</item>
   <item>forcedir</item>
   <item>dfs</item>
   <item>minbackward</item>
   <item>maxdepth</item>
   <item>maxdepthslow</item>
   <item>mindepth</item>
   <item>mindepthslow</item>
   <item>minindegree</item>
   <item>minoutdegree</item>
   <item>maxindegree</item>
   <item>maxoutdegree</item>
   <item>maxdegree</item>
   <item>mindegree</item>
  </list>
  <list name="forcedir">
   <item>attraction</item>
   <item>repulsion</item>
   <item>randomfactor</item>
   <item>randomimpulse</item>
   <item>randomrounds</item>
   <item>tempscheme</item>
   <item>temptreshold</item>
   <item>tempmin</item>
   <item>tempmax</item>
  </list>
  <list name="magnetic">
   <item>no</item>
   <item>polar</item>
   <item>circular</item>
   <item>polcircular</item>
   <item>orthogonal</item>
  </list>
  <list name="orientation">
   <item>toptobottom</item>
   <item>bottomtotop</item>
   <item>lefttoright</item>
   <item>righttoleft</item>
   <item>top_to_bottom</item>
   <item>bottom_to_top</item>
   <item>left_to_right</item>
   <item>right_to_left</item>
  </list>
  <list name="lines">
   <item>solid</item>
   <item>continuous</item>
   <item>dashed</item>
   <item>dotted</item>
   <item>double</item>
   <item>triple</item>
   <item>invisible</item>
  </list>
  <list name="fisheye">
   <item>pfish</item>
   <item>cfish</item>
   <item>fpfish</item>
   <item>fcfish</item>
   <item>dpfish</item>
   <item>dcfish</item>
  </list>
  <contexts>
   <context name="default" attribute="Normal" lineEndContext="#stay">
    <Detect2Chars attribute="Comment" context="ccomment" char="/" char1="/"/>
    <Detect2Chars attribute="Comment" context="cppcomment" char="/" char1="*" beginRegion="BlockComment"/>
    <StringDetect attribute="Keyword" context="#stay" String="focus"/>
    <RegExpr attribute="Keyword" context="#stay" String="(graph|edge|node|region|backedge|(left|right|)(bent|)nearedge):"/>
    <RegExpr attribute="Value" context="#stay" String="loc *:"/>
    <StringDetect attribute="Value" context="centry" String="colorentry"/>
    <RegExpr attribute="Value" context="arrowmode" String="arrow_?mode *:"/>
    <RegExpr attribute="Value" context="colorid" String="(&nodes;)(text|border|)color *:|(&edges;)(arrow|backarrow|)color *:"/>
    <RegExpr attribute="Value" context="arrow" String="(&edges;)(arrow|backarrow)style *:"/>
    <RegExpr attribute="Value" context="lineid" String="(&edges;)linestyle *:|(&nodes;)borderstyle *:"/>
    <RegExpr attribute="Value" context="fishid" String="view *:"/>
    <RegExpr attribute="Value" context="shapeid" String="(&nodes;)shape"/>
    <RegExpr attribute="Value" context="lquote" String="(source|target)(name|)|(title|(&nodes;&edges;)label|(&nodes;)info(1|2|3)|infoname(1|2|3)|useraction(name|cmd)(1|2|3|4)) *:"/>
    <RegExpr attribute="Value" context="fontlq" String="(&nodes;&edges;)fontname *:"/>
    <RegExpr attribute="Value" context="boolean" String="(crossing_?(optimization|phase2)|(dirty_edge_|display_edge_|displayedge|late_edge_|subgraph_?)labels|s?manhatt(a|e)n_?edges|(nodes|near_?edges|edges|splines) |equal(_y_|_?y)dist|(fast_?|)icons|fine_?tuning|(f?straight_?|priority_)phase|ignore_?singles|(in|out|)port_?sharing|linear_?segments|energetic) *:"/>
    <RegExpr attribute="Value" context="intval" String="(spreadlevel|(&nodes;&edges;)horizontal_?order|(&nodes;)(height|width|borderwidth|stretch|shrink)|(&edges;)(arrowsize|backarrowsize|thickness|class|priority)|anchor|iconcolors|hidden|layout_(up|down|near|spline)factor|border +(x|y)|splinefactor|(xspace|xbase|xmax|xraster|x|yspace|ybase|ymax|yraster|y|xlraster|xlspace)|magnetic_force(1|2)|(a|b|c|fd|p|r|s)(max)|(c|p|r)(min)) *:"/>
    <keyword attribute="Value" context="intval" String="forcedir"/>
    <StringDetect attribute="Value" context="classname" String="classname"/>
    <RegExpr attribute="Value" context="nodelevel" String="(&nodes;)(level|vertical_?order) *:"/>
    <RegExpr attribute="Value" context="stateid" String="stat(e|us) *:"/>
    <RegExpr attribute="Value" context="algid" String="layout_?algorithm *:"/>
    <RegExpr attribute="Value" context="orient" String="orientation *:"/>
    <RegExpr attribute="Value" context="nodealign" String="node_alignment *:"/>
    <RegExpr attribute="Value" context="textmode" String="(&nodes;)textmode *:"/>
    <RegExpr attribute="Value" context="weight" String="crossing_?weight *:"/>
    <RegExpr attribute="Value" context="floatval" String="(gravity|tempfactor|treefactor) *:"/>
    <RegExpr attribute="Value" context="magnor" String="magnetic_field(1|2) *:"/>
    <RegExpr attribute="Value" context="scaling" String="scaling *:"/>
   </context>
   <context name="string" attribute="String" lineEndContext="#stay">
    <DetectChar attribute="String" context="default" char="&quot;"/>
    <Detect2Chars attribute="Char" context="#stay" char="\" char1="&quot;"/>
    <RegExpr attribute="Char" context="#stay" String="\\(n|a|t|b)|\\fi(0|1|2)[0-9][0-9]|\\f(u|I|b|B|n|[0-9][0-9])"/>
   </context>
   <context name="scaling" attribute="Normal" lineEndContext="#stay">
    <StringDetect attribute="Datatype" context="default" String="maxspect"/>
    <Float attribute="Float" context="default"/>
   </context>
   <context name="ccomment" attribute="Comment" lineEndContext="default">
     <DetectSpaces />
     <IncludeRules context="##Comments"/>
   </context>
   <context name="cppcomment" attribute="Comment" lineEndContext="#stay">
    <Detect2Chars attribute="Comment" context="default" char="*" char1="/" endRegion="BlockComment"/>
    <DetectSpaces />
    <IncludeRules context="##Comments"/>
   </context>
   <context name="colorid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="colors"/>
    <RegExpr attribute="Datatype" context="default" String="[0-9][0-9]?"/>
   </context>
   <context name="shapeid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="shapes"/>
   </context>
   <context name="lquote" attribute="Normal" lineEndContext="#stay">
    <DetectChar attribute="String" context="string" char="&quot;"/>
   </context>
   <context name="stateid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="states"/>
   </context>
   <context name="algid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="algorithms"/>
   </context>
   <context name="fishid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="fisheye"/>
   </context>
   <context name="boolean" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(yes|no)"/>
   </context>
   <context name="lineid" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="lines"/>
   </context>
   <context name="intval" attribute="Normal" lineEndContext="#stay">
    <Int attribute="Integer" context="longint"/>
   </context>
   <context name="longint" attribute="Normal" lineEndContext="default">
    <Int attribute="Integer" context="longint"/>
    <DetectChar attribute="Normal" context="default" char=" "/>
   </context>
   <context name="centry" attribute="Normal" lineEndContext="default">
    <RegExpr attribute="Value" context="cecolon" String="[0-9][0-9]?"/>
   </context>
   <context name="rgb" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Integer" context="default" String="[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]? +[0-9][0-9]?[0-9]?"/>
   </context>
   <context name="floatval" attribute="Normal" lineEndContext="#stay">
    <Float attribute="Float" context="default"/>
   </context>
   <context name="fontlq" attribute="Normal" lineEndContext="#stay">
    <DetectChar attribute="Datatype" context="fontbase" char="&quot;"/>
   </context>
   <context name="fontbase" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="fontsize" String="((tim|ncen)(R|B|I|BI)|(cour|helv)(R|B|O|BO)|symb)"/>
   </context>
   <context name="fontsize" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="#stay" String="(08|10|12|14|18|24)(.vcf|)"/>
    <DetectChar attribute="Datatype" context="default" char="&quot;"/>
   </context>
   <context name="arrow" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(solid|line|none)"/>
   </context>
   <context name="arrowmode" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(free|fixed)"/>
   </context>
   <context name="magnor" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="magnetic"/>
    <keyword attribute="Datatype" context="default" String="orientation"/>
   </context>
   <context name="orient" attribute="Normal" lineEndContext="#stay">
    <keyword attribute="Datatype" context="default" String="orientation"/>
   </context>
   <context name="nodealign" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(top|center|bottom)"/>
   </context>
   <context name="nodelevel" attribute="Normal" lineEndContext="#stay">
    <StringDetect attribute="Datatype" context="default" String="maxlevel"/>
    <Int attribute="Integer" context="longint"/>
   </context>
   <context name="classname" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Value" context="#stay" String="[0-9]+"/>
    <DetectChar attribute="Value" context="lquote" char=":"/>
   </context>
   <context name="cecolon" attribute="Normal" lineEndContext="#stay">
    <DetectChar attribute="Value" context="rgb" char=":"/>
   </context>
   <context name="weight" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(medianbary|barymedian|bary|median)"/>
   </context>
   <context name="textmode" attribute="Normal" lineEndContext="#stay">
    <RegExpr attribute="Datatype" context="default" String="(center|left_justify|right_justify)"/>
   </context>
  </contexts>
  <itemDatas>
   <itemData name="Normal" defStyleNum="dsNormal"/>
   <itemData name="String" defStyleNum="dsString"/>
   <itemData name="Char" defStyleNum="dsChar"/>
   <itemData name="Keyword" defStyleNum="dsKeyword"/>
   <itemData name="Integer" defStyleNum="dsDecVal"/>
   <itemData name="Datatype" defStyleNum="dsDataType"/>
   <itemData name="Comment" defStyleNum="dsComment"/>
   <itemData name="Value" defStyleNum="dsOthers"/>
   <itemData name="Float" defStyleNum="dsFloat"/>
  </itemDatas>
 </highlighting>
 <general>
  <comments>
   <comment name="singleLine" start="//" />
   <comment name="multiLine" start="/*" end="*/" region="BlockComment"/>
  </comments>
  <keywords casesensitive="1"/>
 </general>
</language>
<!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->
