Commit Graph

360 Commits

Author SHA1 Message Date
Florian Diebold
7bb279b365 Implement autoderef for field accesses 2019-01-07 14:54:23 +01:00
bors[bot]
a6071c9f4c Merge #442
442: WIP: indent on typing dot r=matklad a=simonvandel

Fixes #439.

The unit test passes, but I can't seem to make VS code perform the action. The existing action on "=" doesn't work either on my end either though.

I didn't add any smart way of detecting the current indent level. Any ideas how I would do that?

Co-authored-by: Simon Vandel Sillesen <simon.vandel@gmail.com>
2019-01-07 06:26:09 +00:00
Florian Diebold
2dfb5e6ac0 Improve types for node_expr / node_pat 2019-01-07 00:05:19 +01:00
Florian Diebold
6210e82041 Use HIR Expr for type inference
Now we can reuse the type inference inside a function when typing whitespace
etc. :)
2019-01-07 00:05:19 +01:00
Florian Diebold
a4e97f5a2b Show types when hovering patterns as well 2019-01-06 22:53:09 +01:00
Aleksey Kladov
c303e6fbdf fix ra_analysis to work with the new API 2019-01-06 17:35:57 +03:00
Aleksey Kladov
a7f4f7bfcc split module source into decl/defin 2019-01-06 17:35:57 +03:00
Aleksey Kladov
61687b9db6 fix tests 2019-01-06 17:35:29 +03: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
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
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
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
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
Aleksey Kladov
ea3504057e split import assist 2019-01-05 13:56:33 +03:00
Florian Diebold
e6aeabf96f Rename ImplsInCrateQuery as well 2019-01-04 19:52:07 +01:00
Florian Diebold
0ad13b9477 Add a test for self field completion
Needed to add a default crate graph in the analysis for that.
2019-01-04 19:14:52 +01:00
Florian Diebold
ae9530addc Add HIR for impl blocks
Since we need to be able to go from def to containing impl block, as well as the
other direction, and to find all impls for a certain type, a design similar to
the one for modules, where we collect all impls for the whole crate and keep
them in an arena, seemed fitting. The ImplBlock type, which provides the public
interface, then consists only of an Arc to the arena containing all impls, and
the index into it.
2019-01-04 19:10:47 +01:00
csmoe
f604ff5b2f parse doc comment for items 2019-01-04 21:29:00 +08:00
Aleksey Kladov
d61707b4e1 index stuff produced by macros 2019-01-03 21:29:17 +03:00
Aleksey Kladov
ebd7c04faa construct index from symbols directly 2019-01-03 21:29:05 +03:00
Aleksey Kladov
9bb2a74256 embed file_id into FileSymbol 2019-01-03 19:55:34 +03:00
Aleksey Kladov
a4635a199b more enterprisey assists API 2019-01-03 18:59:17 +03:00
Aleksey Kladov
a5935687cb split assists over several files 2019-01-03 15:21:49 +03:00
Aleksey Kladov
5323e59996 rename code-actions -> assists 2019-01-03 15:21:31 +03:00
Aleksey Kladov
3e764f97eb hardcode vec macro 2019-01-03 14:48:23 +03:00
Aleksey Kladov
8d61853509 docs 2019-01-03 12:57:30 +03:00
Aleksey Kladov
03ea6bcbff use LocalPtr in navigation target 2019-01-03 12:26:40 +03:00
Aleksey Kladov
267a89bca2 use LocalSyntaxPtr for file symbol 2019-01-03 12:26:40 +03:00
Aleksey Kladov
f534d2132b move some logic to navigation target 2019-01-03 12:26:40 +03:00
Aleksey Kladov
f673529a33 explain that completion shouldn't do filtering 2019-01-03 12:23:15 +03:00
Aleksey Kladov
28f6eedba5 simplify runnables 2019-01-02 20:12:38 +03:00
Aleksey Kladov
ef08b6c084 fix compilation 2019-01-02 19:41:57 +03:00
Aleksey Kladov
5d483cb998 doctrings 2019-01-02 19:40:41 +03:00
Aleksey Kladov
08d1537468 get rid of AnalysisImpl 2019-01-02 19:20:56 +03:00
Aleksey Kladov
e9b47dbb36 remove AnalysisHostImpl 2019-01-02 18:41:41 +03:00
Aleksey Kladov
2f22c861a9 remove some methods from analysis impl 2019-01-02 18:11:49 +03:00
Aleksey Kladov
a94530afb3 move world-symbols to file_symbols 2019-01-02 18:08:14 +03:00
bors[bot]
29d8bfb9c9 Merge #404
404: Move FileSymbol to ra_analysis r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-01-02 14:26:06 +00:00
Aleksey Kladov
fb775a293d make FileSymbol private 2019-01-02 17:11:04 +03:00
Aleksey Kladov
830abe0c1b use navigation target in API 2019-01-02 17:09:39 +03:00