aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_project_model/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Use all-features by defaultAleksey Kladov2019-12-141-1/+7
|
* Support setting cargo featuresoxalica2019-12-132-7/+38
|
* Merge #2381bors[bot]2019-11-243-1/+30
|\ | | | | | | | | | | | | | | | | 2381: Add proc-macro crate type handling r=JasperDeSutter a=JasperDeSutter Resolves the libproc_macro crate in crates that are the proc-macro type. This doesn't seem the ideal implementation though, since the compiler still requires you to write `extern crate proc_macro;` (even in 2018 edition). Co-authored-by: JasperDeSutter <[email protected]>
| * add proc-macro crate type handlingJasperDeSutter2019-11-243-1/+30
| |
* | Add alloc to the sysrootMarco Groppo2019-11-242-0/+10
|/
* Cleanup errorsAleksey Kladov2019-11-221-3/+1
|
* Add support for environment to CrateGraphAleksey Kladov2019-11-221-6/+19
|
* return Error instead of panicking in from_cargo_metadataMetabaron2019-11-121-7/+8
|
* Implement FromStr for enum EditionMetabaron2019-11-121-2/+5
|
* Overwrite the prelude with one defined in a later dependencyMatthias Einwag2019-11-101-0/+2
| | | | | | | This removes the special casing for the "core" prelude. Whenever a later dependency also exports a prelude, it will replace the formerly imported prelude. The utilized prelude then depends purely on import order.
* Resolve core typesMatthias Einwag2019-11-092-1/+11
| | | | | | | | | | | | | | | This adds support for completion and goto definition of types defined within the "core" crate. The core crate is added as a dependency to each crate in the project. The core crate exported it's own prelude. This caused now all crates to inherit the core crates prelude instead of the std crates. In order to avoid the problem the prelude resolution has been changed to overwrite an already resolved prelude if this was set to a crate named core - in order to pick a better prelude like std. Fixes #2199
* hard-code nightly-only CFGsAleksey Kladov2019-10-081-0/+8
|
* use slightly more idiomatic api for cfgAleksey Kladov2019-10-081-13/+23
|
* Use raw cfgs in json project and fix typooxalica2019-10-052-8/+11
|
* Read default cfgs from rustcuHOOCCOOHu2019-10-023-6/+46
|
* Enable CfgOptions `test` for workspace cratesuHOOCCOOHu2019-10-021-3/+18
|
* Added test for check doc strings in crates.Alexander Andreev2019-09-304-0/+8
| | | | #1856
* introduce hir debugging infraAleksey Kladov2019-09-091-8/+12
| | | | | | | | | | | | 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
* close #1763ivfranco2019-09-051-1/+1
|
* Make sysroot use `RUST_SRC_PATH` if setBastian Köcher2019-08-221-11/+21
|
* don't load sysroot in most heavy testsAleksey Kladov2019-08-192-5/+9
|
* introduce ra_vfs_glob crateAleksey Kladov2019-08-061-23/+0
| | | | It manages exclusion rules for the vfs crate
* cleanup importsAleksey Kladov2019-08-061-5/+2
|
* cleanupAleksey Kladov2019-08-063-6/+7
|
* renameAleksey Kladov2019-08-061-10/+10
|
* Some clippy fixes for 1.36Jeremy Kolb2019-07-042-2/+2
|
* allow rustfmt to reorder importsAleksey Kladov2019-07-043-6/+6
| | | | | | This wasn't a right decision in the first place, the feature flag was broken in the last rustfmt release, and syntax highlighting of imports is more important anyway
* add analysis-bench to benchmark incremental analysisAleksey Kladov2019-06-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Can be used like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --complete ../chalk/chalk-engine/src/logic.rs:94:0 loading: 225.970093ms from scratch: 8.492373325s no change: 445.265µs trivial change: 95.631242ms ``` Or like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --highlight ../chalk/chalk-engine/src/logic.rs loading: 209.873484ms from scratch: 9.504916942s no change: 7.731119ms trivial change: 124.984039ms ``` "from scratch" includes initial analysis of the relevant bits of the project "no change" just asks the same question for the second time. It measures overhead on assembling the answer outside of salsa. "trivial change" doesn't do an actual salsa change, it just advances the revision. This test how fast is salsa at validating things.
* Merge #1404bors[bot]2019-06-153-8/+7
|\ | | | | | | | | | | | | | | | | | | 1404: Fight down failures! r=matklad a=mominul issue #1400 Now only `ra_tools` crate depends on `failure`, should I also fight those? :grin: Co-authored-by: Muhammad Mominul Huque <[email protected]>
| * Get rid of failure: ra_lsp_server & ra_project_modelMuhammad Mominul Huque2019-06-143-8/+7
| |
* | Add alloc -> core dependencyFlorian Diebold2019-06-131-0/+5
|/
* Fix clippy::identity_conversionAlan Du2019-06-041-4/+3
|
* Fix clippy::single_char_patternAlan Du2019-06-041-1/+1
|
* Sends cwd info for runnables and code lensesRoberto Vidal2019-04-142-1/+14
|
* replace todo with fixmeAleksey Kladov2019-03-231-1/+1
|
* Move actual include logic to ProjectRootVille Penttinen2019-03-211-3/+27
| | | | | This way the two IncludeRustFiles implementations can simply call the ProjectRoots' methods, so that the include logic is in one place.
* Improve filtering of file rootsVille Penttinen2019-03-201-4/+33
| | | | | | | | | `ProjectWorkspace::to_roots` now returns a new `ProjectRoot` which contains information regarding whether or not the given path is part of the current workspace or an external dependency. This information can then be used in `ra_batch` and `ra_lsp_server` to implement more advanced filtering. This allows us to filter some unnecessary folders from external dependencies such as tests, examples and benches.
* Rename and change `add_roots` to return a `Vec`.David Wood2019-03-071-1/+6
|
* Initial implementation of project-lock.json.David Wood2019-03-072-69/+218
| | | | | This commit adds a initial implementation of project-lock.json, a build system agnostic method of specifying the crate graph and roots.
* Make edition handling a bit nicer and allow specifying edition in ↵Florian Diebold2019-02-132-9/+6
| | | | crate_graph macro
* Keep track of crate editionFlorian Diebold2019-02-132-3/+14
|
* Fix some typosPascal Hertleif2019-02-121-1/+1
|
* Clean up a bitFlorian Diebold2019-02-091-1/+1
|
* Remove Vfs from project modelFlorian Diebold2019-02-091-6/+3
|
* Remove SmolStr from project modelFlorian Diebold2019-02-093-10/+7
|
* Move crate graph generation to ra_project_modelFlorian Diebold2019-02-091-0/+88
|
* Extract project model to separate crateFlorian Diebold2019-02-093-0/+356