summaryrefslogtreecommitdiffstats
path: root/syntax/nim.vim
diff options
context:
space:
mode:
authorDan Reif <dan.reif@collectivehealth.com>2018-04-30 12:00:42 -0700
committerDan Reif <dan.reif@collectivehealth.com>2018-04-30 12:00:42 -0700
commit3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed (patch)
treece76003a08274cb805df101a44be8d37af1a4c4b /syntax/nim.vim
parentb4d7993e7ea554153025c5072749f415e69e0323 (diff)
downloadvim-polyglot-3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed.tar.gz
vim-polyglot-3e0c887365bc1ebd55b91dd69ab73f2dee1f00ed.zip
Update (periodic rebuild)
I originally meant to run this before adding haproxy, but accidentally pushed that into my branch. If you'd like to see that content, it's at https://github.com/CH-DanReif/vim-polyglot/commit/414ad25c3ad1ab9c4b6a99fe4f08d6c30b7e0f57.
Diffstat (limited to 'syntax/nim.vim')
-rw-r--r--syntax/nim.vim14
1 files changed, 10 insertions, 4 deletions
diff --git a/syntax/nim.vim b/syntax/nim.vim
index fe7944cb..d69166b3 100644
--- a/syntax/nim.vim
+++ b/syntax/nim.vim
@@ -84,10 +84,16 @@ syn match nimEscapeError "\\x\x\=\X" display contained
if nim_highlight_numbers == 1
" numbers (including longs and complex)
- syn match nimNumber "\v<0x\x+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
- syn match nimNumber "\v<[0-9_]+(\'(i|I|f|F|u|U)(8|16|32|64))?>"
- syn match nimNumber "\v[0-9]\.[0-9_]+([eE][+-]=[0-9_]+)=>"
- syn match nimNumber "\v<[0-9_]+(\.[0-9_]+)?([eE][+-]?[0-9_]+)?(\'(f|F)(32|64))?>"
+ 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