Mercurial > vim
view runtime/syntax/chatito.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 | 1e91e26ceebf |
children |
line wrap: on
line source
" Vim syntax file " Language: Chatito " Maintainer: ObserverOfTime <chronobserver@disroot.org> " Filenames: *.chatito " Last Change: 2022 Sep 19 if exists('b:current_syntax') finish endif " Comment syn keyword chatitoTodo contained TODO FIXME XXX syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell " Import syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile syn match chatitoImportFile /.*$/ contained skipwhite " Intent syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs " Slot syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation " Alias syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/ syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt " Probability syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained " Optional syn match chatitoOpt '?' contained " Arguments syn match chatitoArgs /(.\+)/ contained " Variation syn match chatitoVariation /#[^\]?#]\+/ contained " Value syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell " Errors syn match chatitoError /^\t/ hi def link chatitoAlias String hi def link chatitoArgs Special hi def link chatitoComment Comment hi def link chatitoError Error hi def link chatitoImportKeyword Include hi def link chatitoIntent Statement hi def link chatitoOpt SpecialChar hi def link chatitoProbability Number hi def link chatitoSlot Identifier hi def link chatitoTodo Todo hi def link chatitoVariation Special let b:current_syntax = 'chatito'