Commit graph

1092 commits

Author SHA1 Message Date
Aleksey Kladov
10f4d4b74c Make nameresolution resilient to reparsing
We now store item id's instead of local syntax ptrs, and item ids
don't change if you type inside a single function.
2018-11-27 15:02:06 +03:00
Aleksey Kladov
4d87799a4a implement file_items 2018-11-27 15:01:52 +03:00
Aleksey Kladov
16cdd126b6 add file items query 2018-11-27 15:01:52 +03:00
bors[bot]
8e37208040 Merge #244
244: Switch to id-arena r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-27 11:23:29 +00:00
Aleksey Kladov
ed023929d5 Switch to id-arena 2018-11-27 14:23:06 +03:00
Aleksey Kladov
7adbea9c42 fix npm problems 2018-11-27 12:29:09 +03:00
Aleksey Kladov
6b1f30ade9 hack around nested libraries 2018-11-27 00:12:43 +03:00
bors[bot]
8a572043e7 Merge #242
242: Codify Arena pattern r=matklad a=matklad

bors r+

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-25 16:03:13 +00:00
Aleksey Kladov
b6fcd46278 Codify Arena pattern 2018-11-25 19:02:14 +03:00
bors[bot]
8f5fb83413 Merge #241
241: switch back to the latest beta r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-24 18:53:24 +00:00
Aleksey Kladov
ebc4e75253 switch back to the latest beta 2018-11-24 21:52:49 +03:00
bors[bot]
4bff9ce59a Merge #239
239: add test loggin API to db r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-21 17:44:43 +00:00
Aleksey Kladov
955d2eea45 add test loggin API to db 2018-11-21 20:44:05 +03:00
bors[bot]
1f36cef7d3 Merge #238
238: Use `:` as a trigger character for completion r=matklad a=matklad

Note that VSCode asks for completion after *first* `:` as well:

    use crate:

we use hacks to protect against that, and to give completions only
after the second `:`.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-21 16:07:14 +00:00
Aleksey Kladov
e8c50f0915 Use : as a trigger character for completion
Note that VSCode asks for completion after *first* `:` as well:

    use crate:

we use hacks to protect against that, and to give completions only
after the second `:`.
2018-11-21 19:06:48 +03:00
bors[bot]
ac874b6455 Merge #237
237: This moves parts of completion from ad-hockery to descriptors-based resolve r=matklad a=matklad



Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-21 15:35:51 +00:00
Aleksey Kladov
edeec6a414 Complete paths after :: 2018-11-21 18:34:20 +03:00
Aleksey Kladov
7ffc7d3308 Move path completion to descriptors 2018-11-21 18:20:44 +03:00
Aleksey Kladov
11f19b7849 name res uses paths 2018-11-21 17:51:02 +03:00
Aleksey Kladov
5a87a24f82 move Path 2018-11-21 17:18:26 +03:00
Aleksey Kladov
18000ba864 docs 2018-11-21 17:07:44 +03:00
Aleksey Kladov
d47075af52 move path to descriptors 2018-11-21 16:16:54 +03:00
Aleksey Kladov
8954d4dc67 Introduce Import struct 2018-11-21 16:15:15 +03:00
Aleksey Kladov
82c088137a Remove import_resolutions
It's cheaper to re-query this info anyway
2018-11-21 16:02:34 +03:00
bors[bot]
031bc86829 Merge #236
236: WIP: Module name resolution r=matklad a=matklad

work towards #231 

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-21 11:57:32 +00:00
Aleksey Kladov
5a61b218f8 Pin to older beta
https://github.com/rust-lang/rust/issues/56128
2018-11-21 14:47:19 +03:00
Aleksey Kladov
049f8df93c switch completion to new scope 2018-11-21 12:57:05 +03:00
Aleksey Kladov
b70b6bce19 Move to top 2018-11-21 11:35:25 +03:00
Aleksey Kladov
ff75ad13a4 Measure time 2018-11-21 11:18:43 +03:00
Aleksey Kladov
02c4f82348 simple test for item map 2018-11-21 11:16:46 +03:00
Aleksey Kladov
36aad85138 add item map query 2018-11-21 00:39:50 +03:00
Aleksey Kladov
9bb11aee44 populate resolve from unresolved imports 2018-11-21 00:31:12 +03:00
Aleksey Kladov
aab71bff8e move to method 2018-11-20 23:36:53 +03:00
Aleksey Kladov
cc8163439f populate modules 2018-11-20 21:50:22 +03:00
Aleksey Kladov
1cf92c3e28 remember spans with paths 2018-11-20 21:17:14 +03:00
Aleksey Kladov
c54b51fded add DefId 2018-11-20 21:12:15 +03:00
Aleksey Kladov
8086107b6a implement path conversion 2018-11-20 19:40:37 +03:00
Aleksey Kladov
bcdcfa9df2 Some import resolution boilerplate 2018-11-20 19:24:58 +03:00
Aleksey Kladov
5f8068cea8 make mod private 2018-11-20 18:34:10 +03:00
bors[bot]
713c3ea30b Merge #234
234: Global module r=matklad a=matklad

This series of commits re-introdces `ModuleDescriptor` as one stop shop for all information about a module.

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-11-20 14:33:54 +00:00
Aleksey Kladov
a2fdb41ace fix typo 2018-11-20 17:33:27 +03:00
Aleksey Kladov
8fc51501e0 Remove ModId 2018-11-20 17:23:17 +03:00
Aleksey Kladov
1913bedc2e Make more stuff private 2018-11-20 17:21:00 +03:00
Aleksey Kladov
a300fb68e2 Make most of modules impl private 2018-11-20 17:16:33 +03:00
Aleksey Kladov
0dd26a2f5b Use OO module API in completion 2018-11-20 17:08:40 +03:00
Aleksey Kladov
21508cfb2f Use OO API instead of resolve_module 2018-11-20 16:55:35 +03:00
Aleksey Kladov
0ab3c65d98 Use OO API in crate_for 2018-11-20 16:40:15 +03:00
Aleksey Kladov
d475e3b29f Make LikdId private 2018-11-20 16:24:47 +03:00
Aleksey Kladov
3b8d0c215a Use more OO API for parent module 2018-11-20 16:21:02 +03:00
Aleksey Kladov
099da13f53 Make some queries private
Convention: we prefix private queries with `_` until salsa support
real visibility.
2018-11-20 14:58:01 +03:00