aboutsummaryrefslogtreecommitdiff
path: root/crates/ide/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge #7224bors[bot]2021-01-101-7/+19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7224: Remove unnecessary allocation when checking whether to hide argument name hint r=jhpratt a=jhpratt The case-insensitive prefix/suffix check can be performed character-by-character. This allows the check to be done without having to allocate a new string. As a side effect, it's also no longer necessary to convert the entire string to lowercase, as it's done as needed. As the only case equality we're handling is ASCII, this operation can be further optimized by using byte equality, rather than character equality. cc @SomeoneToIgnore, as it's an update on my PR from yesterday. Co-authored-by: Jacob Pratt <[email protected]>
| * Skip leading underscores unconditionallyJacob Pratt2021-01-101-2/+5
| |
| * Short-circuit boolean operationJacob Pratt2021-01-101-4/+8
| |
| * Remove unnecessary allocationJacob Pratt2021-01-101-7/+12
| | | | | | | | | | | | | | | | | | | | The case-insensitive prefix/suffix check can be performed character-by-character. This allows the check to be done without having to allocate a new string. As a side effect, it's also no longer necessary to convert the entire string to lowercase, as it's done as needed. As the only case equality we're handling is ASCII, this operation can be further optimized by using byte equality, rather than character equality.
* | Replace state with functionAleksey Kladov2021-01-102-68/+54
|/
* Refactor highlightingAleksey Kladov2021-01-093-528/+551
|
* SimplifyAleksey Kladov2021-01-092-86/+52
|
* Better highlight for fixturesAleksey Kladov2021-01-092-2/+6
|
* SimplifyAleksey Kladov2021-01-092-52/+28
|
* Better namesAleksey Kladov2021-01-093-23/+24
|
* Reduce duplicationAleksey Kladov2021-01-091-7/+5
|
* Shorten namesAleksey Kladov2021-01-096-63/+46
|
* Reorder modulesAleksey Kladov2021-01-091-2/+4
|
* Shorten frequent namesAleksey Kladov2021-01-097-211/+192
|
* Rename dummy -> noneAleksey Kladov2021-01-093-15/+15
|
* Hide argument name hint regardless of caseJacob Pratt2021-01-091-3/+10
|
* Merge #7213bors[bot]2021-01-081-22/+8
|\ | | | | | | | | | | | | | | 7213: Simplify r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * SimplifyLukas Wirth2021-01-081-22/+8
| |
* | Merge #7212bors[bot]2021-01-089-274/+268
|\ \ | |/ |/| | | | | | | | | | | 7212: Simplify highlighting r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Simplify highlighting infraAleksey Kladov2021-01-089-274/+268
| | | | | | | | This also fixes the killer whale bug
* | Switch test markerPhil Ellison2021-01-071-1/+1
| |
* | cargo fmtPhil Ellison2021-01-071-1/+2
| |
* | Add fix to wrap return expression in SomePhil Ellison2021-01-072-8/+58
|/
* Better fixture highlightAleksey Kladov2021-01-074-10/+125
|
* Change <|> to $0 - RebaseKevaundray Wedderburn2021-01-0721-505/+505
|
* Remove some stale deprecationsAleksey Kladov2021-01-072-5/+0
|
* Align config's API with usageAleksey Kladov2021-01-061-1/+1
| | | | The config now is mostly immutable, optimize for that.
* YAGNI active_resolve_capabilitiesAleksey Kladov2021-01-061-2/+2
| | | | | | | | | This leaks a lot of LSP details into ide layer, which we want to avoid: https://github.com/rust-analyzer/rust-analyzer/tree/c9cec381bcfd97e5f3536e31a9c546ab5c0665e6/docs/dev#lsp-independence Additionally, all what this infra does is providing a toggle for auto-import completion, but we already have one!
* More maintainable configAleksey Kladov2021-01-063-50/+35
| | | | | | | Rather than eagerly converting JSON, we losslessly keep it as is, and change the shape of user-submitted data at the last moment. This also allows us to remove a bunch of wrong Defaults
* Show GotoTypeAction for TypeParamLukas Wirth2021-01-041-17/+54
|
* Show GotoTypeAction for ConstParamLukas Wirth2021-01-041-37/+66
|
* Show implementations when hovering over SelfTypeLukas Wirth2021-01-041-8/+29
|
* Fix HoverAction::Implementation typoLukas Wirth2021-01-041-10/+11
|
* Implement hover for ConstParamLukas Wirth2021-01-042-4/+29
|
* Impl hovering for TypeParamsLukas Wirth2021-01-041-2/+50
|
* Merge #7068bors[bot]2021-01-032-0/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7068: Add VSCode command to view the hir of a function body r=theotherphil a=theotherphil Will fix https://github.com/rust-analyzer/rust-analyzer/issues/7061. Very rough initial version just to work out where I needed to wire everything up. @matklad would you be happy merging a hir visualiser of some kind? If so, do you have any thoughts on what you'd like it show, and how? I've spent very little time on this thus far, so I'm fine with throwing away the contents of this PR, but I want to avoid taking the time to make this more polished/interactive/useful only to discover that no-one else has any interest in this functionality. ![image](https://user-images.githubusercontent.com/1974256/103236081-bb58f700-493b-11eb-9d12-55ae1b870f8f.png) Co-authored-by: Phil Ellison <[email protected]>
| * Address review suggestion, fix tidy testsPhil Ellison2021-01-011-19/+5
| |
| * Initial implementation of view-hir commandPhil Ellison2020-12-282-0/+44
| |
* | Fix ConstParam HasSource impl and implement TryToNav not NavNick Spain2021-01-021-6/+6
| |
* | Move impls of ToNav that use source() to TryToNavNick Spain2021-01-025-69/+64
| |
* | source_old -> source for cases that can be handled by simple bubblingNick Spain2021-01-022-6/+6
| |
* | HasSource::source_old -> HasSource::source for places where proc-macros were ↵Nick Spain2021-01-022-22/+6
| | | | | | | | | | | | | | | | | | | | | | | | special cased In #6901 some special case handling for proc-macros was introduced to prevent panicing as they have no AST. Now the new HasSource::source method is used that returns an option. Generally this was a pretty trivial change, the only thing of much interest is that `hir::MacroDef` now implements `TryToNav` not `ToNav` as this allows us to handle `HasSource::source` now returning an option.
* | Mark HasSource::source_old as deprecated but allow at all call sitesNick Spain2021-01-023-0/+13
| |
* | HasSource::source -> HasSource::source_oldNick Spain2021-01-023-13/+13
| | | | | | | | To start migrating HasSource::source to return an Option.
* | Formatting.Mara Bos2021-01-011-2/+11
| |
* | Add support for Rust 2021.Mara Bos2021-01-012-2/+2
| |
* | Show lifetimes and labels on hoverLukas Wirth2021-01-011-7/+43
| |
* | Merge #7080bors[bot]2021-01-018-1/+50
|\ \ | | | | | | | | | | | | | | | | | | | | | 7080: Implement ConstParams for HIR r=Veykril a=Veykril r? @flodiebold Co-authored-by: Lukas Wirth <[email protected]>
| * | Add ConstParams to the ide layerLukas Wirth2021-01-018-1/+50
| |/
* | test for new behaviorAdnoC2020-12-301-0/+16
| |