Commit graph

3045 commits

Author SHA1 Message Date
Michael Killough
354134ffb4 impl Default for BindingMode.
This decouples callers from knowing what the default binding mode of
pattern matching is.
2019-03-17 18:46:01 +00:00
Michael Killough
b42c5ced68 Implement BindingMode for pattern matching.
Implement `BindingMode` for pattern matching, so that types can be
correctly inferred using match ergonomics. The binding mode defaults to
`Move` (referred to as 'BindingMode::BindByValue` in rustc), and is
updated by automatic dereferencing of the value being matched.
2019-03-16 18:13:13 +00:00
bors[bot]
97a87bf3a6 Merge #959
959: Retrieve current working directory from workspace r=matklad a=LDSpits

This PR improves the way the language client retrieves the current working directory by using the VSCode workspace API to get the path to the currently open directory.

If we find more than one directory we show a warning that "multi root workspaces are not supported yet" and pick the root path.

Any feedback is appreciated 😄

fixes #945

Co-authored-by: Lucas Spits <spits.lucas@gmail.com>
2019-03-12 10:23:47 +00:00
bors[bot]
65a9066115 Merge #958
958: LSP: Support EnumMember and Field r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-03-12 10:16:04 +00:00
bors[bot]
d80df85d11 Merge #962
962: remove Def r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-12 09:38:24 +00:00
Aleksey Kladov
e9e792f2d7 remove Def 2019-03-12 12:36:37 +03:00
Lucas Spits
9fe3b36bda
Applied code style of `npm run fix` 2019-03-11 21:22:54 +01:00
Lucas Spits
915c079e26
Fix typescript linting errors 2019-03-11 20:53:56 +01:00
Lucas Spits
de4ad44282
Merge branch 'master' of https://github.com/LDSpits/rust-analyzer into feature/workspace-directory 2019-03-11 20:41:48 +01:00
Lucas Spits
7185c594fe
Retrieve current directory from workspaces 2019-03-11 20:38:46 +01:00
kjeremy
31b69e685d LSP: Support EnumMember and Field 2019-03-11 13:58:38 -04:00
bors[bot]
f96df105ea Merge #956
956: Add async keyword r=c410-f3r a=c410-f3r

Fixes #954.

Co-authored-by: Caio <c410.f3r@gmail.com>
2019-03-10 17:37:41 +00:00
Caio
cc9721996c Add test for async block 2019-03-10 14:35:25 -03:00
bors[bot]
543f2ec8f6 Merge #957
957: Fix and simplify "rustc-watch" problem matcher r=vemoo a=vemoo

Cargo watch now always ends with "[Finished running ..." and includes some extra info. Make the pattern only match "[Finished running".

Also add "cargo watch" and "cargo watch tests" that use the "rustc-watch" problem matcher.
Change the "Build Lsp" to do "cargo check" because that's faster, and I think enought in this case, and make it use "rustc" problem matcher from the extension.

Co-authored-by: Bernardo <berublan@gmail.com>
2019-03-10 14:21:10 +00:00
Bernardo
7cf9c34f66 prettier format 2019-03-10 15:20:27 +01:00
Bernardo
1926d76a6a revert change to "check" since "build" is intentional 2019-03-10 14:57:30 +01:00
Bernardo
fe1df18a6e add cargo watch tasks
use extension problemMatcher
2019-03-10 13:54:18 +01:00
Bernardo
536a579f2e simplify watch patterns 2019-03-10 13:35:02 +01:00
Caio
ad72699553 Add async keyword 2019-03-09 20:40:22 -03:00
bors[bot]
a9d09b7ec0 Merge #953
953: Don't default publishDecorations and showWorkspaceLoaded to true on the server r=matklad a=flodiebold

If the client doesn't specify these explicitly, that very likely means it
doesn't know about them and so we shouldn't send them. In particular, the recent
change to this default caused decorations to be sent to emacs, resulting in a
lot of warning spam.

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2019-03-09 12:21:28 +00:00
Florian Diebold
c30c5fb4dd Don't default publishDecorations to true on the server
If the client doesn't specify this explicitly, that very likely means it doesn't
know about it and so we shouldn't send decorations. In particular, the recent
change to this default caused decorations to be sent to emacs, resulting in a
lot of warning spam.
2019-03-09 12:55:15 +01:00
bors[bot]
bfea379d88 Merge #955
955: Remove superfluous semicolons r=kjeremy a=kjeremy

Doesn't change the result of the test but it does prevent the
syntax tree from rendering.

Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-03-08 21:52:23 +00:00
kjeremy
27fc99776f Remove superfluous semicolons
Doesn't change the result of the test but it does prevent the
syntax tree from rendering.
2019-03-08 16:45:26 -05:00
bors[bot]
011bd4b2fc Merge #952
952: Update some deps r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-03-07 19:48:11 +00:00
kjeremy
7481a2da0a Update some deps 2019-03-07 14:42:34 -05:00
bors[bot]
eaa809037f Merge #951
951: Fix EnumVariants not showing properly when hovering r=matklad a=vipentti

This fixes #950 

This also fixes hovering over the name of an EnumVariant.

Additionally this changes the way enum variants are shown, now instead of the `Some<T>... -> Option` you just get `Some`. I'm not sure what would be the optimal display for enum variants in this case.


Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-03-07 19:03:09 +00:00
Ville Penttinen
b168104d95 Use ast::Name::text() instead of name().syntax().text() 2019-03-07 20:58:41 +02:00
Ville Penttinen
5c0556c2ca Fix EnumVariants not showing properly when hovering
This fixes documentation as well for EnumVariants
2019-03-07 20:33:33 +02:00
bors[bot]
4ce962f64e Merge #948
948: Fix test_missing_module_code_action_in_json_project on Windows r=matklad a=vipentti

The test would fail on Windows due to the paths not being properly escaped for
JSON.

In addition adds extra braces around the fn main to actually introduce braces in
the file.

Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-03-07 17:35:57 +00:00
Ville Penttinen
84e1d50a2a Fix test_missing_module_code_action_in_json_project on Windows
The test would fail on Windows due to the paths not being properly escaped for
JSON.

In addition adds extra braces around the fn main to actually introduce braces in
the file.
2019-03-07 19:27:06 +02:00
bors[bot]
f8f24cb869 Merge #949
949: Specify derive feature for serde r=matklad a=pcpthm

`ra_project_model` build will fail when no dependencies are using this feature. Reproduced by creating a crate depending on `ra_batch`.

Co-authored-by: pcpthm <pcpthm@gmail.com>
2019-03-07 17:23:59 +00:00
pcpthm
d4108cdd60 Specify derive feature for serde 2019-03-08 01:58:29 +09:00
bors[bot]
711b82a701 Merge #944
944: Add support for goto definition and hover on Self r=matklad a=vipentti

This fixes #943

Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-03-07 16:10:36 +00:00
Ville Penttinen
4a0bb3d7c5 Add support for goto definition and hover on Self
This fixes #943
2019-03-07 17:34:44 +02:00
bors[bot]
a41d8e140c Merge #946
946: when loading workspace, say how many packages were loaded r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-07 14:48:37 +00:00
Aleksey Kladov
1aa11eb7e9 when loading workspace, say how many packages were loaded
this should help to debug configuration issues, when you see `0
packages loaded` or something like that.
2019-03-07 17:46:17 +03:00
bors[bot]
5232099977 Merge #939
939: Initial implementation of project-lock.json. r=davidtwco a=davidtwco

Fixes #792.

This PR adds a initial implementation of project-lock.json, a build
system agnostic method of specifying the crate graph and roots.

Co-authored-by: David Wood <david@davidtw.co>
2019-03-07 11:36:04 +00:00
David Wood
4cd757c1e3
Remove rust-project.json test w/ dependencies. 2019-03-07 12:28:19 +01:00
bors[bot]
b94e1eee83 Merge #942
942: Hover for associated items in patterns r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-03-07 09:57:04 +00:00
David Wood
3bc33ae712
Add test demonstrating logic for handling deps. 2019-03-07 01:06:46 +01:00
David Wood
614dd3c347
Rename and change add_roots to return a Vec. 2019-03-07 01:05:07 +01:00
David Wood
00d927a188
Initial implementation of project-lock.json.
This commit adds a initial implementation of project-lock.json, a build
system agnostic method of specifying the crate graph and roots.
2019-03-07 01:05:03 +01:00
kjeremy
064707c5a0 Use source map 2019-03-06 14:40:42 -05:00
kjeremy
aac421b135 Hover for associated items in patterns 2019-03-06 11:39:11 -05:00
bors[bot]
b1a1d20e06 Merge #933
933: Check installed extension r=matklad a=c410-f3r

Fixes #918.

Edit: Windows encoding for Unicode is UTF-16 so String::from_utf8 will probably fail unless `Vec<u8>` is already UTF-8 somehow, which I don't know for sure.

Co-authored-by: Caio <c410.f3r@gmail.com>
2019-03-06 12:21:55 +00:00
bors[bot]
bab97f1602 Merge #941
941: ⬆️ vfs r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-06 11:53:05 +00:00
Aleksey Kladov
d92b449f05 ⬆️ vfs 2019-03-06 14:52:42 +03:00
bors[bot]
efff774068 Merge #940
940: Show workspace loaded notification r=matklad a=vipentti

This fixes #935 

This adds support for more `InitializationOptions` which are provided by the client.

Co-authored-by: Ville Penttinen <villem.penttinen@gmail.com>
2019-03-06 09:56:16 +00:00
Ville Penttinen
0dcb1cb569 Add showWorkspaceLoadedNotification to vscode client
This allows users to control whether or not they want to see the "workspace
loaded" notification.

This is done on the server side using InitializationOptions which are provided
by the client. By default show_workspace_loaded is true, meaning the
notification is sent.
2019-03-06 11:34:38 +02:00
Caio
cb60416cb5 Check installed extension 2019-03-05 18:19:36 -03:00