Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 1 | " Vim compiler file |
| 2 | " Compiler: Cargo Compiler |
| 3 | " Maintainer: Damien Radtke <damienradtke@gmail.com> |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 4 | " Latest Revision: 2023-09-11 |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 5 | " For bugs, patches and license go to https://github.com/rust-lang/rust.vim |
| 6 | |
| 7 | if exists('current_compiler') |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 8 | finish |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 9 | endif |
| 10 | runtime compiler/rustc.vim |
| 11 | let current_compiler = "cargo" |
| 12 | |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 13 | " vint: -ProhibitAbbreviationOption |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 14 | let s:save_cpo = &cpo |
| 15 | set cpo&vim |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 16 | " vint: +ProhibitAbbreviationOption |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 17 | |
| 18 | if exists(':CompilerSet') != 2 |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 19 | command -nargs=* CompilerSet setlocal <args> |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 20 | endif |
| 21 | |
| 22 | if exists('g:cargo_makeprg_params') |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 23 | execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 24 | else |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 25 | CompilerSet makeprg=cargo\ $* |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 26 | endif |
| 27 | |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 28 | augroup RustCargoQuickFixHooks |
| 29 | autocmd! |
| 30 | autocmd QuickFixCmdPre make call cargo#quickfix#CmdPre() |
| 31 | autocmd QuickFixCmdPost make call cargo#quickfix#CmdPost() |
| 32 | augroup END |
| 33 | |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 34 | " Ignore general cargo progress messages |
| 35 | CompilerSet errorformat+= |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 36 | \%-G%\\s%#Downloading%.%#, |
| 37 | \%-G%\\s%#Checking%.%#, |
| 38 | \%-G%\\s%#Compiling%.%#, |
| 39 | \%-G%\\s%#Finished%.%#, |
| 40 | \%-G%\\s%#error:\ Could\ not\ compile\ %.%#, |
| 41 | \%-G%\\s%#To\ learn\ more\\,%.%#, |
| 42 | \%-G%\\s%#For\ more\ information\ about\ this\ error\\,%.%#, |
| 43 | \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#, |
| 44 | \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 45 | |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 46 | " vint: -ProhibitAbbreviationOption |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 47 | let &cpo = s:save_cpo |
| 48 | unlet s:save_cpo |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 49 | " vint: +ProhibitAbbreviationOption |
| 50 | |
| 51 | " vim: set et sw=4 sts=4 ts=8: |