Commit Graph

2315 Commits

Author SHA1 Message Date
Aleksey Kladov
8c4d277036 switch source-binders to Module 2019-01-06 17:35:29 +03:00
Aleksey Kladov
147b0f94e6 Start code_model::Module 2019-01-06 17:35:29 +03:00
Aleksey Kladov
9a820dc0ee move crate to code_model_api 2019-01-06 17:35:29 +03:00
bors[bot]
eaf553dade Merge #441
441: hir::Expr r=matklad a=flodiebold

Still a bit to do, but I already adapted `FnScopes` and thought I'd get feedback already.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-06 13:45:22 +00:00
Simon Vandel Sillesen
4f3bc42349 add more tests 2019-01-06 12:24:33 +01:00
bors[bot]
cbac31cbdb Merge #443
443: split_import intention correctly works with use trees r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-06 09:50:33 +00:00
Aleksey Kladov
bc3e732ec5 split_import intention correctly works with use trees 2019-01-06 12:48:33 +03:00
Simon Vandel Sillesen
b0ffa98a00 add "." as a trigger char on type formatting 2019-01-06 09:56:00 +01:00
Simon Vandel Sillesen
2e52b27e71 refactor 2019-01-06 09:41:11 +01:00
Simon Vandel Sillesen
bb8624dff6 format code 2019-01-06 08:08:23 +01:00
Simon Vandel Sillesen
cfaaf33069 rename unused variable 2019-01-06 07:56:02 +01:00
Florian Diebold
98957f4e6f Add fn signature query 2019-01-06 01:13:31 +01:00
Simon Vandel Sillesen
f99398d9d5 indent on typing dot. fixes #439 2019-01-06 00:58:03 +01:00
Florian Diebold
e5a6cf8153 Various small code review improvements 2019-01-06 00:38:08 +01:00
Florian Diebold
8e3e5ab2c8 Make FnScopes use hir::Expr
This was a bit complicated. I've added a wrapper type for now that does the
LocalSyntaxPtr <-> ExprId translation; we might want to get rid of that or give
it a nicer interface.
2019-01-06 00:29:36 +01:00
Florian Diebold
136aba1cf3 Add HIR Expr machinery 2019-01-05 22:41:12 +01:00
Florian Diebold
a6f33b4ca5 Add test for invalidation of inferred types when typing inside function
This currently fails, but should work once we have hir::Expr.
2019-01-05 22:41:12 +01:00
Marcus Klaas de Vries
4fc233a02e Implement type inference for boolean operators 2019-01-05 21:28:30 +01:00
bors[bot]
3e42a15878 Merge #438
438: show types in local variable hovers r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-05 18:09:48 +00:00
Aleksey Kladov
01cf32c46e fix tests 2019-01-05 21:09:11 +03:00
Aleksey Kladov
be84a112a7 show types in local variable hovers 2019-01-05 20:53:30 +03:00
bors[bot]
cc53e9e7d1 Merge #437
437: refactor goto defenition r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-05 17:03:55 +00:00
Aleksey Kladov
ee461a2111 kill approximatelly_resolve_symbol 2019-01-05 20:00:03 +03:00
Aleksey Kladov
da32463cbf inline goto_defention tests 2019-01-05 19:41:43 +03:00
Aleksey Kladov
c2a0f5e50f move goto_defenition to a separate file 2019-01-05 19:30:49 +03:00
Aleksey Kladov
4551155073 introduce separate goto_defenition 2019-01-05 19:30:49 +03:00
Aleksey Kladov
ad2a5da259 kill accidentally added file 2019-01-05 19:30:42 +03:00
bors[bot]
2a19d699eb Merge #436
436: Allow user to set path to ra_lsp_server in vscode settings r=matklad a=gentoo90



Co-authored-by: gentoo90 <gentoo90@gmail.com>
2019-01-05 16:13:45 +00:00
gentoo90
a6e04cfa7f Allow user to set path to ra_lsp_server in vscode settings 2019-01-05 17:28:41 +02:00
bors[bot]
b1c86e686c Merge #435
435: Refactor hover r=matklad a=matklad

Primaraly this moves `hover` to `ra_analysis`, so that we finally can write tests for it!

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-05 14:42:10 +00:00
Aleksey Kladov
bdbdade036 move typeof to hover 2019-01-05 17:39:34 +03:00
Aleksey Kladov
9f44d4c56d fold doc_comment into hover 2019-01-05 17:33:31 +03:00
Aleksey Kladov
3ad0037f90 move hover implementation to ra_analysis 2019-01-05 17:24:17 +03:00
Aleksey Kladov
2560a9e807 wip 2019-01-05 16:40:50 +03:00
bors[bot]
8d51b02362 Merge #414
414: textDocument/hover returns both type name and doc_text r=matklad a=h-michael

implement #389

Co-authored-by: Hirokazu Hata <h.hata.ai.t@gmail.com>
2019-01-05 13:12:41 +00:00
bors[bot]
0f0969b64a Merge #434
434: change visibility can change pub to pub(crate) r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-05 12:28:42 +00:00
Aleksey Kladov
79fd6b5c88 change visibility can change pub to pub(crate) 2019-01-05 15:28:07 +03:00
bors[bot]
44e42edc8b Merge #432
432: Fix link in architecture.md r=matklad a=detrumi



Co-authored-by: Wilco Kusee <wilcokusee@gmail.com>
2019-01-05 11:47:11 +00:00
Wilco Kusee
381cf8b38b Fix link in architecture.md 2019-01-05 12:34:13 +01:00
bors[bot]
53ffa2a030 Merge #431
431: fixes for LSP file system operations r=matklad a=vemoo

fixes for #131 

Co-authored-by: Bernardo <berublan@gmail.com>
2019-01-05 11:31:22 +00:00
Bernardo
4dfc5a6341 fix open of created or renamed file 2019-01-05 12:12:39 +01:00
bors[bot]
9b5b13dfcf Merge #430
430: split import assist r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-05 10:57:39 +00:00
Aleksey Kladov
ea3504057e split import assist 2019-01-05 13:56:33 +03:00
bors[bot]
481713a0e1 Merge #427
427: Remove extra space when joining lines in use items r=matklad a=alanhdu

Fixes #423.

Co-authored-by: Alan Du <alanhdu@gmail.com>
2019-01-05 07:16:48 +00:00
Alan Du
19c641390d Fix join_lines use_items right w/ and w/o comma 2019-01-04 22:06:36 -05:00
Alan Du
182ec76f13 Address join lines use items right } 2019-01-04 22:01:11 -05:00
Hirokazu Hata
341eb4ae87 Use both type_of and doc_text_for 2019-01-05 11:28:16 +09:00
Aleksey Kladov
4608a41ad4 ⬆️ rowan 2019-01-05 00:50:56 +03:00
bors[bot]
4a3ef8fe63 Merge #370
370: Self params & type r=matklad a=flodiebold

This implements type inference for `self`, so field completion for methods taking `self` works now.

 - rename `IMPL_ITEM` to `IMPL_BLOCK` -- rustc calls the methods etc. inside an impl `ImplItem`s, and the impl itself doesn't define an item, so I thought this name was clearer.
 - add HIR for impl blocks -- we collect all impls in a crate at once, so we can go from methods to containing impls, and since we will later also need to find all impls for a certain type (which may be anywhere in the crate, I think?). We could be more lazy here, but I don't know if it's worth the complexity.
 - resolve `self` and `Self` during type inference
 - refactor a bit in ty.rs as well

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-01-04 19:55:23 +00:00
bors[bot]
04e6b26758 Merge #428
428: ⬆️ salsa r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-04 19:31:35 +00:00