vim-cargo
vim-cargo copied to clipboard
Fix error running various commands.
This should be fixing errors like:
error: a bin target must be available for `cargo run`
:!cargo run check
shell returned 101
when running, for example,
:CargoCheck
Odd, this works perfectly fine on my machine. What steps do I have to take to reproduce this?
I can confirm that this fixes the same problems I've been having.
macOS Sierra 10.12.6 MacVim 8.0.1633 cargo 1.26.0
Not sure why it fixes it though 🤷♂️
@timonv Try on a codebase that doesn't have a bin target? E.g. a library or embedded project.
I'm working on embedded stuff and was about to try vim-cargo
for the first time but it's pretty useless due to this. Why is :CargoBuild
trying to execute run
anyway?
There's a naming conflict with rust.vim
.
$ grep -r "cargo#run" *
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoBench call cargo#run('bench ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoBuild call cargo#run('build ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoCheck call cargo#run('check ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoClean call cargo#run('clean ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoDoc call cargo#run('doc ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoRun call cargo#run('run ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoTest call cargo#run('test ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -nargs=* CargoUpdate call cargo#run('update ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:com! -complete=file -nargs=+ CargoNew call cargo#run('new ' . <q-args>)
plugged/vim-cargo/plugin/cargo.vim:func! cargo#run(cmd)
plugged/rust.vim/plugin/cargo.vim:command! -nargs=* Crun call cargo#run(<q-args>)
plugged/rust.vim/plugin/cargo.vim:command! -nargs=* Cruntarget call cargo#runtarget(<q-args>)
plugged/rust.vim/autoload/cargo.vim:function! cargo#run(args)
plugged/rust.vim/autoload/cargo.vim:function! cargo#runtarget(args)
plugged/rust.vim/autoload/cargo.vim: call cargo#run("--example " . shellescape(l:name) . " " . a:args)
plugged/rust.vim/autoload/cargo.vim: call cargo#run("--bin " . shellescape(l:name) . " " . a:args)
plugged/rust.vim/autoload/cargo.vim: call cargo#run(a:args)
$