diff options
Diffstat (limited to 'runtime/syntax/dot.vim')
-rw-r--r-- | runtime/syntax/dot.vim | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/runtime/syntax/dot.vim b/runtime/syntax/dot.vim new file mode 100644 index 000000000..a2947aad9 --- /dev/null +++ b/runtime/syntax/dot.vim @@ -0,0 +1,110 @@ +" Vim syntax file +" Language: Dot +" Filenames: *.dot +" Maintainer: Markus Mottl <markus@oefai.at> +" URL: http://www.ai.univie.ac.at/~markus/vim/syntax/dot.vim +" Last Change: 2003 May 11 +" 2001 May 04 - initial version + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Errors +syn match dotParErr ")" +syn match dotBrackErr "]" +syn match dotBraceErr "}" + +" Enclosing delimiters +syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr +syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr +syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr + +" Comments +syn region dotComment start="//" end="$" contains=dotComment,dotTodo +syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo +syn keyword dotTodo contained TODO FIXME XXX + +" Strings +syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+ + +" General keywords +syn keyword dotKeyword digraph node edge subgraph + +" Graph attributes +syn keyword dotType center layers margin mclimit name nodesep nslimit +syn keyword dotType ordering page pagedir rank rankdir ranksep ratio +syn keyword dotType rotate size + +" Node attributes +syn keyword dotType distortion fillcolor fontcolor fontname fontsize +syn keyword dotType height layer orientation peripheries regular +syn keyword dotType shape shapefile sides skew width + +" Edge attributes +syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP +syn keyword dotType dir headclip headlabel labelangle labeldistance +syn keyword dotType labelfontcolor labelfontname labelfontsize +syn keyword dotType minlen port_label_distance samehead sametail +syn keyword dotType tailclip taillabel weight + +" Shared attributes (graphs, nodes, edges) +syn keyword dotType color + +" Shared attributes (graphs and edges) +syn keyword dotType bgcolor label URL + +" Shared attributes (nodes and edges) +syn keyword dotType fontcolor fontname fontsize layer style + +" Special chars +syn match dotKeyChar "=" +syn match dotKeyChar ";" +syn match dotKeyChar "->" + +" Identifier +syn match dotIdentifier /\<\w\+\>/ + +" Synchronization +syn sync minlines=50 +syn sync maxlines=500 + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_dot_syntax_inits") + if version < 508 + let did_dot_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink dotParErr Error + HiLink dotBraceErr Error + HiLink dotBrackErr Error + + HiLink dotComment Comment + HiLink dotTodo Todo + + HiLink dotParEncl Keyword + HiLink dotBrackEncl Keyword + HiLink dotBraceEncl Keyword + + HiLink dotKeyword Keyword + HiLink dotType Type + HiLink dotKeyChar Keyword + + HiLink dotString String + HiLink dotIdentifier Identifier + + delcommand HiLink +endif + +let b:current_syntax = "dot" + +" vim: ts=8 |