aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Remove :expr from placeholdersDavid Lattimore2020-06-171-54/+20
|/ / / / | | | | | | | | | | | | Reasoning discussed at #3186
* | | | Anchor file-system operations to the file, and not to the source root.Aleksey Kladov2020-06-162-62/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Anchoring to the SourceRoot wont' work if the path is absolute: #[path = "/tmp/foo.rs"] mod foo; Anchoring to a file will. However, we *should* anchor, instead of just producing an abs path. I can imagine a situation where, for example, rust-analyzer processes crates from different machines (or, for example, from in-memory git branch), where the same absolute path in different crates might refer to different files in the end!
* | | | Syntactic highlighting of NAME_REF for injectionsLeander Tentrup2020-06-1512-16/+102
| |_|/ |/| | | | | | | | | | | | | | This commit adds a function that tries to determine the syntax highlighting class of NAME_REFs based on the usage. It is used for highlighting injections (such as highlighting of doctests) as the semantic logic will most of the time result in unresolved references. It also adds a color to unresolved references in HTML encoding.
* | | Merge #4877bors[bot]2020-06-153-16/+37
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4877: Fix syntax highlighting of recursive macros r=matklad a=ltentrup Add syntax highlighting for the BANG (`!`) token if the parent is `MACRO_CALL`. Before: <img width="514" alt="before" src="https://user-images.githubusercontent.com/201808/84595030-11f65c00-ae56-11ea-9bb2-b1abe2236990.png"> After: <img width="516" alt="recursive-macro" src="https://user-images.githubusercontent.com/201808/84594981-d196de00-ae55-11ea-8636-f877d5d795ff.png"> Fixes #4694. Co-authored-by: Leander Tentrup <[email protected]>
| * | | Fix syntax highlighting of recursive macrosLeander Tentrup2020-06-153-16/+37
| | | | | | | | | | | | | | | | Add syntax highlighting for the BANG (`!`) token if the parent is `MACRO_CALL`.
* | | | Deprecate hir::Path::from_astAleksey Kladov2020-06-151-0/+1
|/ / /
* | | Merge #4868bors[bot]2020-06-131-4/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4868: Fix if and while postfix completions r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix if and while postfix completionsAleksey Kladov2020-06-131-4/+4
| | |/ | |/|
* | | More concise completion testsAleksey Kladov2020-06-132-182/+146
| | |
* | | CleanupAleksey Kladov2020-06-134-255/+154
| | |
* | | Add keywords completions on source file positionMikhail Rakhmanov2020-06-133-21/+124
| | |
* | | Merge branch 'master' into keyword_completionMikhail Rakhmanov2020-06-1322-257/+1438
|\| | | | | | | | | | | | | | # Conflicts: # docs/user/generated_features.adoc
| * | simplify determining whether the field is a tuple fieldOptimalStrategy2020-06-121-5/+1
| | |
| * | Fix invalid shorthand initialization diagnostic for tuple structsOptimalStrategy2020-06-121-1/+18
| | |
| * | Merge #4849bors[bot]2020-06-111-34/+22
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4849: Make known paths use `core` instead of `std` r=matklad a=jonas-schievink I'm not sure if this causes problems today, but it seems like it easily could, if rust-analyzer processes the libstd sources for the right `--target` and that target is a `#![no_std]`-only target. Co-authored-by: Jonas Schievink <[email protected]>
| | * | Update wrap return testsJonas Schievink2020-06-111-29/+17
| | | | | | | | | | | | | | | | Update "no diagnostic" tests, use `()` instead of `String`
| | * | Make known paths use `core` instead of `std`Jonas Schievink2020-06-111-9/+9
| | | |
| * | | Indent chain `.` even if there's more stuff afterwardsAleksey Kladov2020-06-111-6/+32
| |/ /
| * / In field patterns, don't highlight local binding as a fieldAleksey Kladov2020-06-102-13/+17
| |/
| * SimplifyAleksey Kladov2020-06-084-9/+9
| |
| * Better unsafe highlihgting testsAleksey Kladov2020-06-088-9/+16
| |
| * Highlight only the unsafe operator itselfAleksey Kladov2020-06-081-6/+2
| |
| * Merge #4775bors[bot]2020-06-082-2/+25
| |\ | | | | | | | | | | | | | | | | | | | | | 4775: Add goto def for enum variant field r=matklad a=unexge Closes #4764. I'm not familiar with ra codebase, there might be better ways to do that :smile: Co-authored-by: unexge <[email protected]>
| | * Use explicit match for extracting def from `classify_name`unexge2020-06-081-2/+5
| | |
| | * Add `FieldShorthand` variant to `NameClass`unexge2020-06-082-1/+2
| | |
| | * Add goto def for enum variant fieldunexge2020-06-061-0/+19
| | |
| * | Merge #4683bors[bot]2020-06-084-46/+368
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4683: Implement syntax highlighting for doctests r=ltentrup a=ltentrup The implementation is more complicated than the previous injection logic as the doctest comments consist of multiple ranges. The implementation extracts the doctests together with an offset-mapping, applies the syntax highlighting, and updates the text ranges. <img width="478" alt="Bildschirmfoto 2020-06-01 um 15 45 25" src="https://user-images.githubusercontent.com/201808/83415249-1f0b5800-a41f-11ea-8fa6-c282434d6ff7.png"> Part of #4170. Co-authored-by: Leander Tentrup <[email protected]>
| | * | Implement syntax highlighting for doctestsLeander Tentrup2020-06-084-46/+368
| | | |
| * | | Merge #4773bors[bot]2020-06-082-9/+225
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4773: Run|Debug hover actions. r=matklad a=vsrs ![hover_actions_run](https://user-images.githubusercontent.com/62505555/83335644-dfc1f780-a2b6-11ea-820b-ccaa82290e7d.gif) This hover actions work exactly like corresponding lenses. Co-authored-by: vsrs <[email protected]>
| | * | Apply suggestions from code reviewvsrs2020-06-081-4/+8
| | | |
| | * | Disable runnables lookup in macro-generated code.vsrs2020-06-061-1/+10
| | | |
| | * | Add Run|Debug hover actionsvsrs2020-06-062-9/+134
| | | |
| | * | Preliminary runnables refactoringvsrs2020-06-061-0/+78
| | |/
| * | Merge #4781bors[bot]2020-06-081-32/+27
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4781: Remove redundancy in syntax highlighting tests r=matklad a=ltentrup Follow up from #4683. Improves syntax highlighting testing by introducing a function that contains the boilerplate comparison code. Keeps the `ra_fixture` argument in the first position, thus, the editor syntax highlighting injection still works. Co-authored-by: Leander Tentrup <[email protected]>
| | * | Remove redundancy in syntax highlighting testsLeander Tentrup2020-06-071-32/+27
| | |/
| * / Fix bug in lexer for format specifier where the `type` and `width` were not ↵Leander Tentrup2020-06-071-1/+1
| |/ | | | | | | correctly distinguished
| * Fix type parameter defaultsFlorian Diebold2020-06-052-3/+3
| | | | | | | | | | They should not be applied in expression or pattern contexts, unless there are other explicitly given type args.
| *-. Merge #4729 #4748bors[bot]2020-06-052-13/+137
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4729: Hover actions r=matklad a=vsrs This PR adds a `hoverActions` LSP extension and a `Go to Implementations` action as an example: ![hover_actions_impl](https://user-images.githubusercontent.com/62505555/83335732-6d9de280-a2b7-11ea-8cc3-75253d062fe0.gif) 4748: Add an `ImportMap` and use it to resolve item paths in `find_path` r=matklad a=jonas-schievink Removes the "go faster" queries I added in https://github.com/rust-analyzer/rust-analyzer/pull/4501 and https://github.com/rust-analyzer/rust-analyzer/pull/4506. I've checked this PR on the rustc code base and the assists are still fast. This should fix https://github.com/rust-analyzer/rust-analyzer/issues/4515. Note that this does introduce a change in behavior: We now always refer to items defined in external crates using paths through the external crate. Previously we could also use a local path (if for example the extern crate was reexported locally), as seen in the changed test. If that is undesired I can fix that, but the test didn't say why the previous behavior would be preferable. Co-authored-by: vsrs <[email protected]> Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| | * | Add enum hover action test.vsrs2020-06-051-0/+15
| | | |
| | * | Rebase on the latest master.vsrs2020-06-051-3/+3
| | | |
| | * | Code formattingvsrs2020-06-052-4/+3
| | | |
| | * | Add hover actions as LSP extensionvsrs2020-06-052-13/+123
| | |/
| * / Inlay Hints: more directly account for self paramAleksey Kladov2020-06-051-2/+1
| |/
| * Merge branch 'master' into compute-lazy-assitsMikhail Rakhmanov2020-06-0312-20/+315
| |\ | | | | | | | | | | | | | | | # Conflicts: # crates/rust-analyzer/src/main_loop/handlers.rs # crates/rust-analyzer/src/to_proto.rs
| | * Merge #4678bors[bot]2020-06-031-2/+11
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4678: Unsquish parameter types in tooltips for macro-generated functions r=aloucks a=aloucks Note the missing whitespace between `:` and the parameter type. Before: ![image](https://user-images.githubusercontent.com/221559/83364680-faf13d80-a370-11ea-96b7-a041969a4954.png) After: ![image](https://user-images.githubusercontent.com/221559/83364685-03e20f00-a371-11ea-9668-4e6ebcb81947.png) Co-authored-by: Aaron Loucks <[email protected]>
| | | * Use split1 when formatting function signature paramsAaron Loucks2020-06-031-5/+3
| | | |
| | | * Unsquish parameter types in tooltips for macro-generated functionsAaron Loucks2020-05-311-1/+12
| | | |
| | * | Consolidate documentation expansion and mergingAaron Loucks2020-06-031-53/+7
| | | | | | | | | | | | | | | | | | | | | | | | Removes the duplicated `expand_doc_attrs` and `merge_doc_comments_and_attrs` functions from `ra_ide` and exposes the same functionality via `ra_hir::Documentation::from_ast`.
| | * | Add basic hover and completion doc tests for macro generated itemsAaron Loucks2020-06-032-1/+181
| | | |
| | * | Enable hover and autocomplete docs on macro generated itemsAaron Loucks2020-06-031-5/+50
| | | |