Commit Graph

3007 Commits

Author SHA1 Message Date
Unreal Hoang 5ac9f5cdc7 add await expr to ast 2019-07-20 19:35:49 +09:00
Unreal Hoang 3a7f07c62d add await to syntax, parser for await_expr 2019-07-20 17:41:31 +09:00
Aleksey Kladov d92a88bf09 remove lifetime from syntax node text 2019-07-19 21:41:36 +03:00
Aleksey Kladov 0025299370 sane indexing in text 2019-07-19 20:55:32 +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 a6df224f7d minor 2019-07-19 18:25:07 +03:00
Aleksey Kladov 5c594bcb48 cleanup casts 2019-07-19 18:22:00 +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 d4a66166c0 switch to the upstream rowan 2019-07-19 14:15:01 +03:00
Aleksey Kladov cf932181cf migrate ra_cli to the new rowan 2019-07-19 13:16:30 +03:00
Aleksey Kladov f1abc7bdc6 migrate ra_ide_api to the new rowan 2019-07-19 13:16:25 +03:00
Aleksey Kladov 0343c4a815 migrate ra_assists to the new AST 2019-07-19 13:16:25 +03:00
Aleksey Kladov e2b28f5bb8 migrate ra_hir to the new rowan 2019-07-19 13:16:25 +03:00
Aleksey Kladov 7e02aa0eff migrate ra_fmt to new rowan 2019-07-19 13:16:24 +03:00
Aleksey Kladov 08fd402ef2 migrate mbe to the new rowan 2019-07-19 13:16:24 +03:00
Aleksey Kladov d402974aa0 migrate ra_syntax to the new rowan API 2019-07-19 13:16:24 +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
Aleksey Kladov 0fb4b896e2 use more correct phantom types for ptrs 2019-07-18 18:13:32 +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
Jeremy A. Kolb 5e9198f809 jemallocator 0.3 2019-07-17 10:58:17 -04:00
Kirill Bulatov 1037242e6e Add "Run" lens for binary runnables 2019-07-16 15:02:11 +03:00
kjeremy 1fcc002677 cargo update 2019-07-15 15:07:11 -04:00
Florian Diebold c8284d8424 Switch to Chalk master, without fuel 2019-07-15 08:49:55 +02:00
Florian Diebold dcb0c02e3a Remove blacklist, instead mark Sized as non-enumerable
This seems to be enough to prevent hanging in rust-analyzer, Chalk and the rustc
repo.
2019-07-15 08:49:55 +02:00
Florian Diebold e2bce9e7eb Cargo update, including updating Chalk 2019-07-14 18:22:47 +02:00
Florian Diebold 1e60ba8927 Have InferenceContext contain an InferenceResult instead of duplicating all fields 2019-07-14 18:22:47 +02:00
Florian Diebold 0a20770f46 Some renamings for clarity 2019-07-14 18:22:47 +02:00
Alexander Andreev 9c75f30272 Fixed request comments 2019-07-14 09:24:18 +03:00
Alexander Andreev 22b863c534 Fixed comments 2019-07-13 21:51:20 +03:00
Alexander Andreev 1f0e9c149f More resolution modules with attribute path
#1211
2019-07-13 21:26:04 +03: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
bors[bot] 2e466bb365 Merge #1523
1523: account for dependencies when showing memory usage r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-07-12 15:05:28 +00:00
Aleksey Kladov e40494c6c1 account for dependencies when showing memory usage 2019-07-12 18:04:48 +03:00
bors[bot] fa3716efe6 Merge #1520
1520: Ignore workspace/didChangeConfiguration notifications. r=matklad a=bolinfest

If the client happens to send a `workspace/didChangeConfiguration`
notification, it is nicer if rust-analyzer can just ignore it rather than
crash with an "unhandled notification" error.

Co-authored-by: Michael Bolin <bolinfest@gmail.com>
2019-07-11 09:13:10 +00:00
Michael Bolin e81a47b8eb Remove executeCommandProvider: apply_code_action.
This appears to have been introduced ages ago in
https://github.com/rust-analyzer/rust-analyzer/commit/be742a587704f27f4e503c50f549aa9ec1527fcc
but has since been removed.

As it stands, it is problematic if multiple instances of the
rust-analyzer LSP are launched during the same VS Code session because
VS Code complains about multiple LSP servers trying to register the
same command.

Most LSP servers workaround this by parameterizing the command by the
process id. For example, this is where `rls` does this:

https://github.com/rust-lang/rls/blob/ff0b9057c8f62bc4f8113d741e96c9587ef1a817/rls/src/server/mod.rs#L413-L421

Though `apply_code_action` does not seems to be used, so it seems better
to delete it than to parameterize it.
2019-07-10 22:49:35 -07:00
Michael Bolin a814883cd4 Ignore workspace/didChangeConfiguration notifications. 2019-07-10 20:56:16 -07:00
Ekaterina Babshukova 895597d567 move whitespace manipulation inside AstEditor 2019-07-10 22:03:00 +03:00
Pascal Hertleif 6e87065968 Make clippy a bit happier
Random drive-by fix. I honestly blame rust-analyzer itself on this,
because I set its watch mode to use `cargo clippy` 🤷
2019-07-10 17:05:39 +02:00
Pascal Hertleif d0ff53de2d Resolve a FIXME
Now that we are using a newer smol_str release this can be simplified :)
2019-07-10 17:04:38 +02:00
Aleksey Kladov 61135d4d4d fix profile name 2019-07-09 11:13:15 +03:00
bors[bot] f59cd1a4a0 Merge #1515
1515: Trait environment r=matklad a=flodiebold

This adds the environment, i.e. the set of `where` clauses in scope, when solving trait goals. That means that e.g. in
```rust
fn foo<T: SomeTrait>(t: T) {}
```
, we are able to complete methods of `SomeTrait` on the `t`. This affects the trait APIs quite a bit (since every method that needs to be able to solve for some trait needs to get this environment somehow), so I thought I'd do it rather sooner than later ;)

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-07-09 07:50:18 +00:00