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