diff options
| author | Tycho Sci <tychosci@gmail.com> | 2012-05-05 11:43:07 +0900 |
|---|---|---|
| committer | Tycho Sci <tychosci@gmail.com> | 2012-05-05 11:43:07 +0900 |
| commit | 16848becaa8a1f812ba5e131cd6d4d4601f63979 (patch) | |
| tree | 3119f6271fde173bdb66cd101c644792715daa73 /src/etc/vim/syntax | |
| parent | bbf73bdfc682dd778cd0827540026477dd073c3f (diff) | |
| download | rust-16848becaa8a1f812ba5e131cd6d4d4601f63979.tar.gz rust-16848becaa8a1f812ba5e131cd6d4d4601f63979.zip | |
vim: Fix syntax of number literals
To follow [3.5.2.2 Number literals] in the reference manual.
Diffstat (limited to 'src/etc/vim/syntax')
| -rw-r--r-- | src/etc/vim/syntax/rust.vim | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim index ef70383ddac..320f04bb56d 100644 --- a/src/etc/vim/syntax/rust.vim +++ b/src/etc/vim/syntax/rust.vim @@ -39,25 +39,25 @@ syn match rustItemPath "\(\w\|::\)\+" syn region rustString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ -" Number/Float literals -syn match rustNumber display "\<\d\>" -syn match rustNumber display "\<[1-9]\d\+\>" -syn match rustNumber display "\<\d\+\(u\|u8\|u16\|u32\|u64\)\>" -syn match rustNumber display "\<\d\+\(i8\|i16\|i32\|i64\)\>" - -syn match rustHexNumber display "\<0[xX]\x\+\>" -syn match rustHexNumber display "\<0[xX]\x\+_\(u\|u8\|u16\|u32\|u64\)\>" -syn match rustHexNumber display "\<0[xX]\x\+_\(i8\|i16\|i32\|i64\)\>" -syn match rustOctNumber display "\<0\o\+\>" -syn match rustOctNumber display "\<0\o\+_\(u\|u8\|u16\|u32\|u64\)\>" -syn match rustOctNumber display "\<0\o\+_\(i8\|i16\|i32\|i64\)\>" -syn match rustBinNumber display "\<0[bB][01]\+\>" -syn match rustBinNumber display "\<0[bB][01]\+_\(u\|u8\|u16\|u32\|u64\)\>" -syn match rustBinNumber display "\<0[bB][01]\+_\(i8\|i16\|i32\|i64\)\>" - -syn match rustFloat display "\.\d\+\%([eE][+-]\=\d\+\)\=\>" -syn match rustFloat display "\<\d\+[eE][+-]\=\d\+\>" -syn match rustFloat display "\<\d\+\.\d*\%([eE][+-]\=\d\+\)\=" +" Number literals +syn match rustNumber display "\<[0-9][0-9_]*\>" +syn match rustNumber display "\<[0-9][0-9_]*\(u\|u8\|u16\|u32\|u64\)\>" +syn match rustNumber display "\<[0-9][0-9_]*\(i8\|i16\|i32\|i64\)\>" + +syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\>" +syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\(u\|u8\|u16\|u32\|u64\)\>" +syn match rustHexNumber display "\<0x[a-fA-F0-9_]\+\(i8\|i16\|i32\|i64\)\>" +syn match rustBinNumber display "\<0b[01_]\+\>" +syn match rustBinNumber display "\<0b[01_]\+\(u\|u8\|u16\|u32\|u64\)\>" +syn match rustBinNumber display "\<0b[01_]\+\(i8\|i16\|i32\|i64\)\>" + +syn match rustFloat display "\<[0-9][0-9_]*\(f\|f32\|f64\)\>" +syn match rustFloat display "\<[0-9][0-9_]*\([eE][+-]\=[0-9_]\+\)\>" +syn match rustFloat display "\<[0-9][0-9_]*\([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>" +syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\>" +syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\(f\|f32\|f64\)\>" +syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\>" +syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>" syn match rustCharacter "'\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'" @@ -67,7 +67,6 @@ syn region rustComment start="//" skip="\\$" end="$" contains=rustTodo ke syn keyword rustTodo TODO FIXME XXX NB hi def link rustHexNumber rustNumber -hi def link rustOctNumber rustNumber hi def link rustBinNumber rustNumber hi def link rustString String |
