178 lines
7 KiB
Text
178 lines
7 KiB
Text
*rust.txt* Filetype plugin for Rust
|
|
|
|
==============================================================================
|
|
CONTENTS *rust* *ft-rust*
|
|
|
|
1. Introduction |rust-intro|
|
|
2. Settings |rust-settings|
|
|
3. Commands |rust-commands|
|
|
4. Mappings |rust-mappings|
|
|
|
|
==============================================================================
|
|
INTRODUCTION *rust-intro*
|
|
|
|
This plugin provides syntax and supporting functionality for the Rust
|
|
filetype.
|
|
|
|
==============================================================================
|
|
SETTINGS *rust-settings*
|
|
|
|
This plugin has a few variables you can define in your vimrc that change the
|
|
behavior of the plugin.
|
|
|
|
*g:rustc_path*
|
|
g:rustc_path~
|
|
Set this option to the path to rustc for use in the |:RustRun| and
|
|
|:RustExpand| commands. If unset, "rustc" will be located in $PATH: >
|
|
let g:rustc_path = $HOME."/bin/rustc"
|
|
<
|
|
|
|
*g:rustc_makeprg_no_percent*
|
|
g:rustc_makeprg_no_percent~
|
|
Set this option to 1 to have 'makeprg' default to "rustc" instead of
|
|
"rustc %": >
|
|
let g:rustc_makeprg_no_percent = 1
|
|
<
|
|
|
|
*g:rust_conceal*
|
|
g:rust_conceal~
|
|
Set this option to turn on the basic |conceal| support: >
|
|
let g:rust_conceal = 1
|
|
<
|
|
|
|
*g:rust_conceal_mod_path*
|
|
g:rust_conceal_mod_path~
|
|
Set this option to turn on |conceal| for the path connecting token
|
|
"::": >
|
|
let g:rust_conceal_mod_path = 1
|
|
<
|
|
|
|
*g:rust_conceal_pub*
|
|
g:rust_conceal_pub~
|
|
Set this option to turn on |conceal| for the "pub" token: >
|
|
let g:rust_conceal_pub = 1
|
|
<
|
|
|
|
*g:rust_recommended_style*
|
|
g:rust_recommended_style~
|
|
Set this option to enable vim indentation and textwidth settings to
|
|
conform to style conventions of the rust standard library (i.e. use 4
|
|
spaces for indents and sets 'textwidth' to 99). This option is enabled
|
|
by default. To disable it: >
|
|
let g:rust_recommended_style = 0
|
|
<
|
|
|
|
*g:rust_fold*
|
|
g:rust_fold~
|
|
Set this option to turn on |folding|: >
|
|
let g:rust_fold = 1
|
|
<
|
|
Value Effect ~
|
|
0 No folding
|
|
1 Braced blocks are folded. All folds are open by
|
|
default.
|
|
2 Braced blocks are folded. 'foldlevel' is left at the
|
|
global value (all folds are closed by default).
|
|
|
|
*g:rust_bang_comment_leader*
|
|
g:rust_bang_comment_leader~
|
|
Set this option to 1 to preserve the leader on multi-line doc comments
|
|
using the /*! syntax: >
|
|
let g:rust_bang_comment_leader = 1
|
|
<
|
|
|
|
*g:ftplugin_rust_source_path*
|
|
g:ftplugin_rust_source_path~
|
|
Set this option to a path that should be prepended to 'path' for Rust
|
|
source files: >
|
|
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
|
|
<
|
|
|
|
*g:cargo_manifest_name*
|
|
g:cargo_manifest_name~
|
|
Set this option to the name of the manifest file for your projects. If
|
|
not specified it defaults to 'Cargo.toml' : >
|
|
let g:cargo_manifest_name = 'Cargo.toml'
|
|
<
|
|
|
|
==============================================================================
|
|
COMMANDS *rust-commands*
|
|
|
|
:RustRun [args] *:RustRun*
|
|
:RustRun! [rustc-args] [--] [args]
|
|
Compiles and runs the current file. If it has unsaved changes,
|
|
it will be saved first using |:update|. If the current file is
|
|
an unnamed buffer, it will be written to a temporary file
|
|
first. The compiled binary is always placed in a temporary
|
|
directory, but is run from the current directory.
|
|
|
|
The arguments given to |:RustRun| will be passed to the
|
|
compiled binary.
|
|
|
|
If ! is specified, the arguments are passed to rustc instead.
|
|
A "--" argument will separate the rustc arguments from the
|
|
arguments passed to the binary.
|
|
|
|
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
Otherwise it is assumed rustc can be found in $PATH.
|
|
|
|
:RustExpand [args] *:RustExpand*
|
|
:RustExpand! [TYPE] [args]
|
|
Expands the current file using --pretty and displays the
|
|
results in a new split. If the current file has unsaved
|
|
changes, it will be saved first using |:update|. If the
|
|
current file is an unnamed buffer, it will be written to a
|
|
temporary file first.
|
|
|
|
The arguments given to |:RustExpand| will be passed to rustc.
|
|
This is largely intended for specifying various --cfg
|
|
configurations.
|
|
|
|
If ! is specified, the first argument is the expansion type to
|
|
pass to rustc --pretty. Otherwise it will default to
|
|
"expanded".
|
|
|
|
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
Otherwise it is assumed rustc can be found in $PATH.
|
|
|
|
:RustEmitIr [args] *:RustEmitIr*
|
|
Compiles the current file to LLVM IR and displays the results
|
|
in a new split. If the current file has unsaved changes, it
|
|
will be saved first using |:update|. If the current file is an
|
|
unnamed buffer, it will be written to a temporary file first.
|
|
|
|
The arguments given to |:RustEmitIr| will be passed to rustc.
|
|
|
|
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
Otherwise it is assumed rustc can be found in $PATH.
|
|
|
|
:RustEmitAsm [args] *:RustEmitAsm*
|
|
Compiles the current file to assembly and displays the results
|
|
in a new split. If the current file has unsaved changes, it
|
|
will be saved first using |:update|. If the current file is an
|
|
unnamed buffer, it will be written to a temporary file first.
|
|
|
|
The arguments given to |:RustEmitAsm| will be passed to rustc.
|
|
|
|
If |g:rustc_path| is defined, it is used as the path to rustc.
|
|
Otherwise it is assumed rustc can be found in $PATH.
|
|
|
|
==============================================================================
|
|
MAPPINGS *rust-mappings*
|
|
|
|
This plugin defines mappings for |[[| and |]]| to support hanging indents.
|
|
|
|
It also has a few other mappings:
|
|
|
|
*rust_<D-r>*
|
|
<D-r> Executes |:RustRun| with no arguments.
|
|
Note: This binding is only available in MacVim.
|
|
|
|
*rust_<D-R>*
|
|
<D-R> Populates the command line with |:RustRun|! using the
|
|
arguments given to the last invocation, but does not
|
|
execute it.
|
|
Note: This binding is only available in MacVim.
|
|
|
|
==============================================================================
|
|
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
|