Commit Graph

510 Commits

Author SHA1 Message Date
bors[bot] 443061e752 Merge #1570
1570: switch to upstream rowan's API r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-07-21 13:48:46 +00:00
Ekaterina Babshukova 5fe19d2fbd provide completion in struct patterns 2019-07-21 14:41:33 +03:00
Aleksey Kladov d52ee59a71 streamline API 2019-07-21 13:28:58 +03:00
Aleksey Kladov c9cfd57eea switch to upstream rowan's API 2019-07-20 20:12:06 +03:00
Aleksey Kladov f6bcc2d745 align SyntaxText API with upstream 2019-07-20 16:52:11 +03:00
Aleksey Kladov f3bdbec1b6 rename range -> text_range 2019-07-20 12:58:27 +03:00
Aleksey Kladov 6d5d82e412 move debug_dump to fmt::Debug 2019-07-20 12:48:24 +03:00
Aleksey Kladov 8467ba8cdb flip syntax text to use internal iteration 2019-07-19 20:29:59 +03:00
Aleksey Kladov 8f032d6a58 drop memory size of subtree
it wasn't too accurate and the new measurement method of dropping the
database completely is better anyway
2019-07-19 19:55:54 +03:00
Aleksey Kladov 191a6ba330 convenience api 2019-07-19 19:05:34 +03:00
Aleksey Kladov f9d9e0a1f7 several highlighting cleanups
* make stuff more type-safe by using `BindPat` instead of just `Pat`
* don't add `mut` into binding hash
* reset shadow counter when we enter a function
2019-07-19 16:09:32 +03:00
Aleksey Kladov f1abc7bdc6 migrate ra_ide_api to the new rowan 2019-07-19 13:16:25 +03:00
Aleksey Kladov df33e7685b use Parse in mbe 2019-07-18 23:19:04 +03:00
Aleksey Kladov a6224f3620 make Parse generic 2019-07-18 22:55:04 +03:00
bors[bot] abe72424a6 Merge #1547
1547: cleanup imports r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-07-18 17:17:01 +00:00
Aleksey Kladov 1edec77e58 cleanup imports 2019-07-18 20:16:33 +03:00
Aleksey Kladov 2c4c233ba8 prettier colors 2019-07-18 19:57:13 +03:00
bors[bot] 8a6d270ecc Merge #1537
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 <marco.groppo@gmail.com>
2019-07-18 16:30:19 +00:00
Ekaterina Babshukova 4abe03879b highlight mutable variables differently 2019-07-18 18:52:50 +03:00
Marco Groppo d1608538de Restrict some postfix completions to bool and unknown expr.
Restrict `if` and `while` postfix completions to boolean expressions and
expressions of an unknown type.
2019-07-17 21:02:36 +02:00
Florian Diebold 0a20770f46 Some renamings for clarity 2019-07-14 18:22:47 +02:00
Ekaterina Babshukova 2a1e11b36f complete fields in enum variants 2019-07-12 20:31:49 +03:00
Aleksey Kladov deab4caa7b make Parse fields private
this is in preparation for the new rowan API
2019-07-12 19:41:13 +03:00
Aleksey Kladov e40494c6c1 account for dependencies when showing memory usage 2019-07-12 18:04:48 +03:00
Florian Diebold 9afbf2dff4 Unify normalize and implements to simplify code 2019-07-08 21:47:37 +02:00
funkill2 ca42f621c6 inline snapshot in complete_postfix 2019-07-07 13:52:25 +03:00
bors[bot] a9dcd2cdca Merge #1495
1495: use correct file for diagnostics r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-07-05 16:43:23 +00:00
Aleksey Kladov 0b5e399190 use correct file for diagnostics
closes #1475
2019-07-05 19:40:02 +03:00
Jeremy Kolb 001e34e6e3 Clippy trivially_copy_pass_by_ref 2019-07-05 12:02:32 -04:00
Shotaro Yamada d0e9cd2bc6 Fix clippy::redundant_clone 2019-07-05 12:45:58 +09:00
Jeremy Kolb 4ad9e986ad Some clippy fixes for 1.36 2019-07-04 17:43:00 -04:00
Aleksey Kladov 1834bae5b8 allow rustfmt to reorder imports
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
2019-07-04 23:09:09 +03:00
Shotaro Yamada 546442df68 Add completion for type aliases 2019-07-03 03:08:39 +09:00
funkill2 c596cd133c remove snapshot files 2019-07-02 00:52:03 +03:00
funkill2 532aaba234 inline snapshots 2019-07-02 00:51:18 +03:00
Aleksey Kladov e7164e6aeb put source maps first for better stats 2019-06-30 16:35:40 +03:00
Aleksey Kladov 6686521040 collect more macros, they are heavy 2019-06-30 15:03:23 +03:00
Aleksey Kladov d70520eb38 print memory usage for queries 2019-06-30 14:49:45 +03:00
Aleksey Kladov 18a1e092e9 Move memory usage statistics to ra_prof 2019-06-30 13:30:17 +03:00
bors[bot] 27df89f47d Merge #1456
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 <flodiebold@gmail.com>
2019-06-29 11:12:51 +00:00
Florian Diebold d37f960dfa Complete associated methods on enums (and unions) as well 2019-06-29 12:40:01 +02:00
Florian Diebold 5fd3df0868 Deduplicate method candidates 2019-06-29 12:19:03 +02:00
Ekaterina Babshukova 46c453d0d3 show macros in file structure 2019-06-29 00:08:02 +03:00
Aleksey Kladov 6e2369938a make sure that CrateDefMap is independent from syntax 2019-06-26 21:50:42 +03:00
bors[bot] f6340022c1 Merge #1429
1429: Add box postfix completion r=matklad a=kanru



Co-authored-by: Kan-Ru Chen <kanru@kanru.info>
2019-06-24 10:21:36 +00:00
Aleksey Kladov 8109ebb101 Add SourceRoot::is_library, in preparation for salsa's durability 2019-06-24 12:35:07 +03:00
Kan-Ru Chen bf7a35294d Add box postfix completion 2019-06-23 22:18:25 +09:00
Aleksey Kladov 9ff872329a don' collect macros 2019-06-20 16:48:10 +03:00
Aleksey Kladov 0caec7d250 rename XSignature -> XData 2019-06-18 20:20:08 +03:00
Aleksey Kladov 6314e62cfb add analysis-bench to benchmark incremental analysis
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.
2019-06-16 19:45:05 +03:00