summaryrefslogtreecommitdiffstats
path: root/compiler/cargo.vim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/cargo.vim')
-rw-r--r--compiler/cargo.vim19
1 files changed, 14 insertions, 5 deletions
diff --git a/compiler/cargo.vim b/compiler/cargo.vim
index 160d214e..8e3c6212 100644
--- a/compiler/cargo.vim
+++ b/compiler/cargo.vim
@@ -4,21 +4,25 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
" Compiler: Cargo Compiler
" Maintainer: Damien Radtke <damienradtke@gmail.com>
" Latest Revision: 2014 Sep 24
+" For bugs, patches and license go to https://github.com/rust-lang/rust.vim
if exists('current_compiler')
- finish
+ finish
endif
runtime compiler/rustc.vim
let current_compiler = "cargo"
+let s:save_cpo = &cpo
+set cpo&vim
+
if exists(':CompilerSet') != 2
- command -nargs=* CompilerSet setlocal <args>
+ command -nargs=* CompilerSet setlocal <args>
endif
if exists('g:cargo_makeprg_params')
- execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*'
+ execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*'
else
- CompilerSet makeprg=cargo\ $*
+ CompilerSet makeprg=cargo\ $*
endif
" Ignore general cargo progress messages
@@ -27,6 +31,11 @@ CompilerSet errorformat+=
\%-G%\\s%#Compiling%.%#,
\%-G%\\s%#Finished%.%#,
\%-G%\\s%#error:\ Could\ not\ compile\ %.%#,
- \%-G%\\s%#To\ learn\ more\\,%.%#
+ \%-G%\\s%#To\ learn\ more\\,%.%#,
+ \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#,
+ \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
endif