aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge #1537bors[bot]2019-07-181-26/+103
|\ | | | | | | | | | | | | | | | | | | | | | | 1537: Less magic completions r=matklad a=marcogroppo Restrict `if`, `not` and `while` postfix magic completions to boolean expressions and expressions of an unknown type. (this may be controversial, marking as draft for this reason) See the discussion in #1526. Co-authored-by: Marco Groppo <[email protected]>
| * Restrict some postfix completions to bool and unknown expr.Marco Groppo2019-07-171-26/+103
| | | | | | | | | | Restrict `if` and `while` postfix completions to boolean expressions and expressions of an unknown type.
* | highlight mutable variables differentlyEkaterina Babshukova2019-07-183-54/+102
|/
* Some renamings for clarityFlorian Diebold2019-07-141-1/+1
|
* complete fields in enum variantsEkaterina Babshukova2019-07-121-15/+88
|
* make Parse fields privateAleksey Kladov2019-07-1221-82/+82
| | | | this is in preparation for the new rowan API
* account for dependencies when showing memory usageAleksey Kladov2019-07-121-0/+7
|
* Unify `normalize` and `implements` to simplify codeFlorian Diebold2019-07-081-2/+1
|
* inline snapshot in complete_postfixfunkill22019-07-072-75/+71
|
* Merge #1495bors[bot]2019-07-051-8/+5
|\ | | | | | | | | | | | | | | 1495: use correct file for diagnostics r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use correct file for diagnosticsAleksey Kladov2019-07-051-8/+5
| | | | | | | | closes #1475
* | Clippy trivially_copy_pass_by_refJeremy Kolb2019-07-052-3/+3
|/
* Fix clippy::redundant_cloneShotaro Yamada2019-07-052-3/+3
|
* Some clippy fixes for 1.36Jeremy Kolb2019-07-044-7/+6
|
* allow rustfmt to reorder importsAleksey Kladov2019-07-0444-235/+215
| | | | | | This wasn't a right decision in the first place, the feature flag was broken in the last rustfmt release, and syntax highlighting of imports is more important anyway
* Add completion for type aliasesShotaro Yamada2019-07-021-1/+41
|
* remove snapshot filesfunkill22019-07-0113-273/+0
|
* inline snapshotsfunkill22019-07-011-157/+366
|
* put source maps first for better statsAleksey Kladov2019-06-301-2/+2
|
* collect more macros, they are heavyAleksey Kladov2019-06-301-0/+1
|
* print memory usage for queriesAleksey Kladov2019-06-302-1/+66
|
* Move memory usage statistics to ra_profAleksey Kladov2019-06-302-58/+2
|
* Merge #1456bors[bot]2019-06-291-1/+31
|\ | | | | | | | | | | | | | | 1456: Deduplicate method candidates r=matklad a=flodiebold With trait method completion + autoderef, we were getting a lot of duplicates, which was really annoying... Co-authored-by: Florian Diebold <[email protected]>
| * Deduplicate method candidatesFlorian Diebold2019-06-291-1/+31
| |
* | Complete associated methods on enums (and unions) as wellFlorian Diebold2019-06-293-6/+87
|/
* show macros in file structureEkaterina Babshukova2019-06-282-5/+25
|
* make sure that CrateDefMap is independent from syntaxAleksey Kladov2019-06-261-0/+1
|
* Merge #1429bors[bot]2019-06-242-1/+10
|\ | | | | | | | | | | | | | | 1429: Add box postfix completion r=matklad a=kanru Co-authored-by: Kan-Ru Chen <[email protected]>
| * Add box postfix completionKan-Ru Chen2019-06-232-1/+10
| |
* | Add SourceRoot::is_library, in preparation for salsa's durabilityAleksey Kladov2019-06-241-1/+2
|/
* don' collect macrosAleksey Kladov2019-06-201-3/+6
|
* rename XSignature -> XDataAleksey Kladov2019-06-184-11/+11
|
* add analysis-bench to benchmark incremental analysisAleksey Kladov2019-06-162-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be used like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --complete ../chalk/chalk-engine/src/logic.rs:94:0 loading: 225.970093ms from scratch: 8.492373325s no change: 445.265µs trivial change: 95.631242ms ``` Or like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --highlight ../chalk/chalk-engine/src/logic.rs loading: 209.873484ms from scratch: 9.504916942s no change: 7.731119ms trivial change: 124.984039ms ``` "from scratch" includes initial analysis of the relevant bits of the project "no change" just asks the same question for the second time. It measures overhead on assembling the answer outside of salsa. "trivial change" doesn't do an actual salsa change, it just advances the revision. This test how fast is salsa at validating things.
* Merge #1408bors[bot]2019-06-162-2/+2
|\ | | | | | | | | | | | | | | | | | | 1408: Associated type basics & Deref support r=matklad a=flodiebold This adds the necessary Chalk integration to handle associated types and uses it to implement support for `Deref` in the `*` operator and autoderef; so e.g. dot completions through an `Arc` work now. It doesn't yet implement resolution of associated types in paths, though. Also, there's a big FIXME about handling variables in the solution we get from Chalk correctly. Co-authored-by: Florian Diebold <[email protected]>
| * Implement autoderef using the Deref traitFlorian Diebold2019-06-152-2/+2
| | | | | | | | - add support for other lang item targets, since we need the Deref lang item
* | reuse AnalysisHost in batch analysisAleksey Kladov2019-06-151-0/+3
|/
* check for cancellation when executing queriesAleksey Kladov2019-06-121-2/+6
| | | | | | | Note that we can't just remove CheckCanceled trait altogether: sometimes it's useful to check for cancellation while the query is running! We do this, for example, in the name resolution fixed-point loop.
* Merge #1382bors[bot]2019-06-123-3/+20
|\ | | | | | | | | | | | | | | 1382: use salsa's LRU for syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * make LRU cache configurableAleksey Kladov2019-06-122-4/+19
| |
| * make LRU_CAP configurable for batch dbAleksey Kladov2019-06-121-2/+3
| |
| * use salsa's LRU for syntax treesAleksey Kladov2019-06-122-2/+3
| |
* | Merge #1394bors[bot]2019-06-111-6/+23
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1394: Fix hover for pat that shadows items r=matklad a=sinkuu ```rust fn x() {} fn y() { let x = 0i32; x; // hover on `x` is expected to be `i32`, but the actual result was `fn x()` } ``` This was because: if [`res.is_empty()`](https://github.com/sinkuu/rust-analyzer/blob/656a0fa9f99298123d7dcee8c65a8a5ed7043bc4/crates/ra_ide_api/src/hover.rs#L205), it fallbacks to "index based approach" and adds `fn x()` to `res`, which makes [`res.extend(type_of)` below](https://github.com/sinkuu/rust-analyzer/blob/656a0fa9f99298123d7dcee8c65a8a5ed7043bc4/crates/ra_ide_api/src/hover.rs#L260-L266) not happen. Co-authored-by: Shotaro Yamada <[email protected]>
| * Fix hover for pat that shadows itemsShotaro Yamada2019-06-111-6/+23
| |
* | move docs under code modelAleksey Kladov2019-06-112-10/+6
| |
* | remove inherent source implsAleksey Kladov2019-06-114-8/+9
| |
* | use Source for module, part 2Aleksey Kladov2019-06-111-5/+5
| |
* | use Source for module, part 1Aleksey Kladov2019-06-113-8/+7
| |
* | use Source for StructFieldAleksey Kladov2019-06-112-5/+5
| |
* | use Source for MacroDefAleksey Kladov2019-06-112-7/+7
| |
* | use Source for impl blockAleksey Kladov2019-06-111-3/+3
| |