view runtime/syntax/limits.vim @ 33791:370543108ba1 v9.0.2114

patch 9.0.2114: overflow detection not accurate when adding digits Commit: https://github.com/vim/vim/commit/22cbc8a4e17ce61aa460c451a26e1bff2c3d2af9 Author: Christian Brabandt <cb@256bit.org> Date: Sun Nov 19 10:47:21 2023 +0100 patch 9.0.2114: overflow detection not accurate when adding digits Problem: overflow detection not accurate when adding digits Solution: Use a helper function Use a helper function to better detect overflows before adding integer digits to a long or an integer variable respectively. Signal the overflow to the caller function. closes: #13539 Signed-off-by: Christian Brabandt <cb@256bit.org> Signed-off-by: Michael Henry <vim@drmikehenry.com> Signed-off-by: Ernie Rael <errael@raelity.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 19 Nov 2023 11:00:07 +0100
parents 1218c5353e2b
children
line wrap: on
line source

" Vim syntax file
" Language:             limits(5) configuration file
" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
" Latest Revision:      2006-04-19

if exists("b:current_syntax")
  finish
endif

let s:cpo_save = &cpo
set cpo&vim

syn keyword limitsTodo    contained TODO FIXME XXX NOTE

syn region  limitsComment display oneline start='^\s*#' end='$'
                          \ contains=limitsTodo,@Spell

syn match   limitsBegin   display '^'
                          \ nextgroup=limitsUser,limitsDefault,limitsComment
                          \ skipwhite

syn match   limitsUser    contained '[^ \t#*]\+'
                          \ nextgroup=limitsLimit,limitsDeLimit skipwhite

syn match   limitsDefault contained '*'
                          \ nextgroup=limitsLimit,limitsDeLimit skipwhite

syn match   limitsLimit   contained '[ACDFMNRSTUKLP]' nextgroup=limitsNumber
syn match   limitsDeLimit contained '-'

syn match   limitsNumber  contained '\d\+\>' nextgroup=limitsLimit skipwhite

hi def link limitsTodo    Todo
hi def link limitsComment Comment
hi def link limitsUser    Keyword
hi def link limitsDefault Macro
hi def link limitsLimit   Identifier
hi def link limitsDeLimit Special
hi def link limitsNumber  Number

let b:current_syntax = "limits"

let &cpo = s:cpo_save
unlet s:cpo_save