codekingpro/portable-devtools
115k
1" Language: Dot2" Filenames: *.dot3" Maintainer: Markus Mottl <markus.mottl@gmail.com>4" URL: http://www.ocaml.info/vim/syntax/dot.vim5" Last Change: 2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh)6" 2011 May 17 - improved identifier matching + two new keywords7" 2001 May 04 - initial version8 9" For version 5.x: Clear all syntax items10" For version 6.x: Quit when a syntax file was already loaded11if version < 60012 syntax clear13elseif exists("b:current_syntax")14 finish15endif16 17let s:keepcpo = &cpo18set cpo&vim19 20" Errors21syn match dotParErr ")"22syn match dotBrackErr "]"23syn match dotBraceErr "}"24 25" Enclosing delimiters26syn region dotEncl transparent matchgroup=dotParEncl start="(" matchgroup=dotParEncl end=")" contains=ALLBUT,dotParErr27syn region dotEncl transparent matchgroup=dotBrackEncl start="\[" matchgroup=dotBrackEncl end="\]" contains=ALLBUT,dotBrackErr28syn region dotEncl transparent matchgroup=dotBraceEncl start="{" matchgroup=dotBraceEncl end="}" contains=ALLBUT,dotBraceErr29 30" Comments31syn region dotComment start="//" end="$" contains=dotComment,dotTodo32syn region dotComment start="/\*" end="\*/" contains=dotComment,dotTodo33syn keyword dotTodo contained TODO FIXME XXX34 35" Strings36syn region dotString start=+"+ skip=+\\\\\|\\"+ end=+"+37 38" Escape strings39syn match dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString40syn match dotEscString /\v\\(n|l|r)/ containedin=dotString41 42" General keywords43syn keyword dotKeyword graph digraph subgraph node edge strict44 45" Node, edge and graph attributes46syn keyword dotType _background area arrowhead arrowsize arrowtail bb bgcolor47 \ center charset class clusterrank color colorscheme comment compound48 \ concentrate constraint Damping decorate defaultdist dim dimen dir49 \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip50 \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames51 \ fontpath fontsize forcelabels gradientangle group head_lp headclip52 \ headhref headlabel headport headtarget headtooltip headURL height href53 \ id image imagepath imagepos imagescale inputscale K label label_scheme54 \ labelangle labeldistance labelfloat labelfontcolor labelfontname55 \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip56 \ labelURL landscape layer layerlistsep layers layerselect layersep 57 \ layout len levels levelsgap lhead lheight lp ltail lwidth margin58 \ maxiter mclimit mindist minlen mode model mosek newrank nodesep 59 \ nojustify normalize notranslate nslimit nslimit1 ordering orientation60 \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad61 \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum62 \ rank rankdir ranksep ratio rects regular remincross repulsiveforce63 \ resolution root rotate rotation samehead sametail samplepoints scale64 \ searchsize sep shape shapefile showboxes sides size skew smoothing65 \ sortv splines start style stylesheet tail_lp tailclip tailhref 66 \ taillabel tailport tailtarget tailtooltip tailURL target tooltip67 \ truecolor URL vertices viewport voro_margin weight width xdotversion 68 \ xlabel xlp z69 70" Special chars71syn match dotKeyChar "="72syn match dotKeyChar ";"73syn match dotKeyChar "->"74syn match dotKeyChar "--"75 76" Identifier77syn match dotIdentifier /\<\w\+\(:\w\+\)\?\>/78 79" Synchronization80syn sync minlines=5081syn sync maxlines=50082 83" Define the default highlighting.84" For version 5.7 and earlier: only when not done already85" For version 5.8 and later: only when an item doesn't have highlighting yet86if version >= 508 || !exists("did_dot_syntax_inits")87 if version < 50888 let did_dot_syntax_inits = 189 command -nargs=+ HiLink hi link <args>90 else91 command -nargs=+ HiLink hi def link <args>92 endif93 94 HiLink dotParErr Error95 HiLink dotBraceErr Error96 HiLink dotBrackErr Error97 98 HiLink dotComment Comment99 HiLink dotTodo Todo100 101 HiLink dotParEncl Keyword102 HiLink dotBrackEncl Keyword103 HiLink dotBraceEncl Keyword104 105 HiLink dotKeyword Keyword106 HiLink dotType Type107 HiLink dotKeyChar Keyword108 109 HiLink dotString String110 HiLink dotEscString Keyword111 HiLink dotIdentifier Identifier112 113 delcommand HiLink114endif115 116let b:current_syntax = "dot"117 118let &cpo = s:keepcpo119unlet s:keepcpo120 121" vim: ts=8122 