blob: 0fdd6ea0801696c2678d7b7f0d2e3d34196d3d35 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Dot
3" Filenames: *.dot
Bram Moolenaar8b6144b2006-02-08 09:20:24 +00004" Maintainer: Markus Mottl <markus.mottl@gmail.com>
5" URL: http://www.ocaml.info/vim/syntax/dot.vim
Bram Moolenaar20f90cf2011-05-19 12:22:51 +02006" Last Change: 2011 May 17 - improved identifier matching + two new keywords
Bram Moolenaar5eb86f92004-07-26 12:53:41 +00007" 2001 May 04 - initial version
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02009" quit when a syntax file was already loaded
10if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000011 finish
12endif
13
14" Errors
15syn match dotParErr ")"
16syn match dotBrackErr "]"
17syn match dotBraceErr "}"
18
19" Enclosing delimiters
20syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr
21syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr
22syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr
23
24" Comments
25syn region dotComment start="//" end="$" contains=dotComment,dotTodo
26syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo
27syn keyword dotTodo contained TODO FIXME XXX
28
29" Strings
30syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+
31
32" General keywords
33syn keyword dotKeyword digraph node edge subgraph
34
35" Graph attributes
36syn keyword dotType center layers margin mclimit name nodesep nslimit
37syn keyword dotType ordering page pagedir rank rankdir ranksep ratio
38syn keyword dotType rotate size
39
40" Node attributes
41syn keyword dotType distortion fillcolor fontcolor fontname fontsize
42syn keyword dotType height layer orientation peripheries regular
43syn keyword dotType shape shapefile sides skew width
44
45" Edge attributes
46syn keyword dotType arrowhead arrowsize arrowtail constraint decorateP
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020047syn keyword dotType dir headclip headlabel headport labelangle labeldistance
Bram Moolenaar071d4272004-06-13 20:20:40 +000048syn keyword dotType labelfontcolor labelfontname labelfontsize
49syn keyword dotType minlen port_label_distance samehead sametail
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020050syn keyword dotType tailclip taillabel tailport weight
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
52" Shared attributes (graphs, nodes, edges)
53syn keyword dotType color
54
55" Shared attributes (graphs and edges)
56syn keyword dotType bgcolor label URL
57
58" Shared attributes (nodes and edges)
59syn keyword dotType fontcolor fontname fontsize layer style
60
61" Special chars
62syn match dotKeyChar "="
63syn match dotKeyChar ";"
64syn match dotKeyChar "->"
65
66" Identifier
Bram Moolenaar20f90cf2011-05-19 12:22:51 +020067syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/
Bram Moolenaar071d4272004-06-13 20:20:40 +000068
69" Synchronization
70syn sync minlines=50
71syn sync maxlines=500
72
73" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020074" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000075
Bram Moolenaarf37506f2016-08-31 22:22:10 +020076hi def link dotParErr Error
77hi def link dotBraceErr Error
78hi def link dotBrackErr Error
Bram Moolenaar071d4272004-06-13 20:20:40 +000079
Bram Moolenaarf37506f2016-08-31 22:22:10 +020080hi def link dotComment Comment
81hi def link dotTodo Todo
Bram Moolenaar071d4272004-06-13 20:20:40 +000082
Bram Moolenaarf37506f2016-08-31 22:22:10 +020083hi def link dotParEncl Keyword
84hi def link dotBrackEncl Keyword
85hi def link dotBraceEncl Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +000086
Bram Moolenaarf37506f2016-08-31 22:22:10 +020087hi def link dotKeyword Keyword
88hi def link dotType Type
89hi def link dotKeyChar Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +000090
Bram Moolenaarf37506f2016-08-31 22:22:10 +020091hi def link dotString String
92hi def link dotIdentifier Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
Bram Moolenaar071d4272004-06-13 20:20:40 +000094
95let b:current_syntax = "dot"
96
97" vim: ts=8