*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02 This is documentation for the Rust filetype plugin. ============================================================================== CONTENTS *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:rustfmt_command* g:rustfmt_command~ Set this option to the name of the 'rustfmt' executable in your $PATH. If not specified it defaults to 'rustfmt' : > let g:rustfmt_command = 'rustfmt' < *g:rustfmt_autosave* g:rustfmt_autosave~ Set this option to 1 to run |:RustFmt| automatically when saving a buffer. If not specified it defaults to 0 : > let g:rustfmt_autosave = 0 < *g:rustfmt_fail_silently* g:rustfmt_fail_silently~ Set this option to 1 to prevent 'rustfmt' from populating the |location-list| with errors. If not specified it defaults to 0: > let g:rustfmt_fail_silently = 0 < *g:rustfmt_options* 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:rustfmt_options = '' < *g:rust_playpen_url* g:rust_playpen_url~ Set this option to override the URL for the playpen to use: > let g:rust_playpen_url = 'https://play.rust-lang.org/' < *g:rust_shortener_url* g:rust_shortener_url~ Set this option to override the URL for the URL shortener: > let g:rust_shortener_url = 'https://is.gd/' < ============================================================================== 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. :RustPlay *:RustPlay* This command will only work if you have web-api.vim installed (available at https://github.com/mattn/webapi-vim). It sends the current selection, or if nothing is selected, the entirety of the current buffer to the Rust playpen, and emits a message with the shortened URL to the playpen. |g:rust_playpen_url| is the base URL to the playpen, by default "https://play.rust-lang.org/". |g:rust_shortener_url| is the base URL for the shortener, by default "https://is.gd/" :RustFmt *:RustFmt* Runs |g:rustfmt_command| on the current buffer. If |g:rustfmt_options| is set then those will be passed to the executable. If |g:rustfmt_fail_silently| is 0 (the default) then it will populate the |location-list| with the errors from |g:rustfmt_command|. If |g:rustfmt_fail_silently| is set to 1 then it will not populate the |location-list|. :RustFmtRange *:RustFmtRange* Runs |g:rustfmt_command| with selected range. See |:RustFmt| for any other information. ============================================================================== 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:ts=8:noet:ft=help:norl:
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
README.Debian | File | 324 B | 0644 |
|
arabic.txt | File | 11.62 KB | 0644 |
|
autocmd.txt | File | 68.18 KB | 0644 |
|
change.txt | File | 74.89 KB | 0644 |
|
channel.txt | File | 47.41 KB | 0644 |
|
cmdline.txt | File | 46.88 KB | 0644 |
|
debug.txt | File | 6.73 KB | 0644 |
|
debugger.txt | File | 5.74 KB | 0644 |
|
develop.txt | File | 22.16 KB | 0644 |
|
diff.txt | File | 16.43 KB | 0644 |
|
digraph.txt | File | 60.43 KB | 0644 |
|
editing.txt | File | 71.36 KB | 0644 |
|
eval.txt | File | 480.89 KB | 0644 |
|
farsi.txt | File | 523 B | 0644 |
|
filetype.txt | File | 26.61 KB | 0644 |
|
fold.txt | File | 23.13 KB | 0644 |
|
ft_ada.txt | File | 17.82 KB | 0644 |
|
ft_rust.txt | File | 9.37 KB | 0644 |
|
ft_sql.txt | File | 29.98 KB | 0644 |
|
gui.txt | File | 50.91 KB | 0644 |
|
gui_w32.txt | File | 18.91 KB | 0644 |
|
gui_x11.txt | File | 29.08 KB | 0644 |
|
hangulin.txt | File | 3.22 KB | 0644 |
|
hebrew.txt | File | 5.53 KB | 0644 |
|
help.txt | File | 8.69 KB | 0644 |
|
help.txt.vim-tiny | File | 1.4 KB | 0644 |
|
helphelp.txt | File | 14.09 KB | 0644 |
|
howto.txt | File | 2.85 KB | 0644 |
|
if_cscop.txt | File | 18.87 KB | 0644 |
|
if_lua.txt | File | 15.23 KB | 0644 |
|
if_mzsch.txt | File | 11.68 KB | 0644 |
|
if_ole.txt | File | 7.19 KB | 0644 |
|
if_perl.txt | File | 11.01 KB | 0644 |
|
if_pyth.txt | File | 37.44 KB | 0644 |
|
if_ruby.txt | File | 8.33 KB | 0644 |
|
if_sniff.txt | File | 271 B | 0644 |
|
if_tcl.txt | File | 22.43 KB | 0644 |
|
indent.txt | File | 40.72 KB | 0644 |
|
index.txt | File | 77.7 KB | 0644 |
|
insert.txt | File | 82.33 KB | 0644 |
|
intro.txt | File | 37.94 KB | 0644 |
|
map.txt | File | 64.79 KB | 0644 |
|
mbyte.txt | File | 58.25 KB | 0644 |
|
message.txt | File | 30.5 KB | 0644 |
|
mlang.txt | File | 7.68 KB | 0644 |
|
motion.txt | File | 49.89 KB | 0644 |
|
netbeans.txt | File | 36.69 KB | 0644 |
|
options.txt | File | 378.37 KB | 0644 |
|
os_390.txt | File | 4.64 KB | 0644 |
|
os_amiga.txt | File | 5.34 KB | 0644 |
|
os_beos.txt | File | 10.73 KB | 0644 |
|
os_dos.txt | File | 11.74 KB | 0644 |
|
os_mac.txt | File | 6.7 KB | 0644 |
|
os_mint.txt | File | 1.37 KB | 0644 |
|
os_msdos.txt | File | 523 B | 0644 |
|
os_os2.txt | File | 299 B | 0644 |
|
os_qnx.txt | File | 3.98 KB | 0644 |
|
os_risc.txt | File | 328 B | 0644 |
|
os_unix.txt | File | 2.54 KB | 0644 |
|
os_vms.txt | File | 31.79 KB | 0644 |
|
os_win32.txt | File | 13.04 KB | 0644 |
|
pattern.txt | File | 58.29 KB | 0644 |
|
pi_getscript.txt | File | 20.59 KB | 0644 |
|
pi_gzip.txt | File | 1.26 KB | 0644 |
|
pi_logipat.txt | File | 4.09 KB | 0644 |
|
pi_netrw.txt | File | 172.43 KB | 0644 |
|
pi_paren.txt | File | 2.22 KB | 0644 |
|
pi_spec.txt | File | 4.03 KB | 0644 |
|
pi_tar.txt | File | 6.51 KB | 0644 |
|
pi_vimball.txt | File | 11.58 KB | 0644 |
|
pi_zip.txt | File | 6.88 KB | 0644 |
|
popup.txt | File | 35.68 KB | 0644 |
|
print.txt | File | 30.48 KB | 0644 |
|
quickfix.txt | File | 77.23 KB | 0644 |
|
quickref.txt | File | 70.29 KB | 0644 |
|
quotes.txt | File | 12.45 KB | 0644 |
|
recover.txt | File | 10.45 KB | 0644 |
|
remote.txt | File | 8.22 KB | 0644 |
|
repeat.txt | File | 40.06 KB | 0644 |
|
rileft.txt | File | 4.82 KB | 0644 |
|
russian.txt | File | 2.95 KB | 0644 |
|
scroll.txt | File | 13.46 KB | 0644 |
|
sign.txt | File | 24.34 KB | 0644 |
|
spell.txt | File | 62.38 KB | 0644 |
|
sponsor.txt | File | 7.03 KB | 0644 |
|
starting.txt | File | 71.58 KB | 0644 |
|
syntax.txt | File | 216.25 KB | 0644 |
|
tabpage.txt | File | 16.5 KB | 0644 |
|
tags | File | 337.32 KB | 0644 |
|
tags.vim-tiny | File | 30 B | 0644 |
|
tagsrch.txt | File | 38.22 KB | 0644 |
|
term.txt | File | 45.81 KB | 0644 |
|
terminal.txt | File | 52.45 KB | 0644 |
|
testing.txt | File | 12.63 KB | 0644 |
|
textprop.txt | File | 13.54 KB | 0644 |
|
tips.txt | File | 19.8 KB | 0644 |
|
todo.txt | File | 301.55 KB | 0644 |
|
uganda.txt | File | 13.7 KB | 0644 |
|
undo.txt | File | 16.2 KB | 0644 |
|
usr_01.txt | File | 6.93 KB | 0644 |
|
usr_02.txt | File | 23.77 KB | 0644 |
|
usr_03.txt | File | 23.06 KB | 0644 |
|
usr_04.txt | File | 18.64 KB | 0644 |
|
usr_05.txt | File | 26.42 KB | 0644 |
|
usr_06.txt | File | 9.39 KB | 0644 |
|
usr_07.txt | File | 15.61 KB | 0644 |
|
usr_08.txt | File | 18.92 KB | 0644 |
|
usr_09.txt | File | 11.23 KB | 0644 |
|
usr_10.txt | File | 28.5 KB | 0644 |
|
usr_11.txt | File | 12.62 KB | 0644 |
|
usr_12.txt | File | 13.11 KB | 0644 |
|
usr_20.txt | File | 13.39 KB | 0644 |
|
usr_21.txt | File | 18.02 KB | 0644 |
|
usr_22.txt | File | 14.65 KB | 0644 |
|
usr_23.txt | File | 12.41 KB | 0644 |
|
usr_24.txt | File | 20.38 KB | 0644 |
|
usr_25.txt | File | 18.73 KB | 0644 |
|
usr_26.txt | File | 8.07 KB | 0644 |
|
usr_27.txt | File | 17.31 KB | 0644 |
|
usr_28.txt | File | 15.64 KB | 0644 |
|
usr_29.txt | File | 19.65 KB | 0644 |
|
usr_30.txt | File | 22.13 KB | 0644 |
|
usr_31.txt | File | 10.16 KB | 0644 |
|
usr_32.txt | File | 5.25 KB | 0644 |
|
usr_40.txt | File | 22.65 KB | 0644 |
|
usr_41.txt | File | 91.23 KB | 0644 |
|
usr_42.txt | File | 13.53 KB | 0644 |
|
usr_43.txt | File | 7.24 KB | 0644 |
|
usr_44.txt | File | 28.53 KB | 0644 |
|
usr_45.txt | File | 17.24 KB | 0644 |
|
usr_90.txt | File | 17.17 KB | 0644 |
|
usr_toc.txt | File | 9.05 KB | 0644 |
|
various.txt | File | 29.62 KB | 0644 |
|
version4.txt | File | 13.58 KB | 0644 |
|
version5.txt | File | 301.31 KB | 0644 |
|
version6.txt | File | 563.53 KB | 0644 |
|
version7.txt | File | 658.96 KB | 0644 |
|
version8.txt | File | 1.26 MB | 0644 |
|
vi_diff.txt | File | 56.27 KB | 0644 |
|
vim2html.pl | File | 4.41 KB | 0755 |
|
visual.txt | File | 21.26 KB | 0644 |
|
windows.txt | File | 53.64 KB | 0644 |
|
workshop.txt | File | 371 B | 0644 |
|