diff options
Diffstat (limited to '')
-rw-r--r-- | runtime/syntax/dot.vim | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/runtime/syntax/dot.vim b/runtime/syntax/dot.vim new file mode 100644 index 0000000..0fdd6ea --- /dev/null +++ b/runtime/syntax/dot.vim @@ -0,0 +1,97 @@ +" Vim syntax file +" Language: Dot +" Filenames: *.dot +" Maintainer: Markus Mottl <markus.mottl@gmail.com> +" URL: http://www.ocaml.info/vim/syntax/dot.vim +" Last Change: 2011 May 17 - improved identifier matching + two new keywords +" 2001 May 04 - initial version + +" quit when a syntax file was already loaded +if 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 headport labelangle labeldistance +syn keyword dotType labelfontcolor labelfontname labelfontsize +syn keyword dotType minlen port_label_distance samehead sametail +syn keyword dotType tailclip taillabel tailport 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\+\(:\w\+\)\?\>/ + +" Synchronization +syn sync minlines=50 +syn sync maxlines=500 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link dotParErr Error +hi def link dotBraceErr Error +hi def link dotBrackErr Error + +hi def link dotComment Comment +hi def link dotTodo Todo + +hi def link dotParEncl Keyword +hi def link dotBrackEncl Keyword +hi def link dotBraceEncl Keyword + +hi def link dotKeyword Keyword +hi def link dotType Type +hi def link dotKeyChar Keyword + +hi def link dotString String +hi def link dotIdentifier Identifier + + +let b:current_syntax = "dot" + +" vim: ts=8 |