Commit Graph

104 Commits

Author SHA1 Message Date
Aleksey Kladov
1e1c188cbf rename Position to FilePostion 2018-11-05 14:24:38 +03:00
Aleksey Kladov
6bbcfca7ae Fully add inline modules to module tree 2018-11-05 14:10:20 +03:00
Aleksey Kladov
88a15d10d5 use module_for_source 2018-11-05 12:36:38 +03:00
Aleksey Kladov
f29b0172fb Use Default everywhere 2018-11-04 14:09:21 +03:00
Aleksey Kladov
a17b41033a update salsa 2018-11-01 15:30:07 +03:00
Aleksey Kladov
f2b654fd44 Add inline source 2018-11-01 13:51:44 +03:00
Aleksey Kladov
223fd2979c Introduce ModuleSource 2018-11-01 13:41:58 +03:00
Aleksey Kladov
2050812cad remove SyntaxPtrDatabase 2018-11-01 13:15:11 +03:00
Aleksey Kladov
6be50f7d5d Reformat all 2018-10-31 23:41:43 +03:00
Jeremy A. Kolb
9b9fc135d6 Simplify find_all_refs by always resolving a ast::BindPat 2018-10-31 23:38:22 +03:00
Jeremy A. Kolb
406f366ccc Add DeclarationDescriptor and ReferenceDescriptor
Fixes #142
Fixes #146
2018-10-31 23:30:57 +03:00
Jeremy A. Kolb
3c2aefc274 Prevent panic by initializing LibrariesQuery 2018-10-31 14:53:09 -04:00
bors[bot]
b58ca6b1a6 Merge #177
177: Librariese -> Libraries r=matklad a=kjeremy



Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2018-10-31 18:16:58 +00:00
Jeremy A. Kolb
542fbcbaed Fix typo 2018-10-31 14:05:14 -04:00
Aleksey Kladov
f3fb59d707 Move completion to ra_analysis
While we should handle completion for isolated file, it's better
achieved by using empty Analysis, rather than working only with &File:
we need memoization for type inference even inside a single file.
2018-10-31 21:01:51 +03:00
Aleksey Kladov
c02be1502c move resolve local name 2018-10-31 15:13:49 +03:00
Aleksey Kladov
b67295134b Move FnDescriptors to analyzer 2018-10-31 10:56:31 +03:00
Aleksey Kladov
23cad90fe9 ⬆️ salsa 2018-10-31 01:22:47 +03:00
Jeremy A. Kolb
93dc703011 Fix param number 2018-10-30 14:09:53 -04:00
Aleksey Kladov
bc4de7128f gc syntax trees 2018-10-29 13:58:11 +03:00
Aleksey Kladov
35568cf057 Index files in parallel 2018-10-29 13:32:45 +03:00
Aleksey Kladov
363adf07b7 restore symbols filtering 2018-10-25 17:59:03 +03:00
Aleksey Kladov
d190019571 Move input to top-level 2018-10-25 17:52:50 +03:00
Aleksey Kladov
772acb53f2 use correct file when resolving callables 2018-10-25 16:25:40 +03:00
Aleksey Kladov
56df0fc83c Improve logging 2018-10-25 16:25:40 +03:00
Aleksey Kladov
ee4d904cfb Store all the data in the Salsa Database 2018-10-25 16:25:40 +03:00
Aleksey Kladov
69d07df201 Complete crate:: paths 2018-10-24 18:37:25 +03:00
Aleksey Kladov
9a7db8fa00 simplify roots 2018-10-24 17:25:10 +03:00
Aleksey Kladov
8ada1a2689 Simplify 2018-10-24 16:36:28 +03:00
Aleksey Kladov
dc477db757 Introduce ModuleId
Previously, module was synonym with a file, and so a module could have
had several parents. This commit introduces a separate module concept,
such that each module has only one parent, but a single file can
correspond to different modules.
2018-10-23 20:44:23 +03:00
bors[bot]
27694abd94 Merge #138
138: Fix some clippy lints r=matklad a=alanhdu

I went ahead and fixed all the clippy lints (there were a couple I thought would be better unfixed and added `cfg` statements to allow them) and also re-enabled clippy and rustfmt in CI.

They were disabled with `no time to explain, disable clippy checks`, so hopefully this won't go against whatever the reason at the time was 😆.

One question about the CI though: right now, it's an allowed failure that runs against the latest nightly each time. Would it be better to pin it to a specific nightly (or use the `beta` versions) to lower the churn?

Co-authored-by: Alan Du <alanhdu@gmail.com>
2018-10-22 21:14:38 +00:00
Aleksey Kladov
71cbdddf1c make file-symbols query cancelable 2018-10-20 22:29:26 +03:00
Aleksey Kladov
e74bf6e56e mark module queries as cacelable 2018-10-20 22:15:03 +03:00
Aleksey Kladov
9fb41716de make more things cancelable 2018-10-20 22:09:12 +03:00
Aleksey Kladov
998f2ae762 remove job tokens 2018-10-20 22:02:41 +03:00
Aleksey Kladov
c4b0d3cd56 make parent module cancelable 2018-10-20 21:52:49 +03:00
Alan Du
0857c22f26 Revert "clippy: Fix new_ret_no_self"
This reverts commit 2ae9dfa812.
2018-10-20 12:29:25 -04:00
Jeremy A. Kolb
3746689e9d Implement Find All References for local variables 2018-10-18 13:40:12 -04:00
Alan Du
a5da770ec6 Fix function calls 2018-10-17 19:42:23 -04:00
Alan Du
2ae9dfa812 clippy: Fix new_ret_no_self 2018-10-17 19:42:23 -04:00
Alan Du
5db663d61f Clippy lint: single-character string constant 2018-10-17 19:42:23 -04:00
Jeremy A. Kolb
61f3a438d3 Cargo Format
Run `cargo fmt` and ignore generated files
2018-10-16 09:41:10 -04:00
Aleksey Kladov
fc31ddd303 Simplify 2018-10-15 22:59:18 +03:00
Aleksey Kladov
bbcd998433 make analysis sync 2018-10-15 22:29:24 +03:00
Aleksey Kladov
76c51fae77 Tweak writable root API 2018-10-15 22:05:21 +03:00
Aleksey Kladov
8c88900fa9 remove resolver from world 2018-10-15 22:01:50 +03:00
Aleksey Kladov
7503c5528f fix tests 2018-10-15 21:54:12 +03:00
Aleksey Kladov
bb298158eb migrate analysis and server to 2018 2018-10-15 20:15:53 +03:00
Jeremy A. Kolb
c9909f42ba A FnDescriptor shouldn't exist without a name 2018-10-12 07:54:57 -04:00
Jeremy A. Kolb
f8a2b53304 Language Server: textDocument/signatureHelp
Implements a pretty barebones function signature help mechanism in
the language server.

Users can use `Analysis::resolve_callback()` to get basic information
about a call site.

Fixes #102
2018-10-11 16:40:46 -04:00
Muhammad Mominul Huque
dc2b30e9b6
Replace HashMap, HashSet with FxHashMap and FxHashSet 2018-10-12 00:07:44 +06:00
Jeremy A. Kolb
828bd73195 Resolve local names first 2018-10-06 12:02:15 -04:00
Jeremy A. Kolb
1d4c767879 WIP: This doesn't currently work but I also don't think it's the right abstraction 2018-10-05 15:21:40 -04:00
Aleksey Kladov
b5021411a8 rename all things 2018-09-16 13:07:39 +03:00