codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: Graphviz program3" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com>4" Last Change: Tue, 28 Jul 2020 17:20:44 -07005 6if exists("b:current_syntax")7 finish8endif9 10let s:cpo_save = &cpo11set cpo&vim12 13syn keyword gvArg ARGC ARGV14syn keyword gvBeg BEGIN BEG_G N E END END_G15syn keyword gvFunc16 \ graph fstsubg isDirect isStrict isSubg nEdges nNodes nxtsubg subg17 \ degreeOf fstnode indegreeOf isNode isSubnode node nxtnode nxtnode_sg18 \ outDegreeOf subnode19 \ edge edge_sg fstedge fstedge_sg fstin fstin_sg fstout fstout_sg isEdge20 \ isEdge_sg isSubedge nxtedge nxtedge_sg nxtin nxtin_sg nxtout nxtout_sg opp21 \ subedge22 \ freadG fwriteG readG write[] writeG23 \ aget aset clone cloneG compOf copy[] copyA delete[] fstAttr getDflt hasAttr24 \ induce isAttr isIn kindOf lock[] nxtAttr setDflt25 \ canon gsub html index ishtml length llOf match[] rindex split[] sprintf26 \ sscanf strcmp sub substr tokens tolower toupper urOf xOf yOf27 \ closeF openF print[] printf scanf readL28 \ atan2 cos exp log MAX MIN pow sin[] sqrt29 \ in[] unset30 \ colorx exit[] rand srand system31syn keyword gvCons32 \ NULL TV_bfs TV_dfs TV_en TV_flat TV_fwd TV_ne TV_prepostdfs TV_prepostfwd33 \ TV_prepostrev TV_postdfs TV_postfwd tv_postrev TV_rev34syn keyword gvType char double float int long unsigned void35 \ string36 \ edge_t graph_t node_t obj_t37syn match gvVar 38 \ "\$\(\(F\|G\|NG\|O\|T\|tgtname\|tvedge\|tvnext\|tvroot\|tvtype\)\>\)\?\(\<\)\@!"39syn keyword gvWord break continue else for forr if return switch while40 41" numbers adapted from c.vim's cNumbers and friends42syn match gvNums transparent "\<\d\|\.\d" contains=gvNumber,gvFloat,gvOctal43syn match gvNumber contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"44syn match gvNumber contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"45syn match gvOctal contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=gvOctalZero46syn match gvOctalZero contained "\<0"47syn match gvFloat contained "\d\+f"48syn match gvFloat contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="49syn match gvFloat contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"50syn match gvFloat contained "\d\+e[-+]\=\d\+[fl]\=\>"51 52syn region gvString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gvFormat,gvSpecial extend53syn region gvString start="'" skip="\\\\\|\\'" end="'" contains=gvFormat,gvSpecial extend54 55" adapted from c.vim's cFormat for c_no_c9956syn match gvFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained57 58syn match gvSpecial "\\." contained59 60syn region gvCComment start="//" skip="\\$" end="$" keepend61syn region gvCPPComment start="#" skip="\\$" end="$" keepend62syn region gvCXXComment start="/\*" end="\*/" fold63 64hi def link gvArg Identifier65hi def link gvBeg Keyword66hi def link gvFloat Number67hi def link gvFunc Identifier68hi def link gvCons Number69hi def link gvNumber Number70hi def link gvType Type71hi def link gvVar Statement72hi def link gvWord Keyword73 74hi def link gvString String75hi def link gvFormat Special76hi def link gvSpecial Special77 78hi def link gvCComment Comment79hi def link gvCPPComment Comment80hi def link gvCXXComment Comment81 82let b:current_syntax = "gvpr"83 84let &cpo = s:cpo_save85unlet s:cpo_save86 