diff options
Diffstat (limited to 'syntax/dot.vim')
| -rw-r--r-- | syntax/dot.vim | 126 | 
1 files changed, 75 insertions, 51 deletions
| diff --git a/syntax/dot.vim b/syntax/dot.vim index 1bb1032b..f48f60f4 100644 --- a/syntax/dot.vim +++ b/syntax/dot.vim @@ -2,19 +2,25 @@ if polyglot#init#is_disabled(expand('<sfile>:p'), 'dot', 'syntax/dot.vim')    finish  endif -" 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 +" Last Change:  2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh) +"               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") +" 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 +let s:keepcpo = &cpo +set cpo&vim +  " Errors  syn match    dotParErr     ")"  syn match    dotBrackErr   "]" @@ -33,39 +39,43 @@ 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 +" Escape strings +syn match    dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString +syn match    dotEscString /\v\\(n|l|r)/       containedin=dotString -" 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 +" General keywords +syn keyword  dotKeyword graph digraph subgraph node edge strict + +" Node, edge and graph attributes +syn keyword  dotType _background area arrowhead arrowsize arrowtail bb bgcolor +      \ center charset class clusterrank color colorscheme comment compound +      \ concentrate constraint Damping decorate defaultdist dim dimen dir +      \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip +      \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames +      \ fontpath fontsize forcelabels gradientangle group head_lp headclip +      \ headhref headlabel headport headtarget headtooltip headURL height href +      \ id image imagepath imagepos imagescale inputscale K label label_scheme +      \ labelangle labeldistance labelfloat labelfontcolor labelfontname +      \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip +      \ labelURL landscape layer layerlistsep layers layerselect layersep  +      \ layout len levels levelsgap lhead lheight lp ltail lwidth margin +      \ maxiter mclimit mindist minlen mode model mosek newrank nodesep  +      \ nojustify normalize notranslate nslimit nslimit1 ordering orientation +      \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad +      \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum +      \ rank rankdir ranksep ratio rects regular remincross repulsiveforce +      \ resolution root rotate rotation samehead sametail samplepoints scale +      \ searchsize sep shape shapefile showboxes sides size skew smoothing +      \ sortv splines start style stylesheet tail_lp tailclip tailhref  +      \ taillabel tailport tailtarget tailtooltip tailURL target tooltip +      \ truecolor URL vertices viewport voro_margin weight width xdotversion  +      \ xlabel xlp z  " Special chars  syn match    dotKeyChar  "="  syn match    dotKeyChar  ";"  syn match    dotKeyChar  "->" +syn match    dotKeyChar  "--"  " Identifier  syn match    dotIdentifier /\<\w\+\(:\w\+\)\?\>/ @@ -75,27 +85,41 @@ 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 - +" 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 dotEscString	 Keyword +  HiLink dotIdentifier	 Identifier + +  delcommand HiLink +endif  let b:current_syntax = "dot" +let &cpo = s:keepcpo +unlet s:keepcpo +  " vim: ts=8 | 
