view runtime/syntax/gvpr.vim @ 34576:563b0a3bd697 v9.1.0186

patch 9.1.0186: cursor pos wrong on mouse click after eol with 'rl', 've' and conceal Commit: https://github.com/vim/vim/commit/deb2204bffa075ed5485415fc2dbd20e75d87ea4 Author: zeertzjq <zeertzjq@outlook.com> Date: Sun Mar 17 19:44:30 2024 +0100 patch 9.1.0186: cursor pos wrong on mouse click after eol with 'rl', 've' and conceal Problem: Wrong cursor position when clicking after end of line with 'rightleft', 'virtualedit' and conceal. Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT. Also fix off-by-one cursor position with 'colorcolumn' (zeertzjq). closes: #14218 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 17 Mar 2024 20:00:02 +0100
parents fd37be6dc258
children
line wrap: on
line source

" Vim syntax file
" Language: Graphviz program
" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com>
" Last Change: Tue, 28 Jul 2020 17:20:44 -0700

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword gvArg  ARGC ARGV
syn keyword gvBeg  BEGIN BEG_G N E END END_G
syn keyword gvFunc
  \ graph fstsubg isDirect isStrict isSubg nEdges nNodes nxtsubg subg
  \ degreeOf fstnode indegreeOf isNode isSubnode node nxtnode nxtnode_sg
    \ outDegreeOf subnode
  \ edge edge_sg fstedge fstedge_sg fstin fstin_sg fstout fstout_sg isEdge
    \ isEdge_sg isSubedge nxtedge nxtedge_sg nxtin nxtin_sg nxtout nxtout_sg opp
    \ subedge
  \ freadG fwriteG readG write[] writeG
  \ aget aset clone cloneG compOf copy[] copyA delete[] fstAttr getDflt hasAttr
    \ induce isAttr isIn kindOf lock[] nxtAttr setDflt
  \ canon gsub html index ishtml length llOf match[] rindex split[] sprintf
    \ sscanf strcmp sub substr tokens tolower toupper urOf xOf yOf
  \ closeF openF print[] printf scanf readL
  \ atan2 cos exp log MAX MIN pow sin[] sqrt
  \ in[] unset
  \ colorx exit[] rand srand system
syn keyword gvCons
  \ NULL TV_bfs TV_dfs TV_en TV_flat TV_fwd TV_ne TV_prepostdfs TV_prepostfwd
  \ TV_prepostrev TV_postdfs TV_postfwd tv_postrev TV_rev
syn keyword gvType char double float int long unsigned void
                 \ string
                 \ edge_t graph_t node_t obj_t
syn match   gvVar 
  \ "\$\(\(F\|G\|NG\|O\|T\|tgtname\|tvedge\|tvnext\|tvroot\|tvtype\)\>\)\?\(\<\)\@!"
syn keyword gvWord break continue else for forr if return switch while

" numbers adapted from c.vim's cNumbers and friends
syn match gvNums      transparent "\<\d\|\.\d" contains=gvNumber,gvFloat,gvOctal
syn match gvNumber    contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match gvNumber    contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match gvOctal     contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=gvOctalZero
syn match gvOctalZero contained "\<0"
syn match gvFloat     contained "\d\+f"
syn match gvFloat     contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
syn match gvFloat     contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
syn match gvFloat     contained "\d\+e[-+]\=\d\+[fl]\=\>"

syn region gvString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=gvFormat,gvSpecial extend
syn region gvString start="'" skip="\\\\\|\\'" end="'" contains=gvFormat,gvSpecial extend

" adapted from c.vim's cFormat for c_no_c99
syn match gvFormat "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained

syn match gvSpecial "\\." contained

syn region gvCComment   start="//"  skip="\\$" end="$" keepend
syn region gvCPPComment start="#"   skip="\\$" end="$" keepend
syn region gvCXXComment start="/\*" end="\*/" fold

hi def link gvArg        Identifier
hi def link gvBeg        Keyword
hi def link gvFloat      Number
hi def link gvFunc       Identifier
hi def link gvCons       Number
hi def link gvNumber     Number
hi def link gvType       Type
hi def link gvVar        Statement
hi def link gvWord       Keyword

hi def link gvString     String
hi def link gvFormat     Special
hi def link gvSpecial    Special

hi def link gvCComment   Comment
hi def link gvCPPComment Comment
hi def link gvCXXComment Comment

let b:current_syntax = "gvpr"

let &cpo = s:cpo_save
unlet s:cpo_save