Aleksey Kladov
a173e31890
Make assists use ImportsLocator directly
2020-02-06 16:40:28 +01:00
bors[bot]
ff2d77bde6
Merge #3029
...
3029: Docs r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-02-06 14:14:47 +00:00
Aleksey Kladov
ec6fb8da7c
Add profiling around add_impl_members
...
This intention is pretty slow for `impl Interator`, because it has a
ton of default methods which need to be substituted.
The proper fix here is to not compute the actual edit until the user
triggers the action, but that's awkward to do in the LSP right now, so
let's just put a profiling code for now.
2020-02-06 14:55:10 +01:00
Aleksey Kladov
939f05f3e3
Move to a crate
2020-02-06 12:43:56 +01:00
kjeremy
793eb51b3b
Update aho-corasick (removes unsafety) and serde_json
2020-02-04 10:37:01 -05:00
kjeremy
0772f76ad0
Update regex
2020-02-01 12:19:02 -05:00
Aleksey Kladov
21950adc94
Switch Cargo.lock to the new format
2020-01-30 18:14:20 +01:00
Jeremy Kolb
a37ee9c8a4
Update crates
2020-01-30 08:07:42 -05:00
Florian Diebold
96ddf2962c
Upgrade Chalk
2020-01-27 21:25:33 +01:00
kjeremy
bcef1ddf63
Update insta
2020-01-27 09:52:34 -05:00
Jeremy Kolb
b89991daed
Update crates
2020-01-26 10:46:45 -05:00
Aleksey Kladov
493a903f22
Bump main thread priority on windows
2020-01-26 14:15:57 +01:00
Aleksey Kladov
f44aee27d3
Disable env_logger humantime feature
...
We rarely care about timings of events, and, when we care, we need
millisecond precision
2020-01-25 11:53:40 +01:00
kjeremy
ee7dd4b9ae
Update crates
2020-01-22 15:40:35 -05:00
kjeremy
c27c480c46
Crates up
2020-01-16 17:34:01 -05:00
bors[bot]
c78d269b66
Merge #2837
...
2837: Accidentally quadratic r=matklad a=matklad
Our syntax highlighting is accdentally quadratic. Current state of the PR fixes it in a pretty crude way, looks like for the proper fix we need to redo how source-analyzer works.
**NB:** don't be scared by diff stats, that's mostly a test-data file
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-15 19:38:10 +00:00
Kirill Bulatov
d51cf7794d
itertools::Either -> either::Either
2020-01-15 20:20:20 +02:00
Kirill Bulatov
78a21253b4
Apply the api design suggestions
2020-01-15 20:17:17 +02:00
Aleksey Kladov
5b255b4e6b
⬆️ once_cell
2020-01-15 16:52:28 +01:00
Jeremy Kolb
e1688be1bb
lsp-types 0.69.0
...
Stabilizes most proposed features
2020-01-15 08:05:42 -05:00
kjeremy
f81232ba4c
Update backtrace
2020-01-13 15:08:27 -05:00
Jeremy Kolb
38c3b02f96
Update crates
2020-01-11 20:16:35 -05:00
Florian Diebold
ccb75f7c97
Use FxHashMap
2020-01-11 23:33:04 +01:00
Aleksey Kladov
47785b0cd4
⬆️ rowan
2020-01-09 16:33:02 +01:00
Jeremy Kolb
1b19a8aa5e
Implement proposed CallHierarchy feature
...
See: https://github.com/microsoft/vscode-languageserver-node/blob/master/protocol/src/protocol.callHierarchy.proposed.ts
2020-01-08 10:15:49 -05:00
Aleksey Kladov
ceb8f74901
⬆️ pico-args
2020-01-08 11:27:31 +01:00
Aleksey Kladov
82ba5eaa19
⬆️ crates
2020-01-07 16:45:57 +01:00
Jeremy Kolb
051a2d869e
Crates up
2020-01-05 22:12:26 -05:00
bors[bot]
823c15215e
Merge #2743
...
2743: Switch ast declaration from ron to a macro r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-03 20:54:42 +00:00
Aleksey Kladov
084bd304f3
Switch ast declaration from ron to a macro
2020-01-03 21:54:10 +01:00
kjeremy
f2a7a33c25
Update quick-error
2020-01-03 09:41:22 -05:00
Jeremy Kolb
35d72e40e2
Update dependencies
2020-01-01 17:51:48 -05:00
Aleksey Kladov
54b4b7e317
⬆️ lsp-server
2019-12-31 11:45:28 +01:00
bors[bot]
dc48f89581
Merge #2668
...
2668: In-server cargo check watching r=matklad a=kiljacken
Opening a draft now so people can follow the progress, and comment if they spot something stupid.
Things that need doing:
- [x] Running cargo check on save
- [x] Pipe through configuration options from client
- [x] Tests for parsing behavior
- [x] Remove existing cargo watch support from VSCode extension
- [x] Progress notification in VSCode extension using LSP 3.15 `$/progress` notification
- [ ] ~~Rework ra-ide diagnostics to support secondary messages~~
- [ ] ~~Make cargo-check watcher use ra-ide diagnostics~~
~~I'd love some input on whether to try to keep the status bar progress thingy for VSCode? It will require some plumbing, and maintaining yet another rust-analyzer specific LSP notification, which I'm not sure we want to.~~
Fixes #1894
Co-authored-by: Emil Lauridsen <mine809@gmail.com>
2019-12-29 12:57:24 +00:00
Jeremy Kolb
7c855c8271
anyhow and crossbeam-queue
2019-12-27 10:51:30 -05:00
Emil Lauridsen
428a6ff5b8
Move cargo watch functionality to separate crate
2019-12-27 11:10:07 +01:00
Emil Lauridsen
c21fbc3e87
Migrate tests from extension to rust
2019-12-25 17:37:40 +01:00
Emil Lauridsen
66e8ef53a0
Initial implementation of cargo check watching
2019-12-25 17:37:40 +01:00
Jeremy Kolb
9c92f205b1
Update lsp-types and rayon
2019-12-23 18:46:04 -05:00
Jeremy Kolb
019fab2261
lsp-types 0.67
2019-12-23 09:33:49 -05:00
bors[bot]
ce07a2daa9
Merge #2636
...
2636: Chalk update and refactoring r=flodiebold a=flodiebold
This updates the Chalk integration to https://github.com/rust-lang/chalk/pull/311 , which will presumably get merged soon, and refactors it some more, most notably introducing our own `TypeFamily` instead of reusing `ChalkIr`. It's still mostly the same as `ChalkIr` though, except for using Salsa `InternId`s directly.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-12-23 10:58:06 +00:00
John-John Tedro
700e74df4a
Bump lsp-types to 0.66.0 ( fixes #2651 )
2019-12-23 11:03:41 +01:00
Florian Diebold
67a2555f6d
Update Chalk, clean up Chalk integration a bit
2019-12-23 00:08:03 +01:00
Aleksey Kladov
d4b135f38c
Optimize and profile
2019-12-21 18:46:21 +01:00
Jeremy Kolb
e9ed346968
Update crates
2019-12-21 10:44:02 -05:00
Jeremy Kolb
429199d481
Use SelectionRange from LSP 3.15
2019-12-20 18:57:31 -05:00
Aleksey Kladov
a04177f135
Add local functions to bodies
2019-12-20 11:52:17 +01:00
Aleksey Kladov
932d805062
⬆️ deps
2019-12-19 18:28:57 +01:00
Aleksey Kladov
7b0644d81e
Switch to the new location for impls
2019-12-12 14:25:34 +01:00
Aleksey Kladov
6c6e6978eb
Update lsp-types more
2019-12-11 18:34:36 +01:00
Aleksey Kladov
b0a4765059
Revert "Revert "Support LSP 3.15""
...
This reverts commit 1e0bf205ef
.
2019-12-11 18:34:01 +01:00
Aleksey Kladov
1e0bf205ef
Revert "Support LSP 3.15"
...
This reverts commit 712700d8e0
.
2019-12-11 18:27:34 +01:00
Jeremy Kolb
fcccf8ec59
Support LSP 3.15
...
This merely upgrades our protocol support. It does not add any of the new features.
2019-12-11 09:11:55 -05:00
Laurențiu Nicola
16df4d8fcb
chore: bump deps and use mainline chalk
2019-12-09 22:35:47 +02:00
Aleksey Kladov
b37c6a746b
Remove ty from code_model
2019-12-08 12:44:14 +01:00
Aleksey Kladov
8c86963d47
DynMap
...
This might, or might not help us to reduce boilerplate associated with
plumbing values from analysis to the IDE layer
2019-12-06 21:28:05 +01:00
Aleksey Kladov
46ad914d7d
⬆️ rowan
2019-12-04 23:03:42 +01:00
Aleksey Kladov
193b1a7437
⬆️ rowan
2019-12-04 17:15:55 +01:00
ice1000
009437f5d9
Replace ra_hir_expand::either
with crate
2019-12-03 11:07:56 -05:00
Jeremy Kolb
e6c0ad0d0a
Just update some things
2019-12-01 15:00:34 -05:00
Alexander Ekdahl
3fe539ce51
Remove log dependency from ra_cli
2019-11-29 19:40:59 -05:00
Alexander Ekdahl
eb4e70fc67
Remove flexi_logger from ra_lsp_server
2019-11-29 19:35:03 -05:00
Alexander Ekdahl
9c01c0dcb5
Use env_logger in ra_cli
2019-11-29 19:20:48 -05:00
kjeremy
cf1d7bf5c9
Update mio and anyhow
2019-11-27 18:05:49 -05:00
Aleksey Kladov
757e593b25
rename ra_ide_api -> ra_ide
2019-11-27 21:35:06 +03:00
Aleksey Kladov
47ec2ceb12
prune deps
2019-11-27 21:26:49 +03:00
Aleksey Kladov
a87579500a
Move Ty
2019-11-27 21:16:00 +03:00
Edwin Cheng
5b49ad5bd5
Use a simple progress bar instead of indicatif
2019-11-27 04:09:30 +08:00
Jeremy Kolb
b81548c73a
Fix stale crates that snuck in
2019-11-26 08:20:40 -05:00
bors[bot]
36dca8de93
Merge #2410
...
2410: Introduce hir_ty r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-11-26 12:42:15 +00:00
Jeremy Kolb
8b1f2cd14e
Update parking_lot and smallvec to drop some dependencies
2019-11-26 07:29:28 -05:00
Aleksey Kladov
4c43631829
Introduce hir_ty
2019-11-26 15:06:06 +03:00
Aleksey Kladov
0a7ef09331
Use chalk fork to paper over #2052
2019-11-26 11:46:09 +03:00
Aleksey Kladov
131c2da6bf
⬆️ salsa
2019-11-26 11:29:20 +03:00
Jeremy Kolb
711c1a3e46
Update crates
2019-11-25 08:12:28 -05:00
Jeremy Kolb
aa20740944
Update crates
2019-11-21 08:40:33 -05:00
Aleksey Kladov
83a8430e0a
⬆️ rowan
2019-11-19 21:13:36 +03:00
Aleksey Kladov
b69dfc163d
⬆️ rowan
2019-11-17 22:21:45 +03:00
Aleksey Kladov
5b54a93fe7
Add ast for plain and raw string literals
2019-11-16 22:50:41 +03:00
Florian Diebold
ee190388ab
Upgrade Chalk again
2019-11-16 13:25:54 +01:00
Florian Diebold
e21b82e035
Upgrade Chalk
...
Associated type values (in impls) are now a separate entity in Chalk, so we have
to intern separate IDs for them.
2019-11-16 13:11:29 +01:00
memoryruins
5476c4faa3
Update smallvec dep to 1.0
2019-11-15 07:18:10 -05:00
Aleksey Kladov
c65f42325f
Revert #2230
...
Looks like autocfg tries to do slightly more than we need (see #2231 ),
so let's stick with minimal home-grown solution.
2019-11-14 11:12:52 +03:00
Pascal Hertleif
5075c77957
Use anyhow::Result in xtask, add contexts
...
This builds on #2231 but was actually done before that. You see, the
cause for #2231 was that I got this error message:
Error: Error { kind: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }) }
Just switching to `anyhow::Result` got me stack traces (when setting
`RUST_LIB_BACKTRACE=1`) that at least showed
stack backtrace:
0: std::backtrace::Backtrace::create
1: std::backtrace::Backtrace::capture
2: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
3: xtask::install_server
4: xtask::install
5: xtask::main
6: std::rt::lang_start::{{closure}}
7: std::panicking::try::do_call
8: __rust_maybe_catch_panic
9: std::rt::lang_start_internal
10: std::rt::lang_start
11: main
With the added contexts (not at all exhaustive), the error became
Error: install server
Caused by:
0: build AutoCfg with target directory
1: No such file or directory (os error 2)
Since anyhow is such a small thing (no new transitive dependencies!),
and in general gives you `Result<T, Box<dyn Error>>` on steroids, I
think this a nice small change. The only slightly annoying thing was to
replace all the `Err(format!(…))?` calls (haven't even looked at whether
we can make it support wrapping strings though), but the `bail!` macro
is shorter anyway :)
2019-11-13 20:51:57 +01:00
kjeremy
06754b78ac
Use autocfg to determine rust version
2019-11-13 11:19:07 -05:00
Jeremy Kolb
1e40b395ed
Update Crates
2019-11-13 08:25:37 -05:00
Aleksey Kladov
70f2a21b55
Remove typed macro parsing API
...
We do type-erasure on every path anyway, so it doesn't make much sense
to duplicate this function for every type
2019-11-09 13:14:10 +03:00
kjeremy
91b154fa05
Update crates
...
Removes nodrop and extra arrayvec
We have an extra crossbeam-queue and crossbeam-utils left but those should
drop once rayon accepts https://github.com/rayon-rs/rayon/pull/704
2019-11-07 13:05:12 -05:00
kjeremy
8a2f16133f
Update smallvec to avoid UB and cc while we're at it
2019-11-05 15:04:00 -05:00
kjeremy
49aea4202b
Bump psm, console, indicatif
2019-11-05 10:38:50 -05:00
Aleksey Kladov
3603d02134
Reexport relative_path from ra_db
2019-11-04 01:14:17 +03:00
Aleksey Kladov
6fba51c5fc
move crate_def_map tests to hir_def
2019-11-03 23:35:48 +03:00
Aleksey Kladov
0933d914a3
Introduce ra_db::fixture fixture module
...
The goal here is to share more testing infrastructure between crates.
2019-11-03 20:55:20 +03:00
Florian Diebold
c5e44b2084
Upgrade Chalk
2019-11-02 15:32:08 +01:00
kjeremy
35f907fc21
updates
2019-10-31 10:31:59 -04:00
Aleksey Kladov
16e620c052
move raw_items to hir_def
2019-10-30 17:43:11 +03:00
Aleksey Kladov
c9cd6aa370
Move ids to hir_def crate
2019-10-30 13:11:38 +03:00
Aleksey Kladov
a136cc0653
introduce ra_hir_def
2019-10-30 12:27:54 +03:00
kjeremy
f3086dcc9c
bump smallvec and unicode-segmentation
2019-10-29 18:09:49 -04:00
bors[bot]
e38cdf6e56
Merge #2114
...
2114: Move macro expansion to a separate crate r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-10-29 13:19:45 +00:00
Florian Diebold
632a22ae62
Upgrade Chalk, make use of TypeName::Error variant
2019-10-29 13:01:33 +01:00
Aleksey Kladov
5b803055b7
rename hir_def -> hir_expand
2019-10-29 14:59:55 +03:00
Aleksey Kladov
5413875644
move expansion-related code to a separate crate
2019-10-29 14:55:39 +03:00
Aleksey Kladov
77f90caf2d
start ra_hir_def crate
2019-10-29 11:15:51 +03:00
Jeremy Kolb
03adea962a
Update crates
2019-10-27 22:44:33 -04:00
Florian Diebold
b342ee5616
Upgrade Chalk (without using its dyn/impl Trait support)
2019-10-26 15:11:39 +02:00
Laurențiu Nicola
27a0cb3025
Specify working chalk revisions in manifest
2019-10-25 13:33:14 +03:00
kjeremy
64c1dd10b8
bump insta
2019-10-24 10:35:22 -04:00
Aleksey Kladov
6048d29400
xtask: don't depend on itertools
...
xtask should be fast to compiler, as it's a gateway to rust-analyzer
2019-10-23 18:57:18 +03:00
Ekaterina Babshukova
88ff88d318
use Lazy, some fixes
2019-10-22 23:47:31 +03:00
kjeremy
e9bab85b65
Bump crates
2019-10-22 13:01:26 -04:00
Aleksey Kladov
5376c769f0
rename tools -> xtask
2019-10-17 23:14:05 +03:00
Aleksey Kladov
7b15c4f7ae
WIP: move to xtasks
2019-10-17 22:54:38 +03:00
kjeremy
efd090decf
bump proc-macro-hack
2019-10-17 13:27:05 -04:00
kjeremy
c3045c68a9
relative-path 1.0
2019-10-17 13:08:33 -04:00
Laurențiu Nicola
a6b980d6d4
Bump deps
2019-10-17 18:08:11 +03:00
Shotaro Yamada
ad1323c0a7
Update Cargo.lock
2019-10-14 19:58:38 +09:00
Shotaro Yamada
5ca6281164
Remove unused dependencies
2019-10-12 08:00:54 +09:00
bors[bot]
0896ca04c4
Merge #1989
...
1989: Chalk update to simplified IR r=flodiebold a=kjeremy
Co-authored-by: kjeremy <kjeremy@gmail.com>
2019-10-11 11:12:27 +00:00
kjeremy
4ba2c5b2de
Chalk update to simplified IR
2019-10-10 14:51:50 -04:00
kjeremy
d955618eb3
Update all crates that do not pull in new dependencies
2019-10-10 14:10:24 -04:00
Aleksey Kladov
69e545cc61
⬆️ smol_str, take 2
2019-10-09 14:48:50 +03:00
Aleksey Kladov
79ab54b8dd
⬆️ smol_str
2019-10-09 14:28:27 +03:00
bors[bot]
93199002af
Merge #1922
...
1922: feat(assists): Make raw string unescaped r=matklad a=Geobert
Last piece of https://github.com/rust-analyzer/rust-analyzer/issues/1730
Co-authored-by: Geobert Quach <geobert@protonmail.com>
2019-10-08 09:52:22 +00:00
Jeremy Kolb
131289a71b
proc-macro2 1.0.5
2019-10-07 09:35:08 -04:00
uHOOCCOOHu
1067a1c5f6
Read default cfgs from rustc
2019-10-03 02:28:03 +08:00
uHOOCCOOHu
b1ed887d81
Introduce ra_cfg to parse and evaluate CfgExpr
2019-10-03 02:28:02 +08:00
kjeremy
b4e6939760
Update pico-args
2019-10-02 10:58:15 -04:00
kjeremy
79979db944
flexi_logger and either
2019-10-02 10:48:14 -04:00
Aleksey Kladov
2643ab1d11
⬆️ deps
2019-09-30 22:05:46 +03:00
Geobert Quach
281e107155
feat(assists): Make raw string unescaped
2019-09-26 20:31:45 +01:00
Aleksey Kladov
d847d53e36
Start simplifying editing API
2019-09-26 22:22:08 +03:00
Aleksey Kladov
a525e830a6
add new editing API, suitable for modifying several nodes at once
2019-09-25 17:57:12 +03:00
Florian Diebold
7bb6fdcf52
Upgrade Chalk again
2019-09-24 22:29:52 +02:00
Florian Diebold
6df9c4035a
Upgrade Chalk
2019-09-23 20:36:15 +02:00
Florian Diebold
a61615c955
Upgrade Chalk
...
... and remove Ty::UnselectedProjection. It'll be handled differently.
2019-09-14 10:04:56 +02:00
bors[bot]
1140a83c1b
Merge #1806
...
1806: refactor(args): Switch to pico-args r=matklad a=Geobert
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/1768
Co-authored-by: Geobert Quach <geobert@protonmail.com>
2019-09-10 17:37:21 +00:00
Aleksey Kladov
1c5800dee8
"Fix" mbe to work with decomposed tokens
...
We regressed $i * 2 where $i = 1 + 1, need to fix that!
2019-09-10 15:56:05 +03:00
Geobert Quach
4e94c46713
refactor(args): Switch to pico-args in ra_tools
2019-09-10 12:56:45 +01:00
Geobert Quach
735845d86e
refactor(args): Switch to pico-args
2019-09-10 11:31:40 +01:00
Aleksey Kladov
e6aa577830
⬆️ chalk
2019-09-09 22:15:23 +03:00
Aleksey Kladov
ef2b84ddf1
introduce hir debugging infra
...
This is to make debugging rust-analyzer easier.
The idea is that `dbg!(krate.debug(db))` will print the actual, fuzzy
crate name, instead of precise ID. Debug printing infra is a separate
thing, to make sure that the actual hir doesn't have access to global
information.
Do not use `.debug` for `log::` logging: debugging executes queries,
and might introduce unneded dependencies to the crate graph
2019-09-09 12:32:16 +03:00
Aleksey Kladov
28df377759
add option to disable notify
2019-09-06 17:21:29 +03:00
Aleksey Kladov
82d4cc2e7b
⬆️ deps
2019-09-06 13:48:06 +03:00
kjeremy
b354cfdc6a
cargo update
2019-09-05 10:10:53 -04:00
Florian Diebold
02f4718649
Upgrade Chalk
2019-09-04 13:04:01 +02:00
kjeremy
cb063a9b30
lsp-types 0.61.0
2019-09-03 10:50:39 -04:00
Aleksey Kladov
798dc2ca80
start GitHub pages
2019-09-02 14:42:23 +03:00
Aleksey Kladov
4b6bccb58c
⬆️ once_cell
2019-09-01 23:18:15 +03:00
Aleksey Kladov
983de30a56
inline thread-worker
2019-08-30 20:32:59 +03:00