Aleksey Kladov
61687b9db6
fix tests
2019-01-06 17:35:29 +03:00
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