This commit is contained in:
Aleksey Kladov 2019-08-06 10:50:32 +02:00
parent e01c6b4e1b
commit 0e4a542cfb
4 changed files with 31 additions and 31 deletions

View file

@ -6,7 +6,7 @@ use rustc_hash::FxHashMap;
use ra_db::{CrateGraph, FileId, SourceRootId};
use ra_ide_api::{AnalysisChange, AnalysisHost};
use ra_project_model::{ProjectRoot, ProjectWorkspace};
use ra_project_model::{PackageRoot, ProjectWorkspace};
use ra_vfs::{Vfs, VfsChange};
use vfs_filter::IncludeRustFiles;
@ -19,7 +19,7 @@ fn vfs_root_to_id(r: ra_vfs::VfsRoot) -> SourceRootId {
SourceRootId(r.0)
}
pub fn load_cargo(root: &Path) -> Result<(AnalysisHost, FxHashMap<SourceRootId, ProjectRoot>)> {
pub fn load_cargo(root: &Path) -> Result<(AnalysisHost, FxHashMap<SourceRootId, PackageRoot>)> {
let root = std::env::current_dir()?.join(root);
let ws = ProjectWorkspace::discover(root.as_ref())?;
let project_roots = ws.to_roots();
@ -48,7 +48,7 @@ pub fn load_cargo(root: &Path) -> Result<(AnalysisHost, FxHashMap<SourceRootId,
}
pub fn load(
source_roots: &FxHashMap<SourceRootId, ProjectRoot>,
source_roots: &FxHashMap<SourceRootId, PackageRoot>,
crate_graph: CrateGraph,
vfs: &mut Vfs,
) -> AnalysisHost {

View file

@ -1,32 +1,32 @@
use ra_project_model::ProjectRoot;
use ra_project_model::PackageRoot;
use ra_vfs::{Filter, RelativePath, RootEntry};
use std::path::PathBuf;
/// `IncludeRustFiles` is used to convert
/// from `ProjectRoot` to `RootEntry` for VFS
/// from `PackageRoot` to `RootEntry` for VFS
pub struct IncludeRustFiles {
root: ProjectRoot,
root: PackageRoot,
}
impl IncludeRustFiles {
pub fn from_roots<R>(roots: R) -> impl Iterator<Item = RootEntry>
where
R: IntoIterator<Item = ProjectRoot>,
R: IntoIterator<Item = PackageRoot>,
{
roots.into_iter().map(IncludeRustFiles::from_root)
}
pub fn from_root(root: ProjectRoot) -> RootEntry {
pub fn from_root(root: PackageRoot) -> RootEntry {
IncludeRustFiles::from(root).into()
}
#[allow(unused)]
pub fn external(path: PathBuf) -> RootEntry {
IncludeRustFiles::from_root(ProjectRoot::new(path, false))
IncludeRustFiles::from_root(PackageRoot::new(path, false))
}
pub fn member(path: PathBuf) -> RootEntry {
IncludeRustFiles::from_root(ProjectRoot::new(path, true))
IncludeRustFiles::from_root(PackageRoot::new(path, true))
}
}
@ -40,8 +40,8 @@ impl Filter for IncludeRustFiles {
}
}
impl From<ProjectRoot> for IncludeRustFiles {
fn from(v: ProjectRoot) -> IncludeRustFiles {
impl From<PackageRoot> for IncludeRustFiles {
fn from(v: PackageRoot) -> IncludeRustFiles {
IncludeRustFiles { root: v }
}
}