diff --git a/README.md b/README.md index 88ebdeef..ddcde243 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,15 @@ ## Description -This is a vim plugin that provides [Rust][r] file detection, syntax highlighting, and (optional) autoformatting. +This is a Vim plugin that provides [Rust][r] file detection, syntax highlighting, formatting, +[Syntastic][syn] integration, and more. ## Installation ### Using [Vundle][v] 1. Add `Plugin 'rust-lang/rust.vim'` to `~/.vimrc` -2. `vim +PluginInstall +qall` +2. `:PluginInstall` or `$ vim +PluginInstall +qall` *Note:* Vundle will not automatically detect Rust files properly if `filetype on` is executed before Vundle. Please check the [quickstart][vqs] for more @@ -21,28 +22,65 @@ details. git clone --depth=1 https://github.com/rust-lang/rust.vim.git ~/.vim/bundle/rust.vim ``` -[r]: https://rust-lang.org -[v]: https://github.com/gmarik/vundle -[vqs]: https://github.com/gmarik/vundle#quick-start -[p]: https://github.com/tpope/vim-pathogen -[nb]: https://github.com/Shougo/neobundle.vim - ### Using [NeoBundle][nb] 1. Add `NeoBundle 'rust-lang/rust.vim'` to `~/.vimrc` 2. Re-open vim or execute `:source ~/.vimrc` -## Enabling autoformat +### Using [vim-plug][vp] + +1. Add `Plug 'rust-lang/rust.vim'` to `~/.vimrc` +2. `:PlugInstall` or `$ vim +PlugInstall +qall` + +## Features + +### Error checking with [Syntastic][syn] + +`rust.vim` automatically registers `rustc` as a syntax checker +with [Syntastic][syn]. Check Syntastic's documentation for +information on how to customize its behaviour. + +### Formatting with [rustfmt][rfmt] + +The `:RustFmt` command will format your code with +[rustfmt][rfmt] if installed. -This plugin can optionally format your code using [rustfmt][rfmt] every time a -buffer is written. Simple put `let g:rustfmt_autosave = 1` in your `.vimrc`. +Placing `let g:rustfmt_autosave = 1` in your `~/.vimrc` will +enable automatic running of `:RustFmt` when you save a buffer. + +Do `:help :RustFmt` for further formatting help and customization +options. + +### [Playpen][pp] integration + +*Note:* This feature requires [webapi-vim][wav] to be installed. + +The `:RustPlay` command will send the current selection, or if +nothing is selected the current buffer, to the [Rust playpen][pp]. ## Help Further help can be found in the documentation with `:help rust`. +Detailed help can be found in the documentation with `:help rust`. +Helptags (`:help helptags`) need to be generated for this plugin +in order to navigate the help. Most plugin managers will do this +automatically, but check their documentation if that is not the case. + ## License Like Rust, rust.vim is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE and -LICENSE-MIT for details. +LICENSE-MIT for details. + +[r]: https://rust-lang.org +[v]: https://github.com/gmarik/vundle +[vqs]: https://github.com/gmarik/vundle#quick-start +[p]: https://github.com/tpope/vim-pathogen +[nb]: https://github.com/Shougo/neobundle.vim +[vp]: https://github.com/junegunn/vim-plug +[rfmt]: https://github.com/rust-lang-nursery/rustfmt +[syn]: https://github.com/scrooloose/syntastic +[wav]: https://github.com/mattn/webapi-vim +[pp]: https://play.rust-lang.org/ + diff --git a/doc/rust.txt b/doc/rust.txt index 7a4091da..5621e37c 100644 --- a/doc/rust.txt +++ b/doc/rust.txt @@ -118,7 +118,7 @@ g:rustfmt_options~ Set this option to a string of options to pass to 'rustfmt'. The write-mode is already set to 'overwrite'. If not specified it defaults to '' : > - let g:rustmft_options = '' + let g:rustfmt_options = '' < *g:rust_playpen_url*