aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide/src
Commit message (Collapse)AuthorAgeFilesLines
* Fixup testsAleksey Kladov2020-05-057-30/+58
|
* Use more natural signature for Edit::applyAleksey Kladov2020-05-051-9/+15
|
* Rename AtomTextEdit -> IndelAleksey Kladov2020-05-052-4/+4
|
* Normalize naming of diagnosticsAleksey Kladov2020-05-054-13/+15
|
* Fix compilationAleksey Kladov2020-05-051-12/+7
|
* Merge #4320bors[bot]2020-05-051-0/+43
|\ | | | | | | | | | | | | | | | | | | | | | | | | 4320: add doctest support r=matklad a=bnjjj close #4317 preview: <img width="253" alt="Capture d’écran 2020-05-05 à 17 39 58" src="https://user-images.githubusercontent.com/5719034/81086040-45110b80-8ef8-11ea-9c05-79c6fe400fc3.png"> Co-authored-by: Benjamin Coenen <[email protected]>
| * add doctest support #4317Benjamin Coenen2020-05-051-0/+43
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | Rename ImplItem to AssocItemEdwin Cheng2020-05-052-21/+27
|/
* Remove false positive attr compleitonsAleksey Kladov2020-05-042-4/+40
|
* Qualify ast typesAleksey Kladov2020-05-041-6/+5
|
* Cleanup importsAleksey Kladov2020-05-041-4/+6
|
* Remove unnecessary conditionAleksey Kladov2020-05-041-17/+14
| | | | | | No tests fail, and quick manual testing shows that there are no false-positives. In general, each completion contributor should be independent from the others.
* Merge #4269 #4293bors[bot]2020-05-041-0/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4269: add support of use alias semantic in definition r=matklad a=bnjjj close #4202 4293: no doctests for flycheck r=matklad a=matklad bors r+ 🤖 Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * add support of use alias semantic in definition #4202Benjamin Coenen2020-05-021-1/+16
| | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
| * Merge branch 'master' of github.com:rust-analyzer/rust-analyzer into fix_4202Benjamin Coenen2020-05-0211-67/+533
| |\
| * | wipBenjamin Coenen2020-05-011-0/+18
| | | | | | | | | | | | Signed-off-by: Benjamin Coenen <[email protected]>
* | | Fix focus range for TypeParamAleksey Kladov2020-05-042-8/+12
| | | | | | | | | | | | closes #4274
* | | Add test marksAleksey Kladov2020-05-042-5/+10
| | |
* | | Code review fixesKirill Bulatov2020-05-041-8/+7
| | | | | | | | | | | | Co-authored-by: Edwin Cheng <[email protected]>
* | | Move snake case method to heckKirill Bulatov2020-05-031-15/+2
| | |
* | | Omit name hints for enum names similar to parameter namesKirill Bulatov2020-05-031-12/+52
| | |
* | | Omit name hints for method names similar to parameter namesKirill Bulatov2020-05-031-13/+25
| | |
* | | Fix derive argument parsingKirill Bulatov2020-05-021-26/+40
| | |
* | | Separate macros completion from otherKirill Bulatov2020-05-021-15/+17
| | |
* | | Propose custom derives in completionKirill Bulatov2020-05-021-8/+32
| | |
* | | Complete standard derivesKirill Bulatov2020-05-022-16/+245
| |/ |/|
* | Introduce EffectExprAleksey Kladov2020-05-024-46/+38
| |
* | Test for unsafe traitDiana2020-05-011-0/+11
| |
* | Unsafe traitsDiana2020-05-011-1/+5
| |
* | Fix a bunch of false-positives in join-linesAleksey Kladov2020-04-301-0/+66
| |
* | Merge #4210bors[bot]2020-04-302-0/+65
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4210: Include function qualifiers in signature r=matklad a=oxalica Fixes #2450 It seems there's no test for `ra_ide/display/{short_label,function_signature}`. I'm not sure how to setup it. Manually tested: <img width="428" alt="Screenshot_20200430_004434" src="https://user-images.githubusercontent.com/14816024/80622769-d6f1c200-8a7b-11ea-91f3-e94bfb2703c5.png"> Co-authored-by: oxalica <[email protected]>
| * | Add tests of showing function qualifiersoxalica2020-04-301-0/+25
| | |
| * | Include function qualifiers in signatureoxalica2020-04-291-0/+40
| | |
* | | if let -> matchJonas Schievink2020-04-291-4/+3
| | |
* | | Complete assoc. items on type parametersJonas Schievink2020-04-291-11/+262
|/ /
* | Better filtering of qualified enum variants in completionAleksey Kladov2020-04-292-9/+49
| |
* | Complete union fields after dotJonas Schievink2020-04-281-0/+38
|/
* Introduce new semantic highlight token for format specifierLeander Tentrup2020-04-287-36/+43
|
* Precompute expected type during completionAleksey Kladov2020-04-263-35/+44
|
* Fix broken testJonas Schievink2020-04-251-1/+1
|
* Don't add call parens when an fn type is expectedJonas Schievink2020-04-251-0/+56
|
* Merge #4133bors[bot]2020-04-251-4/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4133: main: eagerly prime goto-definition caches r=matklad a=BurntSushi This commit eagerly primes the caches used by goto-definition by submitting a "phantom" goto-definition request. This is perhaps a bit circuitous, but it does actually get the job done. The result of this change is that once RA is finished its initial loading of a project, goto-definition requests are instant. There don't appear to be any more surprise latency spikes. This _partially_ addresses #1650 in that it front-loads the latency of the first goto-definition request, which in turn makes it more predictable and less surprising. In particular, this addresses the use case where one opens the text editor, starts reading code for a while, and only later issues the first goto-definition request. Before this PR, that first goto-definition request is guaranteed to have high latency in any reasonably sized project. But after this PR, there's a good chance that it will now be instant. What this _doesn't_ address is that initial loading time. In fact, it makes it longer by adding a phantom goto-definition request to the initial startup sequence. However, I observed that while this did make initial loading slower, it was overall a somewhat small (but not insignificant) fraction of initial loading time. ----- At least, the above is what I _want_ to do. The actual change in this PR is just a proof-of-concept. I came up with after an evening of printf-debugging. Once I found the spot where this cache priming should go, I was unsure of how to generate a phantom input. So I just took an input I knew worked from my printf-debugging and hacked it in. Obviously, what I'd like to do is make this more general such that it will always work. I don't know whether this is the "right" approach or not. My guess is that there is perhaps a cleaner solution that more directly primes whatever cache is being lazily populated rather than fudging the issue with a phantom goto-definition request. I created this as a draft PR because I'd really like help making this general. I think whether y'all want to accept this patch is perhaps a separate question. IMO, it seems like a good idea, but to be honest, I'm happy to maintain this patch on my own since it's so trivial. But I would like to generalize it so that it will work in any project. My thinking is that all I really need to do is find a file and a token somewhere in the loaded project, and then use that as input. But I don't quite know how to connect all the data structures to do that. Any help would be appreciated! cc @matklad since I've been a worm in your ear about this problem. :-) Co-authored-by: Andrew Gallant <[email protected]>
| * main: eagerly prime goto-definition cachesAndrew Gallant2020-04-251-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit makes RA more aggressive about eagerly priming the caches. In particular, this fixes an issue where even after RA was done priming its caches, an initial goto-definition request would have very high latency. This fixes that issue by requesting syntax highlighting for everything. It is presumed that this is a tad wasteful, but not overly so. This commit also tweaks the logic that determines when the cache is primed. Namely, instead of just priming it when the state is loaded initially, we attempt to prime it whenever some state changes. This fixes an issue where if a modification notification is seen before cache priming is done, it would stop the cache priming early.
* | Rename StructField -> FieldAleksey Kladov2020-04-256-14/+9
| |
* | text-size 1.0.0Aleksey Kladov2020-04-251-6/+6
| |
* | CleanupsAleksey Kladov2020-04-251-8/+5
| |
* | Convert tests to text-sizeAleksey Kladov2020-04-2530-1221/+1190
| |
* | Convert code to text-sizeAleksey Kladov2020-04-2520-100/+96
|/
* Merge #4128bors[bot]2020-04-241-1/+52
|\ | | | | | | | | | | | | | | 4128: Include correct item path for variant completions r=matklad a=jonas-schievink The test would previously suggest `E::V`, which is not enough to name the variant as the enum is in a module. Now it correctly suggests the full path `m::E::V`. Co-authored-by: Jonas Schievink <[email protected]>
| * Include correct item path for variant completionsJonas Schievink2020-04-241-1/+52
| |