diff options
| author | bors <bors@rust-lang.org> | 2013-07-09 08:43:32 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-07-09 08:43:32 -0700 |
| commit | 0a1fc4561ca37163b6bb29aaa1715b2264df40b7 (patch) | |
| tree | d72f4c1a7ee5ae30e7f6ce784893f7b15b1c1b5d /src/etc/vim/syntax/rust.vim | |
| parent | 62bb843e3239844f25faff59065fa28c59a3ffac (diff) | |
| parent | 121ae82be0c008e342bcae4e776f14671a2807b7 (diff) | |
| download | rust-0a1fc4561ca37163b6bb29aaa1715b2264df40b7.tar.gz rust-0a1fc4561ca37163b6bb29aaa1715b2264df40b7.zip | |
auto merge of #7665 : chris-morgan/rust/better-vim-support, r=cmr
General tweaks for Vim support, especially proper indenting.
Diffstat (limited to 'src/etc/vim/syntax/rust.vim')
| -rw-r--r-- | src/etc/vim/syntax/rust.vim | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim index f40bed8640d..dfcdb11e768 100644 --- a/src/etc/vim/syntax/rust.vim +++ b/src/etc/vim/syntax/rust.vim @@ -2,7 +2,8 @@ " Language: Rust " Maintainer: Patrick Walton <pcwalton@mozilla.com> " Maintainer: Ben Blum <bblum@cs.cmu.edu> -" Last Change: 2013 Jun 14 +" Maintainer: Chris Morgan <me@chrismorgan.info> +" Last Change: 2013 Jul 10 if version < 600 syntax clear @@ -13,8 +14,8 @@ endif syn keyword rustConditional match if else syn keyword rustOperator as -syn match rustAssert "\<assert\(\w\)*!" -syn match rustFail "\<fail\(\w\)*!" +syn match rustAssert "\<assert\(\w\)*!" contained +syn match rustFail "\<fail\(\w\)*!" contained syn keyword rustKeyword break copy do extern syn keyword rustKeyword for if impl let log syn keyword rustKeyword copy do extern @@ -90,7 +91,7 @@ syn match rustFormat display "%%" contained syn region rustString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=rustTodo,rustFormat syn region rustAttribute start="#\[" end="\]" contains=rustString,rustDeriving -syn region rustDeriving start="deriving(" end=")" contains=rustTrait +syn region rustDeriving start="deriving(" end=")" contained contains=rustTrait " Number literals syn match rustNumber display "\<[0-9][0-9_]*\>" @@ -116,13 +117,18 @@ syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9 syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" syn match rustCharacter "'\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'" -syn region rustCommentDoc start="/\*[\*!]" end="\*/" -syn region rustCommentDoc start="//[/!]" skip="\\$" end="$" keepend -syn match rustComment "/\*\*/" -syn region rustComment start="/\*\([^\*!]\|$\)" end="\*/" contains=rustTodo -syn region rustComment start="//\([^/!]\|$\)" skip="\\$" end="$" contains=rustTodo keepend +syn region rustComment start="/\*" end="\*/" contains=rustTodo +syn region rustComment start="//" skip="\\$" end="$" contains=rustTodo keepend +syn region rustCommentDoc start="/\*\%(!\|\*/\@!\)" end="\*/" contains=rustTodo +syn region rustCommentDoc start="//[/!]" skip="\\$" end="$" contains=rustTodo keepend -syn keyword rustTodo contained TODO FIXME XXX NB +syn keyword rustTodo contained TODO FIXME XXX NB NOTE + +" Trivial folding rules to begin with. +" TODO: use the AST to make really good folding +syn region rustFoldBraces start="{" end="}" transparent fold +" If you wish to enable this, setlocal foldmethod=syntax +" It's not enabled by default as it would drive some people mad. hi def link rustHexNumber rustNumber hi def link rustBinNumber rustNumber @@ -142,10 +148,13 @@ hi def link rustKeyword Keyword hi def link rustConditional Conditional hi def link rustIdentifier Identifier hi def link rustModPath Include +hi def link rustModPathSep Delimiter hi def link rustFuncName Function hi def link rustFuncCall Function hi def link rustCommentDoc SpecialComment hi def link rustComment Comment +hi def link rustAssert PreCondit +hi def link rustFail PreCondit hi def link rustMacro Macro hi def link rustType Type hi def link rustTodo Todo @@ -160,7 +169,6 @@ hi def link rustLifetime Special " hi rustAssert ctermfg=yellow " hi rustFail ctermfg=red " hi rustMacro ctermfg=magenta -" hi rustModPathSep ctermfg=grey syn sync minlines=200 syn sync maxlines=500 |
