Mercurial > vim
view runtime/syntax/gvpr.vim @ 34485:157cf882799f v9.1.0150
patch 9.1.0150: Several minor 'winfixbuf' issues
Commit: https://github.com/vim/vim/commit/4bb505e28cac0389561fff78d8bbe0319c2bcf2f
Author: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Date: Tue Mar 5 20:39:07 2024 +0100
patch 9.1.0150: Several minor 'winfixbuf' issues
Problem: several minor 'winfixbuf' issues exist, mostly relating to the
quickfix list
Solution: address them and adjust tests. Retab and reflow a few things too.
(Sean Dewar)
Things touched include:
- Replace the semsgs with gettext'd emsgs.
- Handle window switching in ex_listdo properly, so curbuf and curwin
are kept in-sync and trigger autocommands; handle those properly.
- Don't change the list entry index in qf_jump_edit_buffer if we fail
due to 'wfb' (achieved by returning FAIL; QF_ABORT should only be used
if the list was changed).
- Make qf_jump_edit_buffer actually switch to prevwin when using `:cXX`
commands **outside** of the list window if 'wfb' is set in curwin.
Handle autocommands properly in case they mess with the list.
NOTE: previously, it seemed to split if 'wfb' was set, but do nothing
and fail if prevwin is *valid*. This behaviour seemed strange, and maybe
unintentional? Now it aligns more with what's described for the `:cXX`
commands in the original PR description when used outside a list window,
I think.
- In both functions, only consider prevwin if 'wfb' isn't set for it;
fallback to splitting otherwise.
- Use win_split to split. Not sure if there was a specific reason for
using ex_splitview. win_split is simpler and respects modifiers like
:vertical that may have been used. Plus, its return value can be checked
for setting opened_window in qf code (technically win_split_ins autocmds
could immediately close it or change windows, in which the qf code might
close some other window on failure; it's already the case elsewhere,
though).
closes: #14142
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 05 Mar 2024 20:45:04 +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