aboutsummaryrefslogtreecommitdiff
path: root/crates/ide
Commit message (Collapse)AuthorAgeFilesLines
...
* | | 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]>
| * Remove hir_def/docs.rs moduleLukas Wirth2020-12-071-28/+36
| |
* | SimplifyKirill Bulatov2020-12-071-1/+0
| |
* | Use stateless completion resolveKirill Bulatov2020-12-071-0/+22
| |
* | Remove the stateKirill Bulatov2020-12-071-1/+1
| |
* | Make completion resolve asyncKirill Bulatov2020-12-071-1/+1
| |
* | Simplify import edit calculationKirill Bulatov2020-12-071-1/+1
| |
* | Properly fill client completion resolve capabilities dataKirill Bulatov2020-12-071-2/+2
| |
* | Working resolve completion imports prototypeKirill Bulatov2020-12-071-1/+2
|/
* Merge #6719bors[bot]2020-12-071-7/+6
|\ | | | | | | | | | | | | | | 6719: Use items can also have doc comments r=matklad a=Veykril Prior to this change modules show more docs than they have cause they inherit the docs from documented use items inside of them. Co-authored-by: Lukas Wirth <[email protected]>
| * Use items can also have doc commentsLukas Wirth2020-12-041-7/+6
| |
* | Don't insert blank lines between doc attributesLukas Wirth2020-12-071-2/+0
| |
* | Merge #6721bors[bot]2020-12-047-37/+44
|\ \ | | | | | | | | | | | | | | | | | | | | | 6721: Use METHOD semantic token type r=kjeremy a=lnicola Closes #6685 Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Use METHOD semantic token typeLaurențiu Nicola2020-12-047-37/+44
| |/
* / Don't diagnose `#[cfg]` in macrosJonas Schievink2020-12-031-0/+5
|/
* Merge #6673bors[bot]2020-12-021-45/+74
|\ | | | | | | | | | | | | | | 6673: Show type of Self on hover r=matklad a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * Show type of Self on hoverLukas Wirth2020-11-291-45/+74
| |
* | Type-safer API for dealing with parameter lists with optional selfAleksey Kladov2020-12-011-1/+1
| |
* | Merge #6665bors[bot]2020-11-291-1/+102
|\ \ | | | | | | | | | | | | | | | | | | | | | 6665: Support self in reference search r=matklad a=Veykril The approach here is simply checking the descendants of the function body for `PathExpr` then checking whether it only contains a single `self` `PathSegment`, this is to prevent us from picking up `self` tokens from local `UseTree`s. Co-authored-by: Lukas Wirth <[email protected]>
| * | Support self in reference searchLukas Wirth2020-11-291-1/+102
| | |
* | | Merge #6599bors[bot]2020-11-294-10/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6599: Add attribute highlight modifier to all tokens inside attributes r=matklad a=Veykril This has the side effect that we also emit `attribute.attribute` highlights now, as in, the tokens that get the attribute semantic type also get the attribute modifier. I personally don't think it's really a problem but maybe it is to some? It's just that it was really simple to implement it this way, which is why I just went this route for now. Fixes #6536 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Add attribute highlight modifier to all tokens inside attributesLukas Wirth2020-11-214-10/+23
| | | |
* | | | Reject more cases of invalid parameter to self renamesLukas Wirth2020-11-291-13/+122
| | | |
* | | | Fix renaming owned self to parameter emitting refLukas Wirth2020-11-291-1/+30
| |_|/ |/| |
* | | Merge #6666bors[bot]2020-11-291-17/+39
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6666: Support 'go to definition' for self r=jonas-schievink a=Veykril Also reverts #6660, instead of showing the type it now works like it does for names by returning the declaration we are already on. This for example enables VSCode to show all references(#6665) when executing `go to definition` on the declaration. Co-authored-by: Lukas Wirth <[email protected]>