From 0e4a542cfb366898a4d53701c50ae4d1732d7c53 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 6 Aug 2019 10:50:32 +0200 Subject: rename --- crates/ra_project_model/src/lib.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'crates/ra_project_model') diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 08e5c1c32..647a1f365 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -34,20 +34,20 @@ pub enum ProjectWorkspace { Json { project: JsonProject }, } -/// `ProjectRoot` describes a workspace root folder. +/// `PackageRoot` describes a package root folder. /// Which may be an external dependency, or a member of /// the current workspace. #[derive(Clone)] -pub struct ProjectRoot { +pub struct PackageRoot { /// Path to the root folder path: PathBuf, /// Is a member of the current workspace is_member: bool, } -impl ProjectRoot { - pub fn new(path: PathBuf, is_member: bool) -> ProjectRoot { - ProjectRoot { path, is_member } +impl PackageRoot { + pub fn new(path: PathBuf, is_member: bool) -> PackageRoot { + PackageRoot { path, is_member } } pub fn path(&self) -> &PathBuf { @@ -99,15 +99,15 @@ impl ProjectWorkspace { } } - /// Returns the roots for the current ProjectWorkspace + /// Returns the roots for the current `ProjectWorkspace` /// The return type contains the path and whether or not /// the root is a member of the current workspace - pub fn to_roots(&self) -> Vec { + pub fn to_roots(&self) -> Vec { match self { ProjectWorkspace::Json { project } => { let mut roots = Vec::with_capacity(project.roots.len()); for root in &project.roots { - roots.push(ProjectRoot::new(root.path.clone(), true)); + roots.push(PackageRoot::new(root.path.clone(), true)); } roots } @@ -117,10 +117,10 @@ impl ProjectWorkspace { for pkg in cargo.packages() { let root = pkg.root(&cargo).to_path_buf(); let member = pkg.is_member(&cargo); - roots.push(ProjectRoot::new(root, member)); + roots.push(PackageRoot::new(root, member)); } for krate in sysroot.crates() { - roots.push(ProjectRoot::new(krate.root_dir(&sysroot).to_path_buf(), false)) + roots.push(PackageRoot::new(krate.root_dir(&sysroot).to_path_buf(), false)) } roots } -- cgit v1.2.3 From d751bd08bfa36bd8abdcbb4fa466022720094b7d Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 6 Aug 2019 10:54:51 +0200 Subject: cleanup --- crates/ra_project_model/src/cargo_workspace.rs | 2 +- crates/ra_project_model/src/lib.rs | 9 +++++---- crates/ra_project_model/src/sysroot.rs | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'crates/ra_project_model') diff --git a/crates/ra_project_model/src/cargo_workspace.rs b/crates/ra_project_model/src/cargo_workspace.rs index 2b06e9e37..712d8818f 100644 --- a/crates/ra_project_model/src/cargo_workspace.rs +++ b/crates/ra_project_model/src/cargo_workspace.rs @@ -167,7 +167,7 @@ impl CargoWorkspace { Ok(CargoWorkspace { packages, targets, workspace_root: meta.workspace_root }) } - pub fn packages<'a>(&'a self) -> impl Iterator + 'a { + pub fn packages<'a>(&'a self) -> impl Iterator + ExactSizeIterator + 'a { self.packages.iter().map(|(id, _pkg)| id) } diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 647a1f365..8e81396d4 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -112,8 +112,7 @@ impl ProjectWorkspace { roots } ProjectWorkspace::Cargo { cargo, sysroot } => { - let mut roots = - Vec::with_capacity(cargo.packages().count() + sysroot.crates().count()); + let mut roots = Vec::with_capacity(cargo.packages().len() + sysroot.crates().len()); for pkg in cargo.packages() { let root = pkg.root(&cargo).to_path_buf(); let member = pkg.is_member(&cargo); @@ -127,10 +126,12 @@ impl ProjectWorkspace { } } - pub fn count(&self) -> usize { + pub fn n_packages(&self) -> usize { match self { ProjectWorkspace::Json { project } => project.crates.len(), - ProjectWorkspace::Cargo { cargo, .. } => cargo.packages().count(), + ProjectWorkspace::Cargo { cargo, sysroot } => { + cargo.packages().len() + sysroot.crates().len() + } } } diff --git a/crates/ra_project_model/src/sysroot.rs b/crates/ra_project_model/src/sysroot.rs index 4f6e880dd..3f34d51cc 100644 --- a/crates/ra_project_model/src/sysroot.rs +++ b/crates/ra_project_model/src/sysroot.rs @@ -28,7 +28,7 @@ impl Sysroot { self.by_name("std") } - pub fn crates<'a>(&'a self) -> impl Iterator + 'a { + pub fn crates<'a>(&'a self) -> impl Iterator + ExactSizeIterator + 'a { self.crates.iter().map(|(id, _data)| id) } -- cgit v1.2.3 From 6cf56b66156c2e321d44a51df726cd4061334ba3 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 6 Aug 2019 10:55:59 +0200 Subject: cleanup imports --- crates/ra_project_model/src/lib.rs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'crates/ra_project_model') diff --git a/crates/ra_project_model/src/lib.rs b/crates/ra_project_model/src/lib.rs index 8e81396d4..c7167046b 100644 --- a/crates/ra_project_model/src/lib.rs +++ b/crates/ra_project_model/src/lib.rs @@ -9,13 +9,10 @@ use std::{ path::{Path, PathBuf}, }; -use rustc_hash::FxHashMap; - use ra_db::{CrateGraph, Edition, FileId}; - -use serde_json::from_reader; - use relative_path::RelativePath; +use rustc_hash::FxHashMap; +use serde_json::from_reader; pub use crate::{ cargo_workspace::{CargoWorkspace, Package, Target, TargetKind}, -- cgit v1.2.3