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