aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
| |
* | use Source for TraitAleksey Kladov2019-06-112-26/+4
| |
* | simplifyAleksey Kladov2019-06-111-5/+5
| |
* | use Source for TypeAliasAleksey Kladov2019-06-113-33/+10
| |
* | reduce duplication in hoverAleksey Kladov2019-06-111-56/+24
| |
* | use Source for statics and constsAleksey Kladov2019-06-113-36/+11
| |
* | use Source for FunctionAleksey Kladov2019-06-114-15/+9
| |
* | Introduce HasSource traitAleksey Kladov2019-06-111-28/+18
| |
* | use Source moreAleksey Kladov2019-06-112-43/+22
| |
* | introduce Source structAleksey Kladov2019-06-112-14/+17
|/
* Simpliy hover on ast::nameEdwin Cheng2019-06-102-17/+35
|
* Use classify_name_ref in hoverEdwin Cheng2019-06-103-14/+131
|
* Remove incorrect FIXMEEdwin Cheng2019-06-091-2/+0
|
* FormatingEdwin Cheng2019-06-091-2/+1
|
* Use &str instread of Option<String>Edwin Cheng2019-06-092-5/+5
|