diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dev/architecture.md | 2 | ||||
-rw-r--r-- | docs/user/features.md | 4 | ||||
-rw-r--r-- | docs/user/readme.adoc | 23 |
3 files changed, 23 insertions, 6 deletions
diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md index 0343b6c81..3a337c574 100644 --- a/docs/dev/architecture.md +++ b/docs/dev/architecture.md | |||
@@ -56,7 +56,7 @@ In particular, `cargo xtask codegen` generates: | |||
56 | 2. [`ast/generated`](https://github.com/rust-analyzer/rust-analyzer/blob/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_syntax/src/ast/generated.rs) | 56 | 2. [`ast/generated`](https://github.com/rust-analyzer/rust-analyzer/blob/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_syntax/src/ast/generated.rs) |
57 | -- AST data structure. | 57 | -- AST data structure. |
58 | 58 | ||
59 | .3 [`doc_tests/generated`](https://github.com/rust-analyzer/rust-analyzer/blob/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_assists/src/doc_tests/generated.rs), | 59 | 3. [`doc_tests/generated`](https://github.com/rust-analyzer/rust-analyzer/blob/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_assists/src/doc_tests/generated.rs), |
60 | [`test_data/parser/inline`](https://github.com/rust-analyzer/rust-analyzer/tree/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_syntax/test_data/parser/inline) | 60 | [`test_data/parser/inline`](https://github.com/rust-analyzer/rust-analyzer/tree/a0be39296d2925972cacd9fbf8b5fb258fad6947/crates/ra_syntax/test_data/parser/inline) |
61 | -- tests for assists and the parser. | 61 | -- tests for assists and the parser. |
62 | 62 | ||
diff --git a/docs/user/features.md b/docs/user/features.md index 56d2969fd..b9a365fc1 100644 --- a/docs/user/features.md +++ b/docs/user/features.md | |||
@@ -140,8 +140,8 @@ space or `;` depending on the return type of the function. | |||
140 | When completing a function call, `()` are automatically inserted. If a function | 140 | When completing a function call, `()` are automatically inserted. If a function |
141 | takes arguments, the cursor is positioned inside the parenthesis. | 141 | takes arguments, the cursor is positioned inside the parenthesis. |
142 | 142 | ||
143 | There are postifx completions, which can be triggerd by typing something like | 143 | There are postfix completions, which can be triggered by typing something like |
144 | `foo().if`. The word after `.` determines postifx completion. Possible variants are: | 144 | `foo().if`. The word after `.` determines postfix completion. Possible variants are: |
145 | 145 | ||
146 | - `expr.if` -> `if expr {}` | 146 | - `expr.if` -> `if expr {}` |
147 | - `expr.match` -> `match expr {}` | 147 | - `expr.match` -> `match expr {}` |
diff --git a/docs/user/readme.adoc b/docs/user/readme.adoc index 76d065d35..54342026b 100644 --- a/docs/user/readme.adoc +++ b/docs/user/readme.adoc | |||
@@ -169,13 +169,15 @@ The are several LSP client implementations for vim: | |||
169 | 169 | ||
170 | 1. Install coc.nvim by following the instructions at | 170 | 1. Install coc.nvim by following the instructions at |
171 | https://github.com/neoclide/coc.nvim[coc.nvim] | 171 | https://github.com/neoclide/coc.nvim[coc.nvim] |
172 | (nodejs required) | 172 | (Node.js required) |
173 | 2. Run `:CocInstall coc-rust-analyzer` to install | 173 | 2. Run `:CocInstall coc-rust-analyzer` to install |
174 | https://github.com/fannheyward/coc-rust-analyzer[coc-rust-analyzer], | 174 | https://github.com/fannheyward/coc-rust-analyzer[coc-rust-analyzer], |
175 | this extension implements _most_ of the features supported in the VSCode extension: | 175 | this extension implements _most_ of the features supported in the VSCode extension: |
176 | * automatically install and upgrade stable/nightly releases | ||
176 | * same configurations as VSCode extension, `rust-analyzer.serverPath`, `rust-analyzer.cargo.features` etc. | 177 | * same configurations as VSCode extension, `rust-analyzer.serverPath`, `rust-analyzer.cargo.features` etc. |
177 | * same commands too, `rust-analyzer.analyzerStatus`, `rust-analyzer.ssr` etc. | 178 | * same commands too, `rust-analyzer.analyzerStatus`, `rust-analyzer.ssr` etc. |
178 | * highlighting and inlay_hints are not implemented yet | 179 | * inlay hints for method chaining support, _Neovim Only_ |
180 | * semantic highlighting is not implemented yet | ||
179 | 181 | ||
180 | ==== LanguageClient-neovim | 182 | ==== LanguageClient-neovim |
181 | 183 | ||
@@ -195,7 +197,7 @@ let g:LanguageClient_serverCommands = { | |||
195 | ==== YouCompleteMe | 197 | ==== YouCompleteMe |
196 | 198 | ||
197 | 1. Install YouCompleteMe by following the instructions | 199 | 1. Install YouCompleteMe by following the instructions |
198 | https://ycm-core.github.io/YouCompleteMe/#rust-semantic-completion[here] | 200 | https://github.com/ycm-core/lsp-examples#rust-rust-analyzer[here] |
199 | 201 | ||
200 | 2. Configure by adding this to your vim/neovim config file (replacing the existing Rust-specific line if it exists): | 202 | 2. Configure by adding this to your vim/neovim config file (replacing the existing Rust-specific line if it exists): |
201 | + | 203 | + |
@@ -212,6 +214,21 @@ let g:ycm_language_server = | |||
212 | \ ] | 214 | \ ] |
213 | ---- | 215 | ---- |
214 | 216 | ||
217 | ==== ALE | ||
218 | |||
219 | To add the LSP server to https://github.com/dense-analysis/ale[ale]: | ||
220 | |||
221 | [source,vim] | ||
222 | ---- | ||
223 | call ale#linter#Define('rust', { | ||
224 | \ 'name': 'rust-analyzer', | ||
225 | \ 'lsp': 'stdio', | ||
226 | \ 'executable': 'rust-analyzer', | ||
227 | \ 'command': '%e', | ||
228 | \ 'project_root': '.', | ||
229 | \}) | ||
230 | ---- | ||
231 | |||
215 | ==== nvim-lsp | 232 | ==== nvim-lsp |
216 | 233 | ||
217 | NeoVim 0.5 (not yet released) has built-in language server support. | 234 | NeoVim 0.5 (not yet released) has built-in language server support. |