Commit Graph

3174 Commits

Author SHA1 Message Date
Igor Matuszewski
0e47c371fd Ignore unnamed trait fns and add more tests 2019-03-16 22:41:13 +01:00
Igor Matuszewski
406343492c Simplify calculation of missing functions
Asymptotically computing a set difference is faster but in the average
case we won't have more than ~10 functions. Also prefer not using hash
sets as these may yield nondeterministic results.
2019-03-16 22:41:13 +01:00
Igor Matuszewski
713975b1c1 Properly support the case when the cursor is inside an empty block or outside 2019-03-16 22:41:13 +01:00
Igor Matuszewski
38eece97ec Redo indent calculation when adding missing impl members 2019-03-16 22:41:13 +01:00
Igor Matuszewski
2f616eea9c Implement a simple working assist 2019-03-16 22:41:13 +01:00
Igor Matuszewski
1c07c5ccf9 Calculate missing functions from impl body 2019-03-16 22:41:13 +01:00
Igor Matuszewski
fc060573f9 Add 'add_missing_impl_members' assist stub 2019-03-16 22:41:13 +01: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]
9a59272f5f Merge #981
981: Remove FnSig from FnDef type r=matklad a=flodiebold

It doesn't need to be in there since it's just information from the def. Another
step towards aligning Ty with Chalk's representation.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-03-16 17:24:55 +00:00
Florian Diebold
7faae12311 Remove FnSig from FnDef type
It doesn't need to be in there since it's just information from the def. Another
step towards aligning Ty with Chalk's representation.
2019-03-16 17:29:55 +01:00
Florian Diebold
a9ddaba905 Refactor FnSig a bit 2019-03-16 17:21:32 +01:00
Florian Diebold
628b530e92 Some more Ty displaying cleanup 2019-03-16 16:50:31 +01:00
bors[bot]
76572e67ea Merge #976
976: Replace Display by a pretty printing trait for Ty r=matklad a=flodiebold

This allows removing the names from Adt and FnDef (and more later), as a first
step towards aligning more with chalk's Ty :)

I may have gone a bit overboard with the definition of the PrettyPrint trait...

Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2019-03-16 15:42:36 +00:00
Florian Diebold
c5ee60e05b Replace Display by a pretty printing trait for Ty
This allows removing the names from Adt and FnDef (and more later), as a first
step towards aligning more with chalk's Ty :)
2019-03-16 16:36:59 +01:00
bors[bot]
b6ddf976f1 Merge #978
978: Update some dependencies r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-03-15 21:15:43 +00:00
kjeremy
c2c79fae72 Update some dependencies 2019-03-15 11:36:25 -04:00
bors[bot]
cd9e93aa14 Merge #977
977: Fix ra-emacs-lsp for newest lsp-mode with native json support r=matklad a=flodiebold



Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2019-03-15 05:03:50 +00:00
Florian Diebold
c656bf3946 Fix ra-emacs-lsp for newest lsp-mode with native json support 2019-03-14 22:08:37 +01:00
bors[bot]
eb4d6cf25f Merge #975
975: sort navigations to make tests stable r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-14 10:29:29 +00:00
Aleksey Kladov
8774067a87 sort navigations to make tests stable 2019-03-14 13:28:45 +03:00
bors[bot]
a0ded3f7c0 Merge #974
974: Add MINUS token the PATTERN_FIRST token set r=matklad a=mchesser

Fixes: #972 

Co-authored-by: Michael Chesser <michaelchesser@outlook.com>
2019-03-14 09:17:21 +00:00
Michael Chesser
943d2fb781 Add test for minus in inner pattern 2019-03-14 19:24:12 +10:30
Michael Chesser
16418c35bc Allow MINUS at the start of a pattern. 2019-03-14 19:24:11 +10:30
bors[bot]
f7065c294c Merge #973
973: derive Hash for ra_hir::ModuleDef r=matklad a=pcpthm

I wanted to use `HashSet` but it seems like `Hash` derive is missing for no reason.

Co-authored-by: pcpthm <pcpthm@gmail.com>
2019-03-14 08:32:13 +00:00
pcpthm
adad641c52 derive Hash for ra_hir::ModuleDef 2019-03-14 17:25:51 +09:00
bors[bot]
9280788b1e Merge #971
971: Point to compiler-team repo in the readme r=matklad a=detrumi

The readme still links to the old repo, which redirects to the new one

Co-authored-by: Wilco Kusee <wilcokusee@gmail.com>
2019-03-14 07:04:56 +00:00
Wilco Kusee
4133681e7e Point to the compiler-team repo directly 2019-03-13 19:36:26 +01:00
bors[bot]
dc8c5ad32e Merge #970
970: Fix typo r=matklad a=skade



Co-authored-by: Florian Gilcher <florian.gilcher@asquera.de>
2019-03-13 14:50:38 +00:00
Florian Gilcher
6d4038a2c7
Fix typo 2019-03-13 15:23:22 +01:00
bors[bot]
bebf51e4c0 Merge #969
969: activate extension if Cargo.toml is present r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-03-13 13:39:24 +00:00
Aleksey Kladov
6ef614f785 activate extension if Cargo.toml is present 2019-03-13 16:38:49 +03: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