aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
| * 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
| |