Mercurial > vim
view runtime/syntax/haste.vim @ 32826:7c4ad06d80ec v9.0.1726
patch 9.0.1726: incorrect heights in win_size_restore()
Commit: https://github.com/vim/vim/commit/876f5fb570d8401aa4c58af4a5da91f10520aa9d
Author: Sean Dewar <seandewar@users.noreply.github.com>
Date: Thu Aug 17 22:40:05 2023 +0200
patch 9.0.1726: incorrect heights in win_size_restore()
Problem: incorrect heights in win_size_restore()
Solution: avoid restoring incorrect heights in win_size_restore()
Changing 'showtabline' or 'cmdheight' in the cmdwin restores incorrect
window heights after closing the cmdwin.
This may produce a gap between the cmdline and the window above.
Solution: restore window sizes only if the number of lines available for windows
changed; subtract the rows of the tabline, cmdline and last window's statusline
from 'lines' (other statuslines don't matter).
closes: #12704
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 22:45:06 +0200 |
parents | 43efa4f5a8ea |
children |
line wrap: on
line source
" Vim syntax file " Language: HASTE - a language for VLSI IC programming " Maintainer: M. Tranchero - maurizio.tranchero?gmail.com " Credits: some parts have been taken from vhdl, verilog, and C syntax " files " Version: 0.9 " Last Change: 0.9 improvement of haste numbers detection " Change: 0.8 error matching for wrong hierarchical connections " Change: 0.7 added more rules to highlight pre-processor directives " HASTE if exists("b:current_syntax") finish endif " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " case is significant syn case match " HASTE keywords syn keyword hasteStatement act alias arb array begin bitvec syn keyword hasteStatement bitwidth boolvec broad case syn keyword hasteStatement cast chan const dataprobe do edge syn keyword hasteStatement else end export false ff fi file syn keyword hasteStatement fit for forever func if import syn keyword hasteStatement inprobe is les main narb narrow syn keyword hasteStatement negedge od of or outprobe pas syn keyword hasteStatement posedge probe proc ram ramreg syn keyword hasteStatement repeat rom romreg sample sel si syn keyword hasteStatement sign sizeof skip stop then true syn keyword hasteStatement type until var wait wire syn keyword hasteFutureExt Z ffe partial syn keyword hasteVerilog buf reg while " Special match for "if", "or", and "else" since "else if" " and other "else+if" combination shouldn't be highlighted. " The right keyword is "or" syn match hasteStatement "\<\(if\|then\|else\|fi\)\>" syn match hasteNone "\<else\s\+if\>$" syn match hasteNone "\<else\s\+if\>\s" syn match hasteNone "\<elseif\>\s" syn match hasteNone "\<elsif\>\s" syn match hasteStatement "\<\(case\|is\|si\)\>" syn match hasteStatement "\<\(repeat\|until\)\>" syn match hasteStatement "\<\(forever\|do\|od\)\>" syn match hasteStatement "\<\(for\|do\|od\)\>" syn match hasteStatement "\<\(do\|or\|od\)\>" syn match hasteStatement "\<\(sel\|les\)\>" syn match hasteError "\<\d\+[_a-zA-Z]\+\>" syn match hasteError "\(\([[:alnum:]]\+\s*(\s\+\|)\s*,\)\)\s*\([[:alnum:]]\+\s*(\)" " Predifined Haste types syn keyword hasteType bool " Values for standard Haste types " syn match hasteVector "\'[0L1HXWZU\-\?]\'" syn match hasteVector "0b\"[01_]\+\"" syn match hasteVector "0x\"[0-9a-f_]\+\"" syn match hasteCharacter "'.'" " syn region hasteString start=+"+ end=+"+ syn match hasteIncluded display contained "<[^>]*>" syn match hasteIncluded display contained "<[^"]*>" syn region hasteInclude start="^\s*#include\>\s*" end="$" contains=hasteIncluded,hasteString " integer numbers syn match hasteNumber "\d\+\^[[:alnum:]]*[-+]\{0,1\}[[:alnum:]]*" syn match hasteNumber "-\=\<\d\+\(\^[+\-]\=\d\+\)\>" syn match hasteNumber "-\=\<\d\+\>" " syn match hasteNumber "0*2#[01_]\+#\(\^[+\-]\=\d\+\)\=" " syn match hasteNumber "0*16#[0-9a-f_]\+#\(\^[+\-]\=\d\+\)\=" " operators syn keyword hasteSeparators & , . \| syn keyword hasteExecution \|\| ; @ syn keyword hasteOperator := ? ! : syn keyword hasteTypeConstr "[" << >> .. "]" ~ syn keyword hasteExprOp < <= >= > = # <> + - * == ## syn keyword hasteMisc ( ) 0x 0b " syn match hasteSeparators "[&:\|,.]" syn match hasteOperator ":=" syn match hasteOperator ":" syn match hasteOperator "?" syn match hasteOperator "!" syn match hasteExecution "||" syn match hasteExecution ";" syn match hasteExecution "@" syn match hasteType "\[\[" syn match hasteType "\]\]" syn match hasteType "<<" syn match hasteType ">>" syn match hasteExprOp "<" syn match hasteExprOp "<=" syn match hasteExprOp ">=" syn match hasteExprOp ">" syn match hasteExprOp "<>" syn match hasteExprOp "=" syn match hasteExprOp "==" syn match hasteExprOp "##" " syn match hasteExprOp "#" syn match hasteExprOp "*" syn match hasteExprOp "+" syn region hasteComment start="/\*" end="\*/" contains=@Spell syn region hasteComment start="{" end="}" contains=@Spell syn match hasteComment "//.*" contains=@Spell " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link hasteSpecial Special hi def link hasteStatement Statement hi def link hasteCharacter String hi def link hasteString String hi def link hasteVector String hi def link hasteBoolean String hi def link hasteComment Comment hi def link hasteNumber String hi def link hasteTime String hi def link hasteType Type hi def link hasteGlobal Error hi def link hasteError Error hi def link hasteAttribute Type " hi def link hasteSeparators Special hi def link hasteExecution Special hi def link hasteTypeConstr Special hi def link hasteOperator Type hi def link hasteExprOp Type hi def link hasteMisc String hi def link hasteFutureExt Error hi def link hasteVerilog Error hi def link hasteDefine Macro hi def link hasteInclude Include " hi def link hastePreProc Preproc " hi def link hastePreProcVar Special let b:current_syntax = "haste" " vim: ts=8