about summary refs log tree commit diff
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2012-08-01 18:37:05 -0700
committerBrian Anderson <andersrb@gmail.com>2012-08-01 18:37:05 -0700
commitba822402ded9821f4e9edfd8e07f1e32a3994497 (patch)
treeea16a48b2d9aa5ab4b54f9f15d09b45fd8b7155c
parent507fba57d1bb82589b22f23ae9dbe8abcee18286 (diff)
parent213291e0c187ecf17476082e5eebc2981a7303b3 (diff)
downloadrust-ba822402ded9821f4e9edfd8e07f1e32a3994497.tar.gz
rust-ba822402ded9821f4e9edfd8e07f1e32a3994497.zip
Merge pull request #3081 from erickt/vim
Tweaks to the rust/vim conceal support
-rw-r--r--src/etc/vim/after/syntax/rust.vim30
-rw-r--r--src/etc/vim/syntax/rust.vim15
2 files changed, 31 insertions, 14 deletions
diff --git a/src/etc/vim/after/syntax/rust.vim b/src/etc/vim/after/syntax/rust.vim
new file mode 100644
index 00000000000..f4c1fc1160a
--- /dev/null
+++ b/src/etc/vim/after/syntax/rust.vim
@@ -0,0 +1,30 @@
+if exists('g:no_rust_conceal') || !has('conceal') || &enc != 'utf-8'
+	finish
+endif
+
+" For those who don't want to see `::`...
+if exists('g:rust_conceal_mod_path')
+	syn match rustNiceOperator "::" conceal cchar=ㆍ
+endif
+
+syn match rustLeftArrowHead contained "-" conceal cchar= 
+syn match rustLeftArrowTail contained "<" conceal cchar=⟵
+syn match rustNiceOperator "<-" contains=rustLeftArrowHead,rustLeftArrowTail
+
+syn match rustRightArrowHead contained ">" conceal cchar= 
+syn match rustRightArrowTail contained "-" conceal cchar=⟶
+syn match rustNiceOperator "->" contains=rustRightArrowHead,rustRightArrowTail
+
+syn match rustLeftRightArrowHead contained ">" conceal cchar= 
+syn match rustLeftRightArrowTail contained "<-" conceal cchar=⟷
+syn match rustNiceOperator "<->" contains=rustLeftRightArrowHead,rustLeftRightArrowTail
+
+syn match rustFatRightArrowHead contained ">" conceal cchar= 
+syn match rustFatRightArrowTail contained "=" conceal cchar=⟹
+syn match rustNiceOperator "=>" contains=rustFatRightArrowHead,rustFatRightArrowTail
+
+syn match rustNiceOperator /\<\@!_\(_*\>\)\@=/ conceal cchar=′
+
+hi link rustNiceOperator Operator
+hi! link Conceal Operator
+setlocal conceallevel=2
diff --git a/src/etc/vim/syntax/rust.vim b/src/etc/vim/syntax/rust.vim
index 247f38b7a8c..145683ef35f 100644
--- a/src/etc/vim/syntax/rust.vim
+++ b/src/etc/vim/syntax/rust.vim
@@ -103,19 +103,6 @@ syn region    rustComment     start="//" skip="\\$" end="$" contains=rustTodo ke
 
 syn keyword   rustTodo        TODO FIXME XXX NB
 
-" For those who don't want to see `::`...
-syn match   rustModPathSep  "::" conceal cchar=ㆍ
-
-syn match rustArrowHead contained ">" conceal cchar= 
-syn match rustArrowTail contained "-" conceal cchar=⟶
-syn match rustArrowFull "->" contains=rustArrowHead,rustArrowTail
-
-syn match rustFatArrowHead contained ">" conceal cchar= 
-syn match rustFatArrowTail contained "=" conceal cchar=⟹
-syn match rustFatArrowFull "=>" contains=rustFatArrowHead,rustFatArrowTail
-
-syn match rustIdentifierPrime /\<\@!_\(_*\>\)\@=/ conceal cchar=′
-
 hi def link rustHexNumber       rustNumber
 hi def link rustBinNumber       rustNumber
 hi def link rustIdentifierPrime rustIdentifier
@@ -136,7 +123,7 @@ hi def link rustMacro         Macro
 hi def link rustType          Type
 hi def link rustTodo          Todo
 hi def link rustAttribute     PreProc
-hi def link rustModPathSep    Conceal
+
 " Other Suggestions:
 " hi rustAssert ctermfg=yellow
 " hi rustMacro ctermfg=magenta