Commit graph

486 commits

Author SHA1 Message Date
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