feature: add vim-rust

This commit is contained in:
AJ ONeal
2021-08-15 05:08:30 +00:00
parent 08d05059ec
commit aae813df48
5 changed files with 97 additions and 0 deletions
Symlink
+1
View File
@@ -0,0 +1 @@
vim-rust
+50
View File
@@ -0,0 +1,50 @@
---
title: vim-rust
homepage: https://github.com/rust-lang/rust.vim
tagline: |
vim-rust (rust.vim) adds Rust language support for Vim.
---
To update (replacing the current version) run `webi vim-rust`.
## Cheat Sheet
> `vim-rust` provides integration with `cargo check`, `rustfmt`, and other rust
> tooling.
You'll also need to install [`ALE`](https://webinstall.dev/vim-ale) (part of
[`vim-essentials`](https://webinstall.dev/vim-essentials)) or
[`syntastic`](https://webinstall.dev/vim-syntastic) first.
### How to install and configure by hand
1. Remove the previous version of rust.vim, if any:
```bash
rm -rf ~/.vim/pack/plugins/start/rust.vim
```
2. Install `rust.vim` as a Vim8 package with `git`:
```bash
mkdir -p ~/.vim/pack/plugins/start/
git clone --depth=1 \
https://github.com/rust-lang/rust.vim \
~/.vim/pack/plugins/start/rust.vim
```
3. Create `~/.vim/plugins/rust.vim`, as follows:
```vim
" Reasonable defaults for rust.vim
" run rustfmt on save
let g:rustfmt_autosave = 1
" run cargo check et al
let g:ale_rust_cargo_use_check = 1
let g:ale_rust_cargo_check_tests = 1
let g:ale_rust_cargo_check_examples = 1
```
4. Edit `~/.vimrc` to include the config:
```vim
" Rust: reasonable defaults for rust.vim
source ~/.vim/plugins/rust.vim
```
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/env pwsh
New-Item -Path "$Env:USERPROFILE\.vim\pack\plugins\start" -ItemType Directory -Force | out-null
Remove-Item -Path "$Env:USERPROFILE\.vim\pack\plugins\start\rust.vim" -Recurse -ErrorAction Ignore
& git clone --depth=1 https://github.com/rust-lang/rust.vim "$Env:USERPROFILE\.vim\pack\plugins\start\rust.vim"
+28
View File
@@ -0,0 +1,28 @@
#!/bin/bash
function __init_vim_rust() {
set -e
set -u
mkdir -p "$HOME/.vim/pack/plugins/start"
rm -rf "$HOME/.vim/pack/plugins/start/rust.vim"
git clone --depth=1 https://github.com/rust-lang/rust.vim "$HOME/.vim/pack/plugins/start/rust.vim"
if [ -f "$HOME/.vimrc" ]; then
set +e
if ! grep 'source.*rust.vim' -r ~/.vimrc; then
mkdir -p ~/.vim/plugins
printf '\n" Rust: reasonable defaults from webinstall.dev/vim-rust\n' >> ~/.vimrc
printf 'source ~/.vim/plugins/rust.vim\n' >> ~/.vimrc
fi
set -e
fi
if ! [ -f "$HOME/.vim/plugins/rust.vim" ]; then
mkdir -p ~/.vim/plugins
WEBI_HOST=${WEBI_HOST:-"https://webinstall.dev"}
curl -fsS -o ~/.vim/plugins/rust.vim "$WEBI_HOST/packages/vim-rust/rust.vim"
fi
}
__init_vim_rust
+12
View File
@@ -0,0 +1,12 @@
""""""""""""""""""""""""""""""""
" Rust-specific defaults "
" from webinstall.dev/vim-rust "
""""""""""""""""""""""""""""""""
" run rustfmt on save
let g:rustfmt_autosave = 1
" run cargo check for linting
let g:ale_rust_cargo_use_check = 1
let g:ale_rust_cargo_check_tests = 1
let g:ale_rust_cargo_check_examples = 1