Mercurial > vim
view runtime/syntax/st.vim @ 33132:811555b5ab8b v9.0.1848
patch 9.0.1848: [security] buffer-overflow in vim_regsub_both()
Commit: https://github.com/vim/vim/commit/ced2c7394aafdc90fb7845e09b3a3fee23d48cb1
Author: Christian Brabandt <cb@256bit.org>
Date: Sat Sep 2 21:15:52 2023 +0200
patch 9.0.1848: [security] buffer-overflow in vim_regsub_both()
Problem: buffer-overflow in vim_regsub_both()
Solution: Check remaining space
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 02 Sep 2023 21:45:03 +0200 |
parents | 11b656e74444 |
children |
line wrap: on
line source
" Vim syntax file " Language: Smalltalk " Maintainer: Arndt Hesse <hesse@self.de> " Last Change: 2012 Feb 12 by Thilo Six " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " some Smalltalk keywords and standard methods syn keyword stKeyword super self class true false new not syn keyword stKeyword notNil isNil inspect out nil syn match stMethod "\<do\>:" syn match stMethod "\<whileTrue\>:" syn match stMethod "\<whileFalse\>:" syn match stMethod "\<ifTrue\>:" syn match stMethod "\<ifFalse\>:" syn match stMethod "\<put\>:" syn match stMethod "\<to\>:" syn match stMethod "\<at\>:" syn match stMethod "\<add\>:" syn match stMethod "\<new\>:" syn match stMethod "\<for\>:" syn match stMethod "\<methods\>:" syn match stMethod "\<methodsFor\>:" syn match stMethod "\<instanceVariableNames\>:" syn match stMethod "\<classVariableNames\>:" syn match stMethod "\<poolDictionaries\>:" syn match stMethod "\<subclass\>:" " the block of local variables of a method syn region stLocalVariables start="^[ \t]*|" end="|" " the Smalltalk comment syn region stComment start="\"" end="\"" " the Smalltalk strings and single characters syn region stString start='\'' skip="''" end='\'' syn match stCharacter "$." syn case ignore " the symbols prefixed by a '#' syn match stSymbol "\(#\<[a-z_][a-z0-9_]*\>\)" syn match stSymbol "\(#'[^']*'\)" " the variables in a statement block for loops syn match stBlockVariable "\(:[ \t]*\<[a-z_][a-z0-9_]*\>[ \t]*\)\+|" contained " some representations of numbers syn match stNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" syn match stFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>" syn match stFloat "\<\d\+e[-+]\=\d\+[fl]\=\>" syn case match " a try to highlight paren mismatches syn region stParen transparent start='(' end=')' contains=ALLBUT,stParenError syn match stParenError ")" syn region stBlock transparent start='\[' end='\]' contains=ALLBUT,stBlockError syn match stBlockError "\]" syn region stSet transparent start='{' end='}' contains=ALLBUT,stSetError syn match stSetError "}" hi link stParenError stError hi link stSetError stError hi link stBlockError stError " synchronization for syntax analysis syn sync minlines=50 " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link stKeyword Statement hi def link stMethod Statement hi def link stComment Comment hi def link stCharacter Constant hi def link stString Constant hi def link stSymbol Special hi def link stNumber Type hi def link stFloat Type hi def link stError Error hi def link stLocalVariables Identifier hi def link stBlockVariable Identifier let b:current_syntax = "st" let &cpo = s:cpo_save unlet s:cpo_save