From: John Benediktsson Date: Sun, 2 Jan 2022 17:05:20 +0000 (-0800) Subject: misc/vim: adding underscore number syntax support. X-Git-Tag: 0.99~1993 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=9d9090e0defda94c508e841fdb34636afedb98f8 misc/vim: adding underscore number syntax support. --- diff --git a/misc/vim/syntax/factor.vim b/misc/vim/syntax/factor.vim index e65e69afaf..3d3a84ebe5 100644 --- a/misc/vim/syntax/factor.vim +++ b/misc/vim/syntax/factor.vim @@ -168,50 +168,50 @@ syn cluster factorNumber contains=@factorReal,factorComplex syn cluster factorInteger contains=factorInteger if !exists('g:factor_syn_no_error') " more general syn cluster factorInteger add=factorIntegerError - syn match factorIntegerError /\v<[+-]=%(\d|,){-}\d%(\d|,)*>/ + syn match factorIntegerError /\v<[+-]=%(\d|,|_){-}\d%(\d|,|_)*>/ endif -syn match factorInteger /\v<[+-]=\d%(\d|,)*,@1/ +syn match factorInteger /\v<[+-]=\d%(\d|,|_)*,@1/ syn cluster factorFloat contains=factorFloat if !exists('g:factor_syn_no_error') " more general syn cluster factorFloat add=factorFloatError - syn match factorFloatError /\v<[+-]=%(\S{-}\d&%(\d|,)*%([eE][+-]=%(\d|,)*|\.%(\d|,)*%([eE][+-]=%(\d|,)*)?)|\.%(\d|,)+%([eE][+-]=%(\d|,)*)?)>/ + syn match factorFloatError /\v<[+-]=%(\S{-}\d&%(\d|,|_)*%([eE][+-]=%(\d|,|_)*|\.%(\d|,|_)*%([eE][+-]=%(\d|,|_)*)?)|\.%(\d|,|_)+%([eE][+-]=%(\d|,|_)*)?)>/ endif -syn match factorFloat /\v<[+-]=%(\d%(\d|,)*,@1/ +syn match factorFloat /\v<[+-]=%(\d%(\d|,|_)*,@1/ syn cluster factorRatio contains=factorRatio if !exists('g:factor_syn_no_error') " more general syn cluster factorRatio add=factorRatioError - syn match factorRatioError /\v<[+-]=%(\S{-}\d.{-}\/&%(\d|,)*\.?%(\d|,)*%([+-]%(\d|,)*)?)\/[+-]=%(\S{-}\d&%(\d|,)*\.?%(\d|,)*%([eE][+-]=%(\d|,)*)?)>/ + syn match factorRatioError /\v<[+-]=%(\S{-}\d.{-}\/&%(\d|,|_)*\.?%(\d|,|_)*%([+-]%(\d|,|_)*)?)\/[+-]=%(\S{-}\d&%(\d|,|_)*\.?%(\d|,|_)*%([eE][+-]=%(\d|,|_)*)?)>/ endif -syn match factorRatio /\v<([+-]=)\d%(\d|,)*,@1/ +syn match factorRatio /\v<([+-]=)\d%(\d|,|_)*,@1/ syn region factorComplex start=/\v/ skip=/\v.*/ end=/\v<\}>/ contains=@factorComment,@factorReal syn cluster factorBin contains=factorBin if !exists('g:factor_syn_no_error') syn cluster factorBin add=factorBinError - syn match factorBinError /\v<[+-]=0[bB]%(\S{-}\w&%(\w|,)*\.?%(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn match factorBinError /\v<[+-]=0[bB]%(\S{-}\w&%(\w|,|_)*\.?%(\w|,|_)*%([pP][+-]=%(\w|,|_)*)?)>/ endif -syn match factorBin /\v<[+-]=0[bB]%([01][01,]*,@1/ +syn match factorBin /\v<[+-]=0[bB]%([01][01,_]*,@1/ syn cluster factorOct contains=factorOct if !exists('g:factor_syn_no_error') syn cluster factorOct add=factorOctError - syn match factorOctError /\v<[+-]=0[oO]%(\S{-}\o&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn match factorOctError /\v<[+-]=0[oO]%(\S{-}\o&%(\w|,|_)*\.?(\w|,|_)*%([pP][+-]=%(\w|,|_)*)?)>/ endif -syn match factorOct /\v<[+-]=0[oO]%(\o%(\o|,)*,@1/ +syn match factorOct /\v<[+-]=0[oO]%(\o%(\o|,|_)*,@1/ syn cluster factorHex contains=factorHex syn cluster factorHexNoRadix contains=factorHexNoRadix if !exists('g:factor_syn_no_error') syn cluster factorHex add=factorHexError - syn match factorHexError /\v<[+-]=0[xX]%(\S{-}\x&%(\x|,)*\.?(\x|,)*%([pP][+-]=%(\w|,)*)?)>/ + syn match factorHexError /\v<[+-]=0[xX]%(\S{-}\x&%(\x|,|_)*\.?(\x|,|_)*%([pP][+-]=%(\w|,|_)*)?)>/ syn cluster factorHexNoRadix add=factorHexNoRadixError - syn match factorHexNoRadixError /\v<[+-]=%(\S{-}\x&%(\w|,)*\.?(\w|,)*%([pP][+-]=%(\w|,)*)?)>/ contained + syn match factorHexNoRadixError /\v<[+-]=%(\S{-}\x&%(\w|,|_)*\.?(\w|,|_)*%([pP][+-]=%(\w|,|_)*)?)>/ contained endif -syn match factorHex /\v<[+-]=0[xX]%(\x%(\x|,)*,@1/ -syn match factorHexNoRadix /\v<[+-]=%(\x%(\x|,)*,@1/ contained +syn match factorHex /\v<[+-]=0[xX]%(\x%(\x|,|_)*,@1/ +syn match factorHexNoRadix /\v<[+-]=%(\x%(\x|,|_)*,@1/ contained syn region factorNan matchgroup=factorNan start=/\v/ matchgroup=NONE skip=/\v.*/ end=/\v<\S+>/ contains=@factorComment,@factorHexNoRadix keepend