about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Morgan <me@chrismorgan.info>2014-10-14 11:49:12 +1100
committerChris Morgan <me@chrismorgan.info>2014-10-14 11:49:12 +1100
commit81da141b7d56ad1136c9beac0bb3a2d9059586af (patch)
tree5bf27aad5c579c3beec00ed5ec312b7c0615d575
parentadd8a85905e5b352145c8dc26ee7d4f166bfa905 (diff)
downloadrust-81da141b7d56ad1136c9beac0bb3a2d9059586af.tar.gz
rust-81da141b7d56ad1136c9beac0bb3a2d9059586af.zip
Highlight `extern crate "foo" as bar;` properly.
-rw-r--r--src/etc/vim/syntax/rust.vim4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim
index 2d0e6c46e5e..b89f2fb285d 100644
--- a/src/etc/vim/syntax/rust.vim
+++ b/src/etc/vim/syntax/rust.vim
@@ -34,7 +34,9 @@ syn keyword   rustStorage     mut ref static const
 
 syn keyword   rustInvalidBareKeyword crate
 
-syn keyword   rustExternCrate crate contained nextgroup=rustIdentifier skipwhite skipempty
+syn keyword   rustExternCrate crate contained nextgroup=rustIdentifier,rustExternCrateString skipwhite skipempty
+" This is to get the `bar` part of `extern crate "foo" as bar;` highlighting.
+syn match   rustExternCrateString /".*"\_s*as/ contained nextgroup=rustIdentifier skipwhite transparent skipempty contains=rustString,rustOperator
 syn keyword   rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty
 
 syn match     rustIdentifier  contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained