Ticket #4322: 0001-Add-basic-DOT-Graphviz-syntax-highlighting.patch

File 0001-Add-basic-DOT-Graphviz-syntax-highlighting.patch, 8.4 KB (added by gszymaszek, 2 years ago)
  • misc/syntax/Makefile.am

    From 737f56dcbe0bcaff38c977c3440e2b5d6d812b62 Mon Sep 17 00:00:00 2001
    From: Grzegorz Szymaszek <gszymaszek@short.pl>
    Date: Sat, 18 Dec 2021 17:54:17 +0100
    Subject: [PATCH] Add basic DOT/Graphviz syntax highlighting
    
    DOT is a graph description language, described at
    <https://graphviz.org/doc/info/lang.html>. The new syntax file
    recognizes the basic language keywords and syntax; known node,
    edge, graph, etc. properties; comments; character strings.
    
    The syntax file seems to work well with various DOT files found
    in the Linux kernel sources as well as with the MNT Reform 2.0D-4
    System Diagram.
    ---
     misc/syntax/Makefile.am |   1 +
     misc/syntax/Syntax.in   |   3 +
     misc/syntax/dot.syntax  | 227 ++++++++++++++++++++++++++++++++++++++++
     3 files changed, 231 insertions(+)
     create mode 100644 misc/syntax/dot.syntax
    
    diff --git a/misc/syntax/Makefile.am b/misc/syntax/Makefile.am
    index 2e2438a9f..dda6ad564 100644
    a b SYNTAXFILES = \ 
    2727        diff.syntax             \ 
    2828        dlink.syntax            \ 
    2929        dos.syntax              \ 
     30        dot.syntax              \ 
    3031        ebuild.syntax           \ 
    3132        eiffel.syntax           \ 
    3233        erlang.syntax           \ 
  • misc/syntax/Syntax.in

    diff --git a/misc/syntax/Syntax.in b/misc/syntax/Syntax.in
    index eef089542..3570c821b 100644
    a b include latex.syntax 
    103103file ..\*\\.(?i:texi|texinfo)$ Texinfo\sDocument 
    104104include texinfo.syntax 
    105105 
     106file ..\*\\.(dot|gv)$ DOT/Graphviz\sgraph 
     107include dot.syntax 
     108 
    106109file ..\*\\.c$ C\sProgram 
    107110include c.syntax 
    108111 
  • new file misc/syntax/dot.syntax

    diff --git a/misc/syntax/dot.syntax b/misc/syntax/dot.syntax
    new file mode 100644
    index 000000000..704918005
    - +  
     1# DOT/Graphviz graphs 
     2context default 
     3    keyword whole strict brightred 
     4    keyword whole graph brightred 
     5    keyword whole digraph brightred 
     6    keyword whole subgraph brightred 
     7 
     8    keyword whole node yellow 
     9    keyword whole edge yellow 
     10 
     11    keyword wholeleft cluster_ yellow 
     12 
     13    keyword whole -> brightred 
     14    keyword whole -- brightred 
     15 
     16    keyword whole _background white 
     17    keyword whole area white 
     18    keyword whole arrowhead white 
     19    keyword whole arrowsize white 
     20    keyword whole arrowtail white 
     21    keyword whole bb white 
     22    keyword whole bgcolor white 
     23    keyword whole center white 
     24    keyword whole charset white 
     25    keyword whole class white 
     26    keyword whole clusterrank white 
     27    keyword whole color white 
     28    keyword whole colorscheme white 
     29    keyword whole comment white 
     30    keyword whole compound white 
     31    keyword whole concentrate white 
     32    keyword whole constraint white 
     33    keyword whole Damping white 
     34    keyword whole decorate white 
     35    keyword whole defaultdist white 
     36    keyword whole dim white 
     37    keyword whole dimen white 
     38    keyword whole dir white 
     39    keyword whole diredgeconstraints white 
     40    keyword whole distortion white 
     41    keyword whole dpi white 
     42    keyword whole edgehref white 
     43    keyword whole edgetarget white 
     44    keyword whole edgetooltip white 
     45    keyword whole edgeURL white 
     46    keyword whole epsilon white 
     47    keyword whole esep white 
     48    keyword whole fillcolor white 
     49    keyword whole fixedsize white 
     50    keyword whole fontcolor white 
     51    keyword whole fontname white 
     52    keyword whole fontnames white 
     53    keyword whole fontpath white 
     54    keyword whole fontsize white 
     55    keyword whole forcelabels white 
     56    keyword whole gradientangle white 
     57    keyword whole group white 
     58    keyword whole head_lp white 
     59    keyword whole headclip white 
     60    keyword whole headhref white 
     61    keyword whole headlabel white 
     62    keyword whole headport white 
     63    keyword whole headtarget white 
     64    keyword whole headtooltip white 
     65    keyword whole headURL white 
     66    keyword whole height white 
     67    keyword whole href white 
     68    keyword whole id white 
     69    keyword whole image white 
     70    keyword whole imagepath white 
     71    keyword whole imagepos white 
     72    keyword whole imagescale white 
     73    keyword whole inputscale white 
     74    keyword whole K white 
     75    keyword whole label white 
     76    keyword whole label_scheme white 
     77    keyword whole labelangle white 
     78    keyword whole labeldistance white 
     79    keyword whole labelfloat white 
     80    keyword whole labelfontcolor white 
     81    keyword whole labelfontname white 
     82    keyword whole labelfontsize white 
     83    keyword whole labelhref white 
     84    keyword whole labeljust white 
     85    keyword whole labelloc white 
     86    keyword whole labeltarget white 
     87    keyword whole labeltooltip white 
     88    keyword whole labelURL white 
     89    keyword whole landscape white 
     90    keyword whole layer white 
     91    keyword whole layerlistsep white 
     92    keyword whole layers white 
     93    keyword whole layerselect white 
     94    keyword whole layersep white 
     95    keyword whole layout white 
     96    keyword whole len white 
     97    keyword whole levels white 
     98    keyword whole levelsgap white 
     99    keyword whole lhead white 
     100    keyword whole lheight white 
     101    keyword whole lp white 
     102    keyword whole ltail white 
     103    keyword whole lwidth white 
     104    keyword whole margin white 
     105    keyword whole maxiter white 
     106    keyword whole mclimit white 
     107    keyword whole mindist white 
     108    keyword whole minlen white 
     109    keyword whole mode white 
     110    keyword whole model white 
     111    keyword whole mosek white 
     112    keyword whole newrank white 
     113    keyword whole nodesep white 
     114    keyword whole nojustify white 
     115    keyword whole normalize white 
     116    keyword whole notranslate white 
     117    keyword whole nslimit white 
     118    keyword whole nslimit1 white 
     119    keyword whole ordering white 
     120    keyword whole orientation white 
     121    keyword whole outputorder white 
     122    keyword whole overlap white 
     123    keyword whole overlap_scaling white 
     124    keyword whole overlap_shrink white 
     125    keyword whole pack white 
     126    keyword whole packmode white 
     127    keyword whole pad white 
     128    keyword whole page white 
     129    keyword whole pagedir white 
     130    keyword whole pencolor white 
     131    keyword whole penwidth white 
     132    keyword whole peripheries white 
     133    keyword whole pin white 
     134    keyword whole pos white 
     135    keyword whole quadtree white 
     136    keyword whole quantum white 
     137    keyword whole rank white 
     138    keyword whole rankdir white 
     139    keyword whole ranksep white 
     140    keyword whole ratio white 
     141    keyword whole rects white 
     142    keyword whole regular white 
     143    keyword whole remincross white 
     144    keyword whole repulsiveforce white 
     145    keyword whole resolution white 
     146    keyword whole root white 
     147    keyword whole rotate white 
     148    keyword whole rotation white 
     149    keyword whole samehead white 
     150    keyword whole sametail white 
     151    keyword whole samplepoints white 
     152    keyword whole scale white 
     153    keyword whole searchsize white 
     154    keyword whole sep white 
     155    keyword whole shape white 
     156    keyword whole shapefile white 
     157    keyword whole showboxes white 
     158    keyword whole sides white 
     159    keyword whole size white 
     160    keyword whole skew white 
     161    keyword whole smoothing white 
     162    keyword whole sortv white 
     163    keyword whole splines white 
     164    keyword whole start white 
     165    keyword whole style white 
     166    keyword whole stylesheet white 
     167    keyword whole tail_lp white 
     168    keyword whole tailclip white 
     169    keyword whole tailhref white 
     170    keyword whole taillabel white 
     171    keyword whole tailport white 
     172    keyword whole tailtarget white 
     173    keyword whole tailtooltip white 
     174    keyword whole tailURL white 
     175    keyword whole target white 
     176    keyword whole tooltip white 
     177    keyword whole truecolor white 
     178    keyword whole URL white 
     179    keyword whole vertices white 
     180    keyword whole viewport white 
     181    keyword whole voro_margin white 
     182    keyword whole weight white 
     183    keyword whole width white 
     184    keyword whole xdotversion white 
     185    keyword whole xlabel white 
     186    keyword whole xlp white 
     187    keyword whole z white 
     188 
     189    keyword /\* brown 
     190    keyword \*/ brown 
     191    keyword // brown 
     192 
     193    keyword \+ red 
     194    keyword , brightcyan 
     195    keyword : brightcyan 
     196    keyword ; brightmagenta 
     197    keyword < green 
     198    keyword = yellow 
     199    keyword > green 
     200    keyword [ brightcyan 
     201    keyword ] brightcyan 
     202    keyword { brightcyan 
     203    keyword } brightcyan 
     204 
     205context exclusive /\* \*/ brown 
     206    spellcheck 
     207 
     208context exclusive // \n brown 
     209    spellcheck 
     210 
     211context linestart # \n brightred 
     212    keyword \\\n yellow 
     213    keyword /\**\*/ brown 
     214    keyword //*\n brown 
     215    keyword "+" red 
     216    keyword <+> red 
     217 
     218context exclusive < > green 
     219    spellcheck 
     220 
     221    keyword <*> cyan 
     222 
     223context " " green 
     224    spellcheck 
     225    keyword \\\n yellow 
     226    keyword \\" brightgreen 
     227    keyword \\\{abtnvfr\} brightgreen