aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_project_model/src
Commit message (Collapse)AuthorAgeFilesLines
* Use Option<&str> for target instead of Option<&String>Paul Daniel Faria2020-06-081-3/+3
|
* Remove default_cfg_options, pass target instead so it can be used for ↵Paul Daniel Faria2020-06-081-13/+13
| | | | building cargo workspaces
* Change management of test cfg to better support json projectsPaul Daniel Faria2020-06-071-6/+7
|
* Document rust-project.jsonAleksey Kladov2020-06-031-2/+8
|
* Rename ProjectRoot -> ProjectManifestAleksey Kladov2020-06-031-15/+15
|
* Move project discoveryAleksey Kladov2020-06-031-2/+14
|
* Put important things on topAleksey Kladov2020-06-031-7/+7
|
* Merge pull request #4382 from woody77/json_cfgsAleksey Kladov2020-06-032-0/+89
|\ | | | | Begin transition to new fields for JsonProject crate cfgs
| * Begin transition to new fields for JsonProject crate cfgsAaron Wood2020-05-092-0/+89
| | | | | | | | | | | | | | | | | | | | | | | | This starts the transition to a new method of documenting the cfgs that are enabled for a given crate in the json file. This is changing from a list of atoms and a dict of key:value pairs, to a list of strings that is equivalent to that returned by `rustc --print cfg ..`, and parsed in the same manner by rust-analyzer. This is the first of two changes, which adds the new field that contains the list of strings. Next change will complete the transition and remove the previous fields.
* | Disable rust-analyzer.{cargo,checkOnSave}.allFeatures by defaultLaurențiu Nicola2020-06-021-1/+1
| |
* | Make some stuff public so that they can be reused by other toolsPavan Kumar Sunkara2020-05-141-1/+1
| |
* | Merge #4406 #4410 #4411 #4417bors[bot]2020-05-101-9/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4406: Update cargo-metadata r=matklad a=edwin0cheng This PR update `cargo-metadata` to 0.10.0 and it also relax the` serde-derive` deps to 1.0 for tests in `proc-macro-srv`. cc @robojumper r= @matklad , I think you would have something to say related to https://github.com/serde-rs/json/issues/647#issue-593788429 ? 4410: Improve wording in comment r=matklad a=edwin0cheng 4411: do not remove then block when you unwrap else block #4361 r=matklad a=bnjjj close #4361 4417: Omit default types in HirDisplay SourceCode mode r=matklad a=TimoFreiberg Closes #4390 Co-authored-by: Edwin Cheng <[email protected]> Co-authored-by: Benjamin Coenen <[email protected]> Co-authored-by: Timo Freiberg <[email protected]>
| * | Update cargo-metadataEdwin Cheng2020-05-091-9/+5
| | |
* | | Simpify project discoveryveetaha2020-05-091-36/+15
| | |
* | | Add stderr to error messageAleksey Kladov2020-05-081-1/+6
| | |
* | | CleanupAleksey Kladov2020-05-083-57/+29
| | |
* | | Rename ra_env -> ra_toolchainAleksey Kladov2020-05-083-4/+4
|/ /
* | Merge #4329bors[bot]2020-05-083-16/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4329: Look for `cargo`, `rustc`, and `rustup` in standard installation path r=matklad a=cdisselkoen Discussed in #3118. This is approximately a 90% fix for the issue described there. This PR creates a new crate `ra_env` with a function `get_path_for_executable()`; see docs there. `get_path_for_executable()` improves and generalizes the function `cargo_binary()` which was previously duplicated in the `ra_project_model` and `ra_flycheck` crates. (Both of those crates now depend on the new `ra_env` crate.) The new function checks (e.g.) `$CARGO` and `$PATH`, but also falls back on `~/.cargo/bin` manually before erroring out. This should allow most users to not have to worry about setting the `$CARGO` or `$PATH` variables for VSCode, which can be difficult e.g. on macOS as discussed in #3118. I've attempted to replace all calls to `cargo`, `rustc`, and `rustup` in rust-analyzer with appropriate invocations of `get_path_for_executable()`; I don't think I've missed any in Rust code, but there is at least one invocation in TypeScript code which I haven't fixed. (I'm not sure whether it's affected by the same problem or not.) https://github.com/rust-analyzer/rust-analyzer/blob/a4778ddb7a00f552a8e653bbf56ae9fd69cfe1d3/editors/code/src/cargo.ts#L79 I'm sure this PR could be improved a bunch, so I'm happy to take feedback/suggestions on how to solve this problem better, or just bikeshedding variable/function/crate names etc. cc @Veetaha Fixes #3118. Co-authored-by: Craig Disselkoen <[email protected]> Co-authored-by: veetaha <[email protected]>
| * | cargo fmtCraig Disselkoen2020-05-061-1/+5
| | |
| * | return a PathBuf instead of StringCraig Disselkoen2020-05-061-2/+3
| | |
| * | pull function out into new crate ra_env; use in ra_flycheck as wellCraig Disselkoen2020-05-064-68/+6
| | |
| * | more generic, find rustc as wellCraig Disselkoen2020-05-064-54/+71
| | |
| * | ra_project_model: look for Cargo in more placesCraig Disselkoen2020-05-061-9/+50
| | | | | | | | | | | | See #3118
* | | Move feature desugaring to the right abstraction layerAleksey Kladov2020-05-081-2/+12
| | |
* | | Merge #4296bors[bot]2020-05-072-2/+14
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 4296: Support cargo:rustc-cfg in build.rs r=matklad a=robojumper Fixes #4238. Co-authored-by: robojumper <[email protected]>
| * | Assume cargo_metadata uses String for cfgs soonrobojumper2020-05-052-10/+9
| | |
| * | Support build.rs cargo:rustc-cfgrobojumper2020-05-042-2/+15
| |/
* | Remove code duplicatesChristophe MASSOLIN2020-05-051-12/+6
| |
* | Pass cargo.target to rustcChristophe MASSOLIN2020-05-051-5/+13
| |
* | Rename `defaultTarget` to targetChristophe MASSOLIN2020-05-051-3/+3
| |
* | [config] remove RustcConfigChristophe MASSOLIN2020-04-271-5/+0
| |
* | [config] rename cargo.defaultTargetChristophe MASSOLIN2020-04-271-4/+4
| |
* | Started rust-analyzer.cargo.defaultTarget implementationChristophe MASSOLIN2020-04-261-0/+12
|/
* Merge #4125bors[bot]2020-04-251-4/+8
|\ | | | | | | | | | | | | | | 4125: Avoid lossy OsString conversions r=matklad a=lnicola This is a bit invasive, and perhaps for not much benefit since non-UTF-8 environment variables don't work anyway. Co-authored-by: Laurențiu Nicola <[email protected]>
| * Avoid lossy OsString conversionsLaurențiu Nicola2020-04-251-4/+8
| |
* | Don't print cargo version to stdout, breaking everythingAleksey Kladov2020-04-241-1/+1
| |
* | More helpful error message if toolchain is not in PATHAleksey Kladov2020-04-241-0/+5
|/
* Some clippy fixesJeremy Kolb2020-04-191-2/+1
|
* Unmix error handling when discovering workspacesAleksey Kladov2020-04-161-55/+23
| | | | | Hitting an io::Error is a legit problem. Finding more than one Cargo.toml is not.
* Decouple project loading from project discovery a bitAleksey Kladov2020-04-161-100/+121
|
* Migrate to privacy as per review commetsveetaha2020-04-021-2/+8
|
* Less mutabilityveetaha2020-04-021-19/+23
|
* Migrate to iters some moreveetaha2020-04-021-18/+11
|
* Migrate to iteratorsveetaha2020-04-021-15/+3
|
* Simpify workspace handlingveetaha2020-04-021-29/+17
|
* Unique package by name and version.o0Ignition0o2020-04-021-4/+5
| | | | | This commit is a fixup of a bug I introduced by using a PackageId to refer to a crate when its name conflicts with a dependency. It turns out the package id currently is `name version path` while cargo expects `name:version` as argument.
* Reduce scope of deserializationAleksey Kladov2020-04-012-15/+11
|
* Move all config to configAleksey Kladov2020-04-011-0/+1
|
* Reduce depsAleksey Kladov2020-03-311-36/+39
|
* Rename cargo_watch -> flycheckAleksey Kladov2020-03-311-1/+1
|