diff options
| author | Tycho Sci <tychosci@gmail.com> | 2012-05-03 17:12:46 +0900 |
|---|---|---|
| committer | Tycho Sci <tychosci@gmail.com> | 2012-05-03 17:12:46 +0900 |
| commit | 1e44e04a9dc0f801492ea1630d6a42e9df07af99 (patch) | |
| tree | 7bcf64095600e51cc7b6211830f64b21eb808dd3 /src/etc | |
| parent | 94b0edc606112ddc71283bdcb5cb826dcbc3d167 (diff) | |
| download | rust-1e44e04a9dc0f801492ea1630d6a42e9df07af99.tar.gz rust-1e44e04a9dc0f801492ea1630d6a42e9df07af99.zip | |
vim: Update syntax for number/float literals
Diffstat (limited to 'src/etc')
| -rw-r--r-- | src/etc/vim/syntax/rust.vim | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim index e89ad554c99..81936b29d08 100644 --- a/src/etc/vim/syntax/rust.vim +++ b/src/etc/vim/syntax/rust.vim @@ -39,20 +39,25 @@ syn match rustItemPath "\(\w\|::\)\+" syn region rustString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ -"integer number, or floating point number without a dot and with "f". -syn case ignore -syn match rustNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" -"hex number -syn match rustNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" -syn match rustFloat display contained "\d\+f" -"floating point number, with dot, optional exponent -syn match rustFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" -"floating point number, starting with a dot, optional exponent -syn match rustFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" -"floating point number, without dot, with exponent -syn match rustFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" - -syn case match +" 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\+\)\=" syn match rustCharacter "'\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'" @@ -61,6 +66,10 @@ 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 hi def link rustCharacter Character hi def link rustNumber Number |
