summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/dot.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/dot.vim')
-rw-r--r--runtime/syntax/dot.vim97
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