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
bors[bot]
032d15c392
Merge #171
...
171: Query-based module scopes r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-10-30 23:10:48 +00:00
Aleksey Kladov
fbbee53722
Add ModuleScope as a query
...
This is a first step towards queryifing completion and resolve.
Some code currently duplicates ra_editor: the plan is to move all
completion from ra_editor, but it'll take more than one commit.
2018-10-31 02:08:54 +03:00
Aleksey Kladov
23cad90fe9
⬆️ salsa
2018-10-31 01:22:47 +03:00
bors[bot]
d10214581e
Merge #168
...
168: Fix param number r=matklad a=kjeremy
Fixes the parameter number if we are not in a method
Co-authored-by: Jeremy A. Kolb <jkolb@ara.com>
2018-10-30 21:50:51 +00:00
Aleksey Kladov
1643d94a65
switch to TextRange::subrange
2018-10-30 21:26:55 +03:00
Aleksey Kladov
950e8b8182
introduce syntax-ptr
2018-10-30 21:23:23 +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
5ef3fda5e1
Remove unneded Hash
2018-10-25 17:43:17 +03:00
Aleksey Kladov
e7217e1a01
dead code
2018-10-25 17:42:29 +03:00
Aleksey Kladov
3c024d6c62
dead code
2018-10-25 17:41:17 +03:00
Aleksey Kladov
e0eb33605a
Encapsulate CrateGraph a bit
2018-10-25 17:40:24 +03:00
Aleksey Kladov
75d9cbd7c2
re-enable cancelation
2018-10-25 17:22:31 +03:00
Aleksey Kladov
772acb53f2
use correct file when resolving callables
2018-10-25 16:25:40 +03:00
Aleksey Kladov
171acad15b
disable cancelation
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
44c8ddf885
make indexing parallel again
2018-10-24 16:13:17 +03:00
Aleksey Kladov
b636d23bec
revive the test
2018-10-24 15:00:03 +03:00
bors[bot]
ffbb604363
Merge #157
...
157: Introduce ModuleId r=matklad a=matklad
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.
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2018-10-23 17:57:10 +00: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
Jeremy A. Kolb
0ee37099b5
Cargo Update run
...
Bump relative-path to 0.4.0
Failure 0.1.3 to fix leak with downcast
Updated everything else too
2018-10-23 09:46:00 -04: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
dbe2880219
cleanup
2018-10-20 23:27:06 +03:00
Aleksey Kladov
0102a01f76
Remove job handle
2018-10-20 22:59:54 +03:00
Aleksey Kladov
8bb4380448
Fix tests
2018-10-20 22:43:36 +03:00
Aleksey Kladov
6e88aaef5d
use pythonic import order
...
use std
// blank line
use extern crates
// blank line
use crate::{}
2018-10-20 22:38:52 +03:00
Aleksey Kladov
8eea10e3ab
actually check for cancelation
2018-10-20 22:35:55 +03: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
Aleksey Kladov
61518580ed
introduce cancelable
2018-10-20 21:46:17 +03:00
Alan Du
0857c22f26
Revert "clippy: Fix new_ret_no_self"
...
This reverts commit 2ae9dfa812
.
2018-10-20 12:29:25 -04:00
Aleksey Kladov
73dd870da2
update salsa
2018-10-20 18:43:02 +03: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
bc774fe6cf
clippy: needless_lifetimes
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
2268a2f8c6
Silence clippy::derive_hash_xor_eq
...
Manually implement PartialEq
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
f30a7deff1
switch to salsa release
2018-10-15 23:57:46 +03:00
Aleksey Kladov
fc31ddd303
Simplify
2018-10-15 22:59:18 +03:00
Aleksey Kladov
85ff328d31
remove clones
2018-10-15 22:36:08 +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
ee69fddf02
Drop dead code
2018-10-15 21:56:01 +03:00
Aleksey Kladov
7503c5528f
fix tests
2018-10-15 21:54:12 +03:00
Aleksey Kladov
062019590d
Switch to the master of salsa
2018-10-15 21:25:54 +03:00
Aleksey Kladov
d783371b86
migrate modue map to salsa
2018-10-15 21:20:20 +03:00
Aleksey Kladov
d8aee31a60
start salsa migration
2018-10-15 21:19:49 +03:00
Aleksey Kladov
64b879d6a9
add salsa dep, break the world
2018-10-15 21:12:06 +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
Aleksey Kladov
2b956fd3a8
Add on-enter handler
...
Now, typing doc comments is much more pleasant
2018-10-09 19:52:06 +03: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
Jeremy A. Kolb
ff0a706a30
Split folding ranges into editor and lsp parts
2018-09-24 09:52:33 -04:00
Aleksey Kladov
b5021411a8
rename all things
2018-09-16 13:07:39 +03:00