Skip to content

Commit 09b324f

Browse files
authored
Merge pull request #240 from t-mochizuki/add_ft_rust_8.1.0026
Add ft_rust
2 parents 2f098a9 + 27f8a63 commit 09b324f

File tree

3 files changed

+483
-1
lines changed

3 files changed

+483
-1
lines changed

doc/ft_rust.jax

Lines changed: 246 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,246 @@
1+
*ft_rust.txt* Filetype plugin for Rust
2+
3+
==============================================================================
4+
内容 *rust*
5+
6+
1. 前書き |rust-intro|
7+
2. 設定 |rust-settings|
8+
3. コマンド |rust-commands|
9+
4. マッピング |rust-mappings|
10+
11+
==============================================================================
12+
前書き *rust-intro*
13+
14+
このプラグインは Rust ファイルタイプのシンタックスとサポート機能を提供します。
15+
16+
==============================================================================
17+
設定 *rust-settings*
18+
19+
このプラグインは振る舞いを変える vimrc で定義できる少数の変数を持ちます。
20+
21+
*g:rustc_path*
22+
g:rustc_path~
23+
このオプションを |:RustRun||:RustExpand| の中で使う rustc へのパス
24+
に設定します。未設定なら、"rustc" は $PATH の中で見つけられるでしょう:
25+
>
26+
let g:rustc_path = $HOME."/bin/rustc"
27+
<
28+
29+
*g:rustc_makeprg_no_percent*
30+
g:rustc_makeprg_no_percent~
31+
'makeprg' の初期値を "rustc %" の代わりに "rustc" に保つためにこのオプ
32+
ションを 1 に設定します: >
33+
let g:rustc_makeprg_no_percent = 1
34+
<
35+
36+
*g:rust_conceal*
37+
g:rust_conceal~
38+
基本的な |conceal| サポートを有効にするにはこのオプションを設定します:
39+
>
40+
let g:rust_conceal = 1
41+
<
42+
43+
*g:rust_conceal_mod_path*
44+
g:rust_conceal_mod_path~
45+
パスをつなげるトークン "::" の |conceal| を有効にするにはこのオプショ
46+
ンを設定します: >
47+
let g:rust_conceal_mod_path = 1
48+
<
49+
50+
*g:rust_conceal_pub*
51+
g:rust_conceal_pub~
52+
"pub" トークンの |conceal| を有効にするにはこのオプションを設定します:
53+
>
54+
let g:rust_conceal_pub = 1
55+
<
56+
57+
*g:rust_recommended_style*
58+
g:rust_recommended_style~
59+
rust 標準ライブラリのスタイル慣習 (すなわち、インデントに 4 つスペース
60+
を使い 'textwidth' に 99 を設定します) に従うインデントと textwidth の
61+
設定を有効にするためにはこのオプションを設定します。デフォルトではこの
62+
オプションは有効です。無効にするには: >
63+
let g:rust_recommended_style = 0
64+
<
65+
66+
*g:rust_fold*
67+
g:rust_fold~
68+
|folding| を有効にするにはこのオプションを設定します: >
69+
let g:rust_fold = 1
70+
<
71+
値 効果 ~
72+
0 折り畳みなし
73+
1 中括弧ブロックは折り畳まれます。デフォルトではすべての
74+
折り畳みは開かれます。
75+
2 中括弧ブロックは折り畳まれます。'foldlevel' はグローバ
76+
ル値のままです (デフォルトではすべての折り畳みは閉じら
77+
れます)。
78+
79+
*g:rust_bang_comment_leader*
80+
g:rust_bang_comment_leader~
81+
/*! シンタックスを使った複数行 doc コメントの先頭を保つためにこのオプ
82+
ションを 1 に設定します: >
83+
let g:rust_bang_comment_leader = 1
84+
<
85+
86+
*g:ftplugin_rust_source_path*
87+
g:ftplugin_rust_source_path~
88+
このオプションを Rust ソースファイルの 'path' に前置されるべきパスに設
89+
定します: >
90+
let g:ftplugin_rust_source_path = $HOME.'/dev/rust'
91+
<
92+
93+
*g:rustfmt_command*
94+
g:rustfmt_command~
95+
このオプションを $PATH の中の 'rustfmt' 実行ファイルの名前に設定しま
96+
す。指定されないなら 'rustfmt' になります: >
97+
let g:rustfmt_command = 'rustfmt'
98+
<
99+
*g:rustfmt_autosave*
100+
g:rustfmt_autosave~
101+
バッファを保存したときに自動的に |:RustFmt| を実行するためにこのオプ
102+
ションを 1 に設定します。指定されないなら 0 になります: >
103+
let g:rustfmt_autosave = 0
104+
<
105+
*g:rustfmt_fail_silently*
106+
g:rustfmt_fail_silently~
107+
'rustfmt' がエラーを |location-list| に入力するのを妨げるためにこのオ
108+
プションを 1 に設定します。指定されないなら 0 になります: >
109+
let g:rustfmt_fail_silently = 0
110+
<
111+
*g:rustfmt_options*
112+
g:rustfmt_options~
113+
このオプションを 'rustfmt' に渡すためのオプションの文字列に設定します。
114+
write-mode はすでに 'overwrite' に設定されています。指定されないなら
115+
'' になります: >
116+
let g:rustfmt_options = ''
117+
<
118+
119+
*g:rust_playpen_url*
120+
g:rust_playpen_url~
121+
使用する playpen の URL を上書きするためにこのオプションを設定します:
122+
>
123+
let g:rust_playpen_url = 'https://play.rust-lang.org/'
124+
<
125+
126+
*g:rust_shortener_url*
127+
g:rust_shortener_url~
128+
短縮 URL サービスの URL を上書きするためにこのオプションを設定します:
129+
>
130+
let g:rust_shortener_url = 'https://is.gd/'
131+
<
132+
133+
134+
==============================================================================
135+
コマンド *rust-commands*
136+
137+
:RustRun [args] *:RustRun*
138+
:RustRun! [rustc-args] [--] [args]
139+
カレントファイルをコンパイルして実行します。カレントファイルの
140+
変更が保存されていないなら、|:update| を使って最初に保存される
141+
でしょう。カレントファイルが無名バッファなら、最初に一時ファイ
142+
ルに書き込まれるでしょう。コンパイルされたバイナリはいつも一時
143+
ディレクトリに置かれますが、カレントディレクトリから実行されま
144+
す。
145+
146+
|:RustRun| に与えられた引数はコンパイルされたバイナリに渡され
147+
るでしょう。
148+
149+
! が指定されるなら、代わりに引数は rustc に渡されます。"--" 引
150+
数はバイナリに渡される引数から rustc の引数を分けるでしょう。
151+
152+
|g:rustc_path| が定義されるなら、rustc へのパスのように使われ
153+
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
154+
なされます。
155+
156+
:RustExpand [args] *:RustExpand*
157+
:RustExpand! [TYPE] [args]
158+
--pretty を使ってカレントファイルを展開して新しいウィンドウに
159+
その結果を表示します。カレントファイルの変更が保存されていない
160+
なら、|:update| を使って最初に保存されるでしょう。カレントファ
161+
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
162+
う。
163+
164+
|:RustExpand| に与えられた引数は rustc に渡されるでしょう。こ
165+
れは様々な --cfg 設定を指定するのに大いに向いています。
166+
167+
! が指定されるなら、最初の引数は rustc --pretty に渡すための展
168+
開種類です。それ以外の場合は "expanded" になるでしょう。
169+
170+
|g:rustc_path| が定義されるなら、rustc へのパスのように使われ
171+
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
172+
なされます。
173+
174+
:RustEmitIr [args] *:RustEmitIr*
175+
カレントファイルを LLVM IR にコンパイルして新しいウィンドウに
176+
その結果を表示します。カレントファイルの変更が保存されていない
177+
なら、|:update| を使って最初に保存されるでしょう。カレントファ
178+
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
179+
う。
180+
181+
|:RustEmitIr| に与えられた引数は rustc に渡されるでしょう。
182+
183+
|g:rustc_path| が定義されるなら、rustc へのパスのように使われ
184+
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
185+
なされます。
186+
187+
:RustEmitAsm [args] *:RustEmitAsm*
188+
カレントファイルをアセンブリにコンパイルして新しいウィンドウに
189+
その結果を表示します。カレントファイルの変更が保存されていない
190+
なら、|:update| を使って最初に保存されるでしょう。カレントファ
191+
イルが無名バッファなら、最初に一時ファイルに書き込まれるでしょ
192+
う。
193+
194+
|:RustEmitAsm| に与えられた引数は rustc に渡されるでしょう。
195+
196+
|g:rustc_path| が定義されるなら、rustc へのパスのように使われ
197+
ます。それ以外の場合は rustc が $PATH の中で見つけられうると見
198+
なされます。
199+
200+
:RustPlay *:RustPlay*
201+
このコマンドは web-api.vim
202+
(https://github.com/mattn/webapi-vim で得ることができます) を
203+
インストールしている場合にだけ機能するでしょう。選択範囲、また
204+
は何も選択されていないなら、カレントバッファの全体を Rust
205+
playpen に送信して、playpen への短縮 URL とメッセージを出力し
206+
ます。
207+
208+
|g:rust_playpen_url| は playpen へのベース URL で、デフォルト
209+
では "https://play.rust-lang.org/" です。
210+
211+
|g:rust_shortener_url| は短縮サービスのベース URL で、デフォル
212+
トでは "https://is.gd/" です。
213+
214+
:RustFmt *:RustFmt*
215+
カレントバッファで |g:rustfmt_command| を実行します。
216+
|g:rustfmt_options| が設定されているなら、それらは実行可能ファ
217+
イルに渡されるでしょう。
218+
219+
|g:rustfmt_fail_silently| が 0 (デフォルト) なら
220+
|g:rustfmt_command| で得たエラーを |location-list| に入力する
221+
でしょう。|g:rustfmt_fail_silently| が 1 に設定されるなら
222+
|location-list| に入力しないでしょう。
223+
224+
:RustFmtRange *:RustFmtRange*
225+
選択された範囲で |g:rustfmt_command| を実行します。その他の情
226+
報は |:RustFmt| を参照してください。
227+
228+
==============================================================================
229+
マッピング *rust-mappings*
230+
231+
このプラグインはぶら下がりインデントを支援するような |[[||]]| のマッピング
232+
を定義します。
233+
234+
少数の他のマッピングも持ちます:
235+
236+
*rust_<D-r>*
237+
<D-r> 引数なしで |:RustRun| を実行します。
238+
Note: このバインディングは MacVim でのみ利用可能です。
239+
240+
*rust_<D-R>*
241+
<D-R> 前回の呼び出しに与えられた引数を使った |:RustRun|! を
242+
コマンドラインに入力しますが、実行しません。
243+
Note: このバインディングは MacVim でのみ利用可能です。
244+
245+
==============================================================================
246+
vim:tw=78:sw=4:noet:ts=8:ft=help:norl:

0 commit comments

Comments
 (0)