about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Morgan <me@chrismorgan.info>2014-07-04 10:45:36 +1000
committerChris Morgan <me@chrismorgan.info>2014-07-21 13:13:51 +1000
commitca6ffac4e4683705b895e368375103315ca0e1ca (patch)
treed72c649148801bd679213d1d82cb4e1e09f7833c
parentf15d6d28396e8700b6c3f2704204a2769e710403 (diff)
downloadrust-ca6ffac4e4683705b895e368375103315ca0e1ca.tar.gz
rust-ca6ffac4e4683705b895e368375103315ca0e1ca.zip
Highlight $(…)* and $foo in Vim.
-rw-r--r--src/etc/vim/syntax/rust.vim7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim
index 1b75538d2f7..5f89f562d7f 100644
--- a/src/etc/vim/syntax/rust.vim
+++ b/src/etc/vim/syntax/rust.vim
@@ -60,6 +60,10 @@ syn region    rustBoxPlacementBalance start="(" end=")" containedin=rustBoxPlace
 syn region    rustBoxPlacementBalance start="\[" end="\]" containedin=rustBoxPlacement transparent
 " {} are handled by rustFoldBraces
 
+syn region rustMacroRepeat matchgroup=rustMacroRepeatDelimiters start="$(" end=")" contains=TOP nextgroup=rustMacroRepeatCount
+syn match rustMacroRepeatCount ".\?[*+]" contained
+syn match rustMacroVariable "$\w\+"
+
 " Reserved (but not yet used) keywords {{{2
 syn keyword   rustReservedKeyword alignof be do offsetof priv pure sizeof typeof unsized yield
 
@@ -233,6 +237,9 @@ hi def link rustBinNumber       rustNumber
 hi def link rustIdentifierPrime rustIdentifier
 hi def link rustTrait           rustType
 
+hi def link rustMacroRepeatCount   rustMacroRepeatDelimiters
+hi def link rustMacroRepeatDelimiters   Macro
+hi def link rustMacroVariable Define
 hi def link rustSigil         StorageClass
 hi def link rustEscape        Special
 hi def link rustEscapeUnicode rustEscape