Mercurial > vim
comparison runtime/syntax/generator/vim.vim.base @ 34531:0591aba1489d
runtime(vim): Update base-syntax, improve number matching (#14175)
Commit: https://github.com/vim/vim/commit/5cd86c6cff94256ed2db872c46b57da259a648ac
Author: dkearns <dougkearns@gmail.com>
Date: Tue Mar 12 07:40:58 2024 +1100
runtime(vim): Update base-syntax, improve number matching (https://github.com/vim/vim/issues/14175)
- Limit blob literals to an even number of hexadecimal digits and
correctly located dots.
- Match octal numbers.
The current version unsuccessfully attempts to match a leading '-' as
part of the float literal. It's actually parsed as part of the literal
for all numbers but the syntax file hasn't matched it like that for a
long time and highlights negative numbers as UNARY-MINUS NUMBER. This
will be fixed when better expression matching is implemented.
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 11 Mar 2024 21:45:06 +0100 |
parents | 97fc56ee7ca7 |
children | 98d8ef6b57c9 |
comparison
equal
deleted
inserted
replaced
34530:ef8394eca183 | 34531:0591aba1489d |
---|---|
1 " Vim syntax file | 1 " Vim syntax file |
2 " Language: Vim script | 2 " Language: Vim script |
3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> | 3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> |
4 " Doug Kearns <dougkearns@gmail.com> | 4 " Doug Kearns <dougkearns@gmail.com> |
5 " URL: https://github.com/vim-jp/syntax-vim-ex | 5 " URL: https://github.com/vim-jp/syntax-vim-ex |
6 " Last Change: 2024 Mar 09 | 6 " Last Change: 2024 Mar 10 |
7 " Former Maintainer: Charles E. Campbell | 7 " Former Maintainer: Charles E. Campbell |
8 " Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM | 8 " Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM |
9 " Base File Version: 9.0-25 | 9 " Base File Version: 9.0-25 |
10 | 10 |
11 " DO NOT CHANGE DIRECTLY. | 11 " DO NOT CHANGE DIRECTLY. |
155 let s:vimsyn_maxlines= 60 | 155 let s:vimsyn_maxlines= 60 |
156 endif | 156 endif |
157 | 157 |
158 " Numbers {{{2 | 158 " Numbers {{{2 |
159 " ======= | 159 " ======= |
160 syn match vimNumber '\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 160 syn case ignore |
161 syn match vimNumber '-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 161 syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
162 syn match vimNumber '\<0[xX]\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 162 syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
163 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 163 syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
164 syn match vimNumber '\<0[zZ][a-zA-Z0-9.]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 164 syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
165 syn match vimNumber '0[0-7]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 165 syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
166 syn match vimNumber '0[bB][01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment | 166 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment |
167 syn case match | |
167 | 168 |
168 " All vimCommands are contained by vimIsCommand. {{{2 | 169 " All vimCommands are contained by vimIsCommand. {{{2 |
169 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimEcho,vimEchoHL,vimExecute,vimIsCommand,vimExtCmd,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimNotFunc,vimNorm,vimSet,vimSyntax,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate | 170 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimEcho,vimEchoHL,vimExecute,vimIsCommand,vimExtCmd,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimNotFunc,vimNorm,vimSet,vimSyntax,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate |
170 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 | 171 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1 |
171 syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand | 172 syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand |