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