From c6c230b6fc4c65c7c73a8c5958389abb64bb2c8d Mon Sep 17 00:00:00 2001 From: erw7 Date: Sat, 10 Feb 2018 11:47:33 +0900 Subject: [PATCH] Change regular expression to more readable --- syntax/nim.vim | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/syntax/nim.vim b/syntax/nim.vim index 1730c91..600866f 100644 --- a/syntax/nim.vim +++ b/syntax/nim.vim @@ -82,11 +82,16 @@ syn match nimEscapeError "\\x\x\=\X" display contained if nim_highlight_numbers == 1 " numbers (including longs and complex) - syn match nimNumber "\v<0[bB][01]%(_?[01])*%(\'%(%(i|I|u|U)%(8|16|32|64)|u|U|%(f|F)%(32|64|128)?|d|D))?>" - syn match nimNumber "\v<0[ocC]\o%(_?\o)*%(\'%(%(i|I|u|U)%(8|16|32|64)|u|U|%(f|F)%(32|64|128)?|d|D))?>" - syn match nimNumber "\v<0[xX]\x%(_?\x)*%(\'%(%(i|I|u|U)%(8|16|32|64)|u|U|%(f|F)%(32|64|128)?|d|D))?>" - syn match nimNumber "\v<\d%(_?\d)*%(%(\'%(%(i|I|u|U)%(8|16|32|64)|u|U)|%([eE][+-]?\d%(_?\d)*)?\'%(%(%(f|F)%(32|64|128)?|d|D))))?>" - syn match nimNumber "\v<\d%(_?\d)*\.\d%(_?\d)*%([eE][+-]?\d%(_?\d)*)?%(\'%(%(f|F)%(32|64|128)?|d|D))?>" + let s:dec_num = '\d%(_?\d)*' + let s:int_suf = '%(''%(%(i|I|u|U)%(8|16|32|64)|u|U))' + let s:float_suf = '%(''%(%(f|F)%(32|64|128)?|d|D))' + let s:exp = '%([eE][+-]?'.s:dec_num.')' + exe 'syn match nimNumber /\v<0[bB][01]%(_?[01])*%('.s:int_suf.'|'.s:float_suf.')?>/' + exe 'syn match nimNumber /\v<0[ocC]\o%(_?\o)*%('.s:int_suf.'|'.s:float_suf.')?>/' + exe 'syn match nimNumber /\v<0[xX]\x%(_?\x)*%('.s:int_suf.'|'.s:float_suf.')?>/' + exe 'syn match nimNumber /\v<'.s:dec_num.'%('.s:int_suf.'|'.s:exp.'?'.s:float_suf.')?>/' + exe 'syn match nimNumber /\v<'.s:dec_num.'\.'.s:dec_num.s:exp.'?'.s:float_suf.'?>/' + unlet s:dec_num s:int_suf s:float_suf s:exp endif if nim_highlight_builtins == 1