|
1 | 1 | //! Feature: completion with imports-on-the-fly
|
2 | 2 | //!
|
3 | 3 | //! When completing names in the current scope, proposes additional imports from other modules or crates,
|
4 |
| -//! if they can be qualified in the scope and their name contains all symbols from the completion input. |
| 4 | +//! if they can be qualified in the scope, and their name contains all symbols from the completion input. |
5 | 5 | //!
|
6 | 6 | //! To be considered applicable, the name must contain all input symbols in the given order, not necessarily adjacent.
|
7 |
| -//! If any input symbol is not lowercased, the name must contain all symbols in exact case; otherwise the contaning is checked case-insensitively. |
| 7 | +//! If any input symbol is not lowercased, the name must contain all symbols in exact case; otherwise the containing is checked case-insensitively. |
8 | 8 | //!
|
9 | 9 | //! ```
|
10 | 10 | //! fn main() {
|
|
23 | 23 | //! ```
|
24 | 24 | //!
|
25 | 25 | //! Also completes associated items, that require trait imports.
|
26 |
| -//! If any unresolved and/or partially-qualified path predeces the input, it will be taken into account. |
27 |
| -//! Currently, only the imports with their import path ending with the whole qialifier will be proposed |
| 26 | +//! If any unresolved and/or partially-qualified path precedes the input, it will be taken into account. |
| 27 | +//! Currently, only the imports with their import path ending with the whole qualifier will be proposed |
28 | 28 | //! (no fuzzy matching for qualifier).
|
29 | 29 | //!
|
30 | 30 | //! ```
|
|
61 | 61 | //! }
|
62 | 62 | //! ```
|
63 | 63 | //!
|
64 |
| -//! NOTE: currently, if an assoc item comes from a trait that's not currently imported and it also has an unresolved and/or partially-qualified path, |
| 64 | +//! NOTE: currently, if an assoc item comes from a trait that's not currently imported, and it also has an unresolved and/or partially-qualified path, |
65 | 65 | //! no imports will be proposed.
|
66 | 66 | //!
|
67 | 67 | //! .Fuzzy search details
|
68 | 68 | //!
|
69 | 69 | //! To avoid an excessive amount of the results returned, completion input is checked for inclusion in the names only
|
70 | 70 | //! (i.e. in `HashMap` in the `std::collections::HashMap` path).
|
71 |
| -//! For the same reasons, avoids searching for any path imports for inputs with their length less that 2 symbols |
| 71 | +//! For the same reasons, avoids searching for any path imports for inputs with their length less than 2 symbols |
72 | 72 | //! (but shows all associated items for any input length).
|
73 | 73 | //!
|
74 | 74 | //! .Import configuration
|
|
79 | 79 | //! .LSP and performance implications
|
80 | 80 | //!
|
81 | 81 | //! The feature is enabled only if the LSP client supports LSP protocol version 3.16+ and reports the `additionalTextEdits`
|
82 |
| -//! (case sensitive) resolve client capability in its client capabilities. |
| 82 | +//! (case-sensitive) resolve client capability in its client capabilities. |
83 | 83 | //! This way the server is able to defer the costly computations, doing them for a selected completion item only.
|
84 | 84 | //! For clients with no such support, all edits have to be calculated on the completion request, including the fuzzy search completion ones,
|
85 | 85 | //! which might be slow ergo the feature is automatically disabled.
|
86 | 86 | //!
|
87 | 87 | //! .Feature toggle
|
88 | 88 | //!
|
89 |
| -//! The feature can be forcefully turned off in the settings with the `rust-analyzer.completion.enableAutoimportCompletions` flag. |
90 |
| -//! Note that having this flag set to `true` does not guarantee that the feature is enabled: your client needs to have the corredponding |
| 89 | +//! The feature can be forcefully turned off in the settings with the `rust-analyzer.completion.autoimport.enable` flag. |
| 90 | +//! Note that having this flag set to `true` does not guarantee that the feature is enabled: your client needs to have the corresponding |
91 | 91 | //! capability enabled.
|
92 | 92 |
|
93 | 93 | use ide_db::helpers::{
|
|
0 commit comments