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 |
Doug Kearns | 408281e | 2024-04-04 22:00:58 +0200 | [diff] [blame] | 5 | " 2024 Apr 03 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 | |
| 19 | if exists(':CompilerSet') != 2 |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 20 | command -nargs=* CompilerSet setlocal <args> |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 21 | endif |
| 22 | |
| 23 | if exists('g:cargo_makeprg_params') |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 24 | execute 'CompilerSet makeprg=cargo\ '.escape(g:cargo_makeprg_params, ' \|"').'\ $*' |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 25 | else |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 26 | CompilerSet makeprg=cargo\ $* |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 27 | endif |
| 28 | |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 29 | augroup RustCargoQuickFixHooks |
| 30 | autocmd! |
| 31 | autocmd QuickFixCmdPre make call cargo#quickfix#CmdPre() |
| 32 | autocmd QuickFixCmdPost make call cargo#quickfix#CmdPost() |
| 33 | augroup END |
| 34 | |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 35 | " Ignore general cargo progress messages |
| 36 | CompilerSet errorformat+= |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 37 | \%-G%\\s%#Downloading%.%#, |
| 38 | \%-G%\\s%#Checking%.%#, |
| 39 | \%-G%\\s%#Compiling%.%#, |
| 40 | \%-G%\\s%#Finished%.%#, |
| 41 | \%-G%\\s%#error:\ Could\ not\ compile\ %.%#, |
| 42 | \%-G%\\s%#To\ learn\ more\\,%.%#, |
| 43 | \%-G%\\s%#For\ more\ information\ about\ this\ error\\,%.%#, |
| 44 | \%-Gnote:\ Run\ with\ \`RUST_BACKTRACE=%.%#, |
| 45 | \%.%#panicked\ at\ \\'%m\\'\\,\ %f:%l:%c |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 46 | |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 47 | " vint: -ProhibitAbbreviationOption |
Bram Moolenaar | 3c2881d | 2017-03-21 19:18:29 +0100 | [diff] [blame] | 48 | let &cpo = s:save_cpo |
| 49 | unlet s:save_cpo |
Gregory Anders | fc93594 | 2023-09-12 13:23:38 -0500 | [diff] [blame] | 50 | " vint: +ProhibitAbbreviationOption |
| 51 | |
| 52 | " vim: set et sw=4 sts=4 ts=8: |