Mercurial > vim
view runtime/syntax/diva.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 | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: SKILL for Diva " Maintainer: Toby Schaffer <jtschaff@eos.ncsu.edu> " Last Change: 2001 May 09 " Comments: SKILL is a Lisp-like programming language for use in EDA " tools from Cadence Design Systems. It allows you to have " a programming environment within the Cadence environment " that gives you access to the complete tool set and design " database. These items are for Diva verification rules decks. " Don't remove any old syntax stuff hanging around! We need stuff " from skill.vim. if !exists("did_skill_syntax_inits") runtime! syntax/skill.vim endif syn keyword divaDRCKeywords area enc notch ovlp sep width syn keyword divaDRCKeywords app diffNet length lengtha lengthb syn keyword divaDRCKeywords notParallel only_perp opposite parallel syn keyword divaDRCKeywords sameNet shielded with_perp syn keyword divaDRCKeywords edge edgea edgeb fig figa figb syn keyword divaDRCKeywords normalGrow squareGrow message raw syn keyword divaMeasKeywords perimeter length bends_all bends_full syn keyword divaMeasKeywords bends_part corners_all corners_full syn keyword divaMeasKeywords corners_part angles_all angles_full syn keyword divaMeasKeywords angles_part fig_count butting coincident syn keyword divaMeasKeywords over not_over outside inside enclosing syn keyword divaMeasKeywords figure one_net two_net three_net grounded syn keyword divaMeasKeywords polarized limit keep ignore syn match divaCtrlFunctions "(ivIf\>"hs=s+1 syn match divaCtrlFunctions "\<ivIf("he=e-1 syn match divaCtrlFunctions "(switch\>"hs=s+1 syn match divaCtrlFunctions "\<switch("he=e-1 syn match divaCtrlFunctions "(and\>"hs=s+1 syn match divaCtrlFunctions "\<and("he=e-1 syn match divaCtrlFunctions "(or\>"hs=s+1 syn match divaCtrlFunctions "\<or("he=e-1 syn match divaCtrlFunctions "(null\>"hs=s+1 syn match divaCtrlFunctions "\<null("he=e-1 syn match divaExtFunctions "(save\(Interconnect\|Property\|Parameter\|Recognition\)\>"hs=s+1 syn match divaExtFunctions "\<save\(Interconnect\|Property\|Parameter\|Recognition\)("he=e-1 syn match divaExtFunctions "(\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic\>"hs=s+1 syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1 syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1 syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1 syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1 syn match divaExtFunctions "\<measure\(Resistance\|Fringe\)("he=e-1 syn match divaExtFunctions "(extract\(Device\|MOS\)\>"hs=s+1 syn match divaExtFunctions "\<extract\(Device\|MOS\)("he=e-1 syn match divaDRCFunctions "(checkAllLayers\>"hs=s+1 syn match divaDRCFunctions "\<checkAllLayers("he=e-1 syn match divaDRCFunctions "(checkLayer\>"hs=s+1 syn match divaDRCFunctions "\<checkLayer("he=e-1 syn match divaDRCFunctions "(drc\>"hs=s+1 syn match divaDRCFunctions "\<drc("he=e-1 syn match divaDRCFunctions "(drcAntenna\>"hs=s+1 syn match divaDRCFunctions "\<drcAntenna("he=e-1 syn match divaFunctions "(\(drcExtract\|lvs\)Rules\>"hs=s+1 syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1 syn match divaLayerFunctions "(saveDerived\>"hs=s+1 syn match divaLayerFunctions "\<saveDerived("he=e-1 syn match divaLayerFunctions "(copyGraphics\>"hs=s+1 syn match divaLayerFunctions "\<copyGraphics("he=e-1 syn match divaChkFunctions "(dubiousData\>"hs=s+1 syn match divaChkFunctions "\<dubiousData("he=e-1 syn match divaChkFunctions "(offGrid\>"hs=s+1 syn match divaChkFunctions "\<offGrid("he=e-1 syn match divaLVSFunctions "(compareDeviceProperty\>"hs=s+1 syn match divaLVSFunctions "\<compareDeviceProperty("he=e-1 syn match divaLVSFunctions "(ignoreTerminal\>"hs=s+1 syn match divaLVSFunctions "\<ignoreTerminal("he=e-1 syn match divaLVSFunctions "(parameterMatchType\>"hs=s+1 syn match divaLVSFunctions "\<parameterMatchType("he=e-1 syn match divaLVSFunctions "(\(permute\|prune\|remove\)Device\>"hs=s+1 syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1 syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1 syn match divaGeomFunctions "\<geom\u\a\+\(45\|90\)\=("he=e-1 " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link divaDRCKeywords Statement hi def link divaMeasKeywords Statement hi def link divaCtrlFunctions Conditional hi def link divaExtFunctions Function hi def link divaDRCFunctions Function hi def link divaFunctions Function hi def link divaLayerFunctions Function hi def link divaChkFunctions Function hi def link divaLVSFunctions Function hi def link divaGeomFunctions Function let b:current_syntax = "diva" " vim:ts=4