aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | main: fix bug where thread pool isn't joinedAndrew Gallant2020-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | Pointed out here: https://github.com/rust-analyzer/rust-analyzer/pull/4133#issuecomment-619386272
| * | | main: eagerly prime goto-definition cachesAndrew Gallant2020-04-252-11/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes RA more aggressive about eagerly priming the caches. In particular, this fixes an issue where even after RA was done priming its caches, an initial goto-definition request would have very high latency. This fixes that issue by requesting syntax highlighting for everything. It is presumed that this is a tad wasteful, but not overly so. This commit also tweaks the logic that determines when the cache is primed. Namely, instead of just priming it when the state is loaded initially, we attempt to prime it whenever some state changes. This fixes an issue where if a modification notification is seen before cache priming is done, it would stop the cache priming early.
* | | | Merge #4135bors[bot]2020-04-2527-148/+132
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4135: Rename StructField -> Field r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Rename StructField -> FieldAleksey Kladov2020-04-2527-148/+132
|/ / / /
* | | | Merge #4134bors[bot]2020-04-252-0/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4134: Special case for empty comments in doc comment kind r=matklad a=edwin0cheng Part of #4103 Fix `ui/empty/empty-comment.rs macros` Co-authored-by: Edwin Cheng <[email protected]>
| * | | | Fix whitespacesEdwin Cheng2020-04-251-1/+1
| | | | |
| * | | | Special case for empty commentsEdwin Cheng2020-04-252-0/+16
| | |/ / | |/| |
* | | | Merge #4125bors[bot]2020-04-255-9/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4125: Avoid lossy OsString conversions r=matklad a=lnicola This is a bit invasive, and perhaps for not much benefit since non-UTF-8 environment variables don't work anyway. Co-authored-by: LaurenÈ›iu Nicola <[email protected]>
| * | | | Avoid lossy OsString conversionsLaurențiu Nicola2020-04-255-9/+14
| | | | |
* | | | | Merge #4131bors[bot]2020-04-25439-26996/+26954
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4131: Switch to text-size r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | text-size 1.0.0Aleksey Kladov2020-04-256-12/+16
| | | | |
| * | | | Switch to TryFromAleksey Kladov2020-04-2513-53/+63
| | | | |
| * | | | CleanupsAleksey Kladov2020-04-254-24/+18
| | | | |
| * | | | Convert tests to text-sizeAleksey Kladov2020-04-25376-26521/+26489
| | | | |
| * | | | Convert code to text-sizeAleksey Kladov2020-04-2575-456/+438
|/ / / /
* | | | Merge #4128bors[bot]2020-04-241-1/+52
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4128: Include correct item path for variant completions r=matklad a=jonas-schievink The test would previously suggest `E::V`, which is not enough to name the variant as the enum is in a module. Now it correctly suggests the full path `m::E::V`. Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Include correct item path for variant completionsJonas Schievink2020-04-241-1/+52
| |/ / /
* | | | Merge #4129bors[bot]2020-04-241-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4129: Don't print cargo version to stdout, breaking everything r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Don't print cargo version to stdout, breaking everythingAleksey Kladov2020-04-241-1/+1
|/ / / /
| | | |
| \ \ \
*-. \ \ \ Merge #3998 #4006bors[bot]2020-04-2412-95/+940
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3998: Make add_function generate functions in other modules via qualified path r=matklad a=TimoFreiberg Additional feature for #3639 - [x] Add tests for paths with more segments - [x] Make generating the function in another file work - [x] Add `pub` or `pub(crate)` to the generated function if it's generated in a different module - [x] Make the assist jump to the edited file - [x] Enable file support in the `check_assist` helper 4006: Syntax highlighting for format strings r=matklad a=ltentrup I have an implementation for syntax highlighting for format string modifiers `{}`. The first commit refactors the changes in #3826 into a separate struct. The second commit implements the highlighting: first we check in a macro call whether the macro is a format macro from `std`. In this case, we remember the format string node. If we encounter this node during syntax highlighting, we check for the format modifiers `{}` using regular expressions. There are a few places which I am not quite sure: - Is the way I extract the macro names correct? - Is the `HighlightTag::Attribute` suitable for highlighting the `{}`? Let me know what you think, any feedback is welcome! Co-authored-by: Timo Freiberg <[email protected]> Co-authored-by: Leander Tentrup <[email protected]> Co-authored-by: Leander Tentrup <[email protected]>
| | * | | | Adapt format specifier highlighting to support escaped squences and unicode ↵Leander Tentrup2020-04-224-144/+209
| | | | | | | | | | | | | | | | | | | | | | | | identifiers
| | * | | | Apply suggestions from code reviewLeander Tentrup2020-04-222-34/+32
| | | | | | | | | | | | | | | | | | | | | | | | Co-Authored-By: bjorn3 <[email protected]>
| | * | | | Implement syntax highlighting for format stringsLeander Tentrup2020-04-204-3/+532
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Detailed changes: 1) Implement a lexer for string literals that divides the string in format specifier `{}` including the format specifier modifier. 2) Adapt syntax highlighting to add ranges for the detected sequences. 3) Add a test case for the format string syntax highlighting.
| | * | | | Refactor flattening logic for highlighted syntax rangesLeander Tentrup2020-04-181-54/+85
| | | | | |
| * | | | | Add `pub(crate)` to functions generated in other moduleTimo Freiberg2020-04-212-46/+27
| | | | | |
| * | | | | Jump to sourceChanges in other filesTimo Freiberg2020-04-213-16/+15
| | | | | |
| * | | | | Add target file information to AssistActionTimo Freiberg2020-04-214-16/+82
| | | | | |
| * | | | | Make add_function generate functions in other modules via qualified pathTimo Freiberg2020-04-214-29/+205
| | | | | |
* | | | | | Merge #4127bors[bot]2020-04-241-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4127: More helpful error message if toolchain is not in PATH r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | More helpful error message if toolchain is not in PATHAleksey Kladov2020-04-241-0/+5
| | |_|/ / / | |/| | | |
* | | | | | Merge #4126bors[bot]2020-04-241-6/+38
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4126: Don't omit methods with self from path completion r=matklad a=jonas-schievink It's sometimes useful to create a reference to these items (eg. for use as a function pointer). Perhaps these should be given lower score though, if that's possible? Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | Don't omit methods with self from path completionJonas Schievink2020-04-241-6/+38
|/ / / / /
* | | | | Merge #4105bors[bot]2020-04-245-0/+595
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4105: Adds attribute completions (#3941) r=matklad a=jrvidal I've hacked together some basic completions for a few builtin attributes. * I have no idea what `CompletionItemKind` we should set for them. * There's plenty of fancy stuff we could do by detecting the item the attribute is being added to. Nothing of that here. * Maybe we could complete as soon as you type `#` or `#!`? I'm not sure what info exactly we can dump on `CompletionContext` and what we should query during the completion calculation itself. I've assumed adding an `is_attribute` field is OK, since it allows to discard the completion quickly if it doesn't apply. Later we inspect the AST to find out whether it is an inner attribute or not. Co-authored-by: Roberto Vidal <[email protected]>
| * | | | Adds attribute completions (#3941)Roberto Vidal2020-04-245-0/+595
|/ / / /
* | | | Merge #4121bors[bot]2020-04-245-48/+59
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4121: Better label for macros completion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Better label for macros completionAleksey Kladov2020-04-245-48/+59
|/ / /
* | | Merge #4101bors[bot]2020-04-242-12/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4101: Panic proc macro srv if read request failed r=matklad a=edwin0cheng This PR fixed a bug when the rust-analyzer is killed suddenly, the `rust-analyzer proc-macro` will become stale. Co-authored-by: Edwin Cheng <[email protected]>
| * | | Refactor a bitEdwin Cheng2020-04-241-8/+3
| | | |
| * | | Bubble up errorEdwin Cheng2020-04-232-10/+7
| | | |
| * | | Fix typoEdwin Cheng2020-04-231-1/+1
| | | |
| * | | Panic proc macro srv if read request failedEdwin Cheng2020-04-231-2/+3
| | | |
* | | | Merge #4118bors[bot]2020-04-241-10/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4118: :arrow_up: crates (to bust the caches) r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | :arrow_up: crates (to bust the caches)Aleksey Kladov2020-04-241-10/+10
|/ / / /
* | | | Merge #4117bors[bot]2020-04-242-0/+14
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4117: Honor snippet capability r=matklad a=matklad closes #2518 bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Honor snippet capabilityAleksey Kladov2020-04-242-0/+14
| | | | | | | | | | | | | | | | | | | | closes #2518
* | | | | Merge #4116bors[bot]2020-04-249-63/+141
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4116: Make sure that adding a snippet requires corresponding capability r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Make sure that adding a snippet requires corresponding capabilityAleksey Kladov2020-04-246-44/+107
| | | | |
| * | | | Introduce internal snippet capAleksey Kladov2020-04-242-0/+14
| | | | |
| * | | | Move CompletionConfig to a separate moduleAleksey Kladov2020-04-242-19/+20
| | | | |
* | | | | Merge #4114bors[bot]2020-04-2410-333/+329
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4114: Refactor completion sorting r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>