aboutsummaryrefslogtreecommitdiff
path: root/crates/ide
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7030bors[bot]2020-12-2418-8/+125
|\ | | | | | | | | | | | | | | | | | | 7030: Support labels in reference search r=matklad a=Veykril Implements general navigation for labels, goto def, rename and gives labels their own semantic highlighting class. Fixes #6966 Co-authored-by: Lukas Wirth <[email protected]>
| * Support labels in reference searchLukas Wirth2020-12-2418-8/+125
| |
* | pit-of-success API for unresolved code actionsAleksey Kladov2020-12-241-11/+11
| |
* | Prevent multiple incorrect case diagnostics in functionsunexge2020-12-231-0/+13
| |
* | Implement workspace/willRenameFiles for single-level file movesJeremy Kolb2020-12-232-1/+26
| | | | | | | | Renames modules during file rename if they're in the same directory.
* | Store invocation site for eager macrosJonas Schievink2020-12-221-0/+25
|/
* Merge #6746bors[bot]2020-12-222-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6746: Feature/add assist extract module to file r=matklad a=sasurau4 Fix #6522 ## Screenshot <img src="https://user-images.githubusercontent.com/13580199/102748269-33a44300-43a5-11eb-9e37-f5fcb8e62f73.gif" width=600 /> ## TODO - [x] Remove all TODO comment - [x] Pass the doc test Co-authored-by: Daiki Ihara <[email protected]>
| * Update test diagnostics in ideDaiki Ihara2020-12-211-0/+1
| |
| * Add initial_contents field for CreateFileDaiki Ihara2020-12-211-0/+1
| |
* | Acquire original text range when searching for referencesLukas Wirth2020-12-211-6/+42
|/
* Merge #6921bors[bot]2020-12-201-0/+28
|\ | | | | | | | | | | | | | | 6921: Higher-ranked trait bounds for where clauses r=flodiebold a=Veykril There is a slight problem with this which is also noted in a FIXME now but `LifetimeParameters` of these ForLifetime where clauses allocate the lifetimes in the corresponding arena as if they were lifetimes of the item itself and not just the clause they belong to. I wasn't entirely sure what I could do about this but given nothing really uses lifetimes like that currently I figured it might be fine? Open to suggestions for that problem. Co-authored-by: Lukas Wirth <[email protected]>
| * Higher-ranked trait bounds for where clausesLukas Wirth2020-12-171-0/+28
| |
* | Align code_model name with ungrammarAleksey Kladov2020-12-206-9/+9
| |
* | Add test_rename_bind_patbjorn32020-12-191-0/+35
| |
* | Make sure that HighlightModifier::ALL is synchronized with enumAleksey Kladov2020-12-196-36/+39
| |
* | Clarify the meaning of no-op highlight tagAleksey Kladov2020-12-193-14/+13
| |
* | Use more Rustic highlighting specifiersAleksey Kladov2020-12-197-45/+61
| | | | | | | | | | *Method* works for OO languages, but in rust we can also have associated constants & types, so let's move this to a modifier.
* | Deduplicate highlight tags and symbol kindsAleksey Kladov2020-12-185-96/+97
| | | | | | | | | | | | | | Curiously, LSP uses different enums for those, and unsurprising and annoyingly, there are things which exist in one but not in the other. Let's not repeat the mistake and unify the two things
* | Reduce test verbosityAleksey Kladov2020-12-183-597/+169
| |
* | NavTarget doesn't assume that it points to a symbolAleksey Kladov2020-12-185-74/+187
| |
* | Don't expose SyntaxKind from IDE APIAleksey Kladov2020-12-1810-207/+270
| | | | | | | | | | | | SyntaxKind is somewhat of an internal type, but IDE is using it to basically specify an icon. Let's have a dedicated entity for this instead.
* | Cleaup importsAleksey Kladov2020-12-181-7/+7
| | | | | | | | ide should re-export everything it needs.
* | Merge #6901bors[bot]2020-12-182-1/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](https://github.com/rust-analyzer/rust-analyzer/blob/479d1f7eec22c3564867223e2093f14774092528/crates/hir/src/has_source.rs#L116) line to panic. This PR is a temp fix for all of these similar to https://github.com/rust-analyzer/rust-analyzer/blob/bd4c352831662762ee7a66da77ec9adf623b0a0a/crates/completion/src/render/macro_.rs#L42 Co-authored-by: Edwin Cheng <[email protected]>
| * | Temp fixes panic caused by no ast for proc-macroEdwin Cheng2020-12-182-1/+15
| | |
* | | Rewrite doctest runnablesAleksey Kladov2020-12-172-107/+83
| | | | | | | | | | | | Handle more cases in a generic way without copy-pasting code.
* | | Minor code styleAleksey Kladov2020-12-171-27/+19
| | |
* | | Make `Attrs::from_attrs_owner` privateJonas Schievink2020-12-172-39/+11
| |/ |/|
* | Rename ImplDef -> ImplAleksey Kladov2020-12-175-7/+7
| | | | | | | | | | | | We used to have `Def` suffix for all symbols, but we moved off from that. `FunctionDef` isn't better than `Function`. Looks like we've forgot to change `Impl` though!
* | Lifetime reference searchLukas Wirth2020-12-168-22/+265
| |
* | Node-ify lifetimesLukas Wirth2020-12-161-1/+1
| |
* | Make macro def krate mandatoryJonas Schievink2020-12-153-1/+9
|/ | | | Refactors builtin derive support to go through proper name resolution
* Move to upstream `macro_rules!` modelJonas Schievink2020-12-156-41/+41
|
* Add find usages for enum constructorsDaiki Ihara2020-12-141-0/+115
|
* Use Attrs::docs in NavigationTarget instead of DocCommentsOwnerLukas Wirth2020-12-111-24/+28
|
* Merge #6834bors[bot]2020-12-111-9/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | 6834: Use Attrs::docs in runnables instead of DocCommentsOwner r=kjeremy a=Veykril I figured that we should probably move as much of the doc usage to the HIR as possible hence this PR. If we should keep this AST-based feel free to close. This change does have the nice(but not really useful as I doubt anyones gonna write doc tests like these) side effect that these two doc string snippets allow being run now. ![image](https://user-images.githubusercontent.com/3757771/101945607-bf241400-3bee-11eb-96ce-ccae80028b1f.png) ![image](https://user-images.githubusercontent.com/3757771/101946375-2e9a0380-3bef-11eb-9950-e35168fdd048.png) Co-authored-by: Lukas Wirth <[email protected]>
| * Use Attrs::docs in runnables instead of DocCommentsOwnerLukas Wirth2020-12-111-9/+9
| |
* | Don't highlight parent nodes of comments on hoverLukas Wirth2020-12-111-0/+16
|/
* Merge #6769bors[bot]2020-12-102-1/+25
|\ | | | | | | | | | | | | | | | | | | 6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770 Closes #6739 ![demo2](https://user-images.githubusercontent.com/14003886/101530533-b76c3180-399a-11eb-9d18-5c8457721655.gif) Co-authored-by: ivan770 <[email protected]>
| * Cast to ExprStmt, style fixesivan7702020-12-101-4/+4
| |
| * Format codeivan7702020-12-081-3/+10
| |
| * Remove unused useivan7702020-12-081-1/+1
| |
| * Remove this semicolonivan7702020-12-082-6/+23
| |
* | Fix FileId computation in IncorrectCase fixJonas Schievink2020-12-101-4/+4
| |
* | Introduce anchored_pathAleksey Kladov2020-12-093-30/+45
| | | | | | | | | | They allow to represent paths like `#[path = "C:\path.rs"] mod foo;` in a lossless cross-platform & network-transparent way.
* | Merge #6771bors[bot]2020-12-091-0/+62
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`. So the following snippet ```rust mod foo { //! Hello } ``` now shows `Hello` on hover 🎉 Fixes #2148 Co-authored-by: Lukas Wirth <[email protected]>
| * | Test inner and outer doc comments in hoverLukas Wirth2020-12-091-0/+62
| |/
* | Merge #6775bors[bot]2020-12-091-2/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 6775: Fix MissingFields DiagnosticFix trigger range r=lnicola a=Veykril Fixes #5950 Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix MissingFields DiagnosticFix trigger rangeLukas Wirth2020-12-091-2/+3
| |/
* / Make `original_range` a method on `InFile<&SyntaxNode>`Jonas Schievink2020-12-081-11/+12
|/
* Merge #6750bors[bot]2020-12-081-28/+36
|\ | | | | | | | | | | | | | | | | | | | | | | 6750: Remove documentation query, move doc handling to attributes r=matklad a=Veykril Fixes #3182 Removes the documentation query in favor of `Attrs::docs`. Attrs already handlded doc comments partially but the alloc saving check was wrong so it only worked when other attributes existed as well. Unfortunately the `new` constructor has to do an intermediate allocation now because we need to keep the order of mixed doc attributes and doc comments. I've also partially adjusted the `hover` module to have its tests check the changes, it still has some `HasSource` trait usage due to the `ShortLabel` trait usage, as that is only implemented on the Ast parts and not the Hir, should this ideally be implemented for the Hir types as well?(would be a follow up PR of course) Co-authored-by: Lukas Wirth <[email protected]>