@@ -43,11 +43,16 @@ If you have enough free disk space and you would like to be able to run `x`
43
43
commands while rust-analyzer runs in the background, you can also add
44
44
` --build-dir build-rust-analyzer ` to the ` overrideCommand ` to avoid x locking.
45
45
46
+ Running ` ./x setup editor ` will prompt you to create a project-local LSP config
47
+ file for one of the supported editors. You can also create the config file as a
48
+ step of running ` ./x setup ` .
49
+
46
50
### Visual Studio Code
47
51
48
- Running ` ./x setup vscode ` will prompt you to create a ` .vscode/settings.json `
49
- file which will configure Visual Studio code. The recommended ` rust-analyzer `
50
- settings live at [ ` src/etc/rust_analyzer_settings.json ` ] .
52
+ Selecting ` vscode ` in ` ./x setup editor ` will prompt you to create a
53
+ ` .vscode/settings.json ` file which will configure Visual Studio code. The
54
+ recommended ` rust-analyzer ` settings live at
55
+ [ ` src/etc/rust_analyzer_settings.json ` ] .
51
56
52
57
If running ` ./x check ` on save is inconvenient, in VS Code you can use a [ Build
53
58
Task] instead:
@@ -83,13 +88,14 @@ here](https://rust-analyzer.github.io/manual.html#nvim-lsp).
83
88
84
89
1 . First install the plugin. This can be done by following the steps in the
85
90
README.
86
- 2 . Run ` x setup ` , which will have a prompt for it to create a
91
+ 2 . Run ` ./ x setup editor ` , and select ` vscode ` to create a
87
92
` .vscode/settings.json ` file. ` neoconf ` is able to read and update
88
93
rust-analyzer settings automatically when the project is opened when this
89
94
file is detected.
90
95
91
- If you're running ` coc.nvim ` , you can use ` :CocLocalConfig ` to create a
92
- ` .vim/coc-settings.json ` , and copy the settings from
96
+ If you're using ` coc.nvim ` , you can run ` ./x setup editor ` and select ` vim ` to
97
+ create a ` .vim/coc-settings.json ` . The settings can be edited with
98
+ ` :CocLocalConfig ` . The recommended settings live at
93
99
[ ` src/etc/rust_analyzer_settings.json ` ] .
94
100
95
101
Another way is without a plugin, and creating your own logic in your
@@ -111,9 +117,10 @@ Emacs provides support for rust-analyzer with project-local configuration
111
117
through [ Eglot] ( https://www.gnu.org/software/emacs/manual/html_node/eglot/ ) .
112
118
Steps for setting up Eglot with rust-analyzer can be [ found
113
119
here] ( https://rust-analyzer.github.io/manual.html#eglot ) .
114
- Having set up Emacs & Eglot for Rust development in general, you can use the
115
- configuration for rustc provided in [ ` src/etc/rust_analyzer_eglot.el ` ] .
116
- Simply copy the provided file to ` .dir-locals.el ` in the project root directory.
120
+ Having set up Emacs & Eglot for Rust development in general, you can run
121
+ ` ./x setup editor ` and select ` emacs ` , which will prompt you to create
122
+ ` .dir-locals.el ` with the recommended configuration for Eglot.
123
+ The recommended settings live at [ ` src/etc/rust_analyzer_eglot.el ` ] .
117
124
For more information on project-specific Eglot configuration, consult [ the
118
125
manual] ( https://www.gnu.org/software/emacs/manual/html_node/eglot/Project_002dspecific-configuration.html ) .
119
126
@@ -122,14 +129,13 @@ manual](https://www.gnu.org/software/emacs/manual/html_node/eglot/Project_002dsp
122
129
Helix comes with built-in LSP and rust-analyzer support.
123
130
It can be configured through ` languages.toml ` , as described
124
131
[ here] ( https://docs.helix-editor.com/languages.html ) .
125
- You can use the configuration for rustc provided in
126
- [ ` src/etc/rust_analyzer_helix.toml ` ] .
127
- Simply copy the provided file to ` .helix/languages.toml ` in the project root
128
- directory.
132
+ You can run ` ./x setup editor ` and select ` helix ` , which will prompt you to
133
+ create ` languages.toml ` with the recommended configuration for Helix. The
134
+ recommended settings live at [ ` src/etc/rust_analyzer_helix.toml ` ] .
129
135
130
136
## Check, check, and check again
131
137
132
- When doing simple refactorings , it can be useful to run ` ./x check `
138
+ When doing simple refactoring , it can be useful to run ` ./x check `
133
139
continuously. If you set up ` rust-analyzer ` as described above, this will be
134
140
done for you every time you save a file. Here you are just checking that the
135
141
compiler can ** build** , but often that is all you need (e.g., when renaming a
@@ -355,3 +361,5 @@ Adding this to your shell's startup script (e.g. `.bashrc`) will automatically
355
361
load this completion.
356
362
357
363
[ `src/etc/rust_analyzer_settings.json` ] : https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_settings.json
364
+ [ `src/etc/rust_analyzer_eglot.el` ] : https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_eglot.el
365
+ [ `src/etc/rust_analyzer_helix.toml` ] : https://github.com/rust-lang/rust/blob/master/src/etc/rust_analyzer_helix.toml
0 commit comments