minor: improve readability
naming, layout & comments help!
This commit is contained in:
@@ -7,7 +7,7 @@ use crossbeam_channel::{unbounded, Receiver};
|
||||
use hir::db::DefDatabase;
|
||||
use ide::{AnalysisHost, Change};
|
||||
use ide_db::base_db::CrateGraph;
|
||||
use proc_macro_api::ProcMacroClient;
|
||||
use proc_macro_api::ProcMacroServer;
|
||||
use project_model::{CargoConfig, ProjectManifest, ProjectWorkspace};
|
||||
use vfs::{loader::Handle, AbsPath, AbsPathBuf};
|
||||
|
||||
@@ -28,7 +28,7 @@ pub fn load_workspace_at(
|
||||
cargo_config: &CargoConfig,
|
||||
load_config: &LoadCargoConfig,
|
||||
progress: &dyn Fn(String),
|
||||
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroClient>)> {
|
||||
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroServer>)> {
|
||||
let root = AbsPathBuf::assert(std::env::current_dir()?.join(root));
|
||||
let root = ProjectManifest::discover_single(&root)?;
|
||||
let mut workspace = ProjectWorkspace::load(root, cargo_config, progress)?;
|
||||
@@ -49,7 +49,7 @@ pub fn load_workspace_at(
|
||||
pub fn load_workspace(
|
||||
ws: ProjectWorkspace,
|
||||
load_config: &LoadCargoConfig,
|
||||
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroClient>)> {
|
||||
) -> Result<(AnalysisHost, vfs::Vfs, Option<ProcMacroServer>)> {
|
||||
let (sender, receiver) = unbounded();
|
||||
let mut vfs = vfs::Vfs::default();
|
||||
let mut loader = {
|
||||
@@ -60,7 +60,7 @@ pub fn load_workspace(
|
||||
|
||||
let proc_macro_client = if load_config.with_proc_macro {
|
||||
let path = AbsPathBuf::assert(std::env::current_exe()?);
|
||||
Some(ProcMacroClient::extern_process(path, &["proc-macro"]).unwrap())
|
||||
Some(ProcMacroServer::spawn(path, &["proc-macro"]).unwrap())
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@ use ide::{Analysis, AnalysisHost, Cancellable, Change, FileId};
|
||||
use ide_db::base_db::CrateId;
|
||||
use lsp_types::{SemanticTokens, Url};
|
||||
use parking_lot::{Mutex, RwLock};
|
||||
use proc_macro_api::ProcMacroClient;
|
||||
use proc_macro_api::ProcMacroServer;
|
||||
use project_model::{CargoWorkspace, ProjectWorkspace, Target, WorkspaceBuildScripts};
|
||||
use rustc_hash::FxHashMap;
|
||||
use vfs::AnchoredPathBuf;
|
||||
@@ -60,7 +60,7 @@ pub(crate) struct GlobalState {
|
||||
pub(crate) shutdown_requested: bool,
|
||||
pub(crate) last_reported_status: Option<lsp_ext::ServerStatusParams>,
|
||||
pub(crate) source_root_config: SourceRootConfig,
|
||||
pub(crate) proc_macro_client: Option<ProcMacroClient>,
|
||||
pub(crate) proc_macro_client: Option<ProcMacroServer>,
|
||||
|
||||
pub(crate) flycheck: Vec<FlycheckHandle>,
|
||||
pub(crate) flycheck_sender: Sender<flycheck::Message>,
|
||||
|
||||
@@ -7,7 +7,7 @@ use ide::Change;
|
||||
use ide_db::base_db::{
|
||||
CrateGraph, Env, ProcMacro, ProcMacroExpander, ProcMacroKind, SourceRoot, VfsPath,
|
||||
};
|
||||
use proc_macro_api::ProcMacroClient;
|
||||
use proc_macro_api::ProcMacroServer;
|
||||
use project_model::{ProjectWorkspace, WorkspaceBuildScripts};
|
||||
use vfs::{file_set::FileSetConfig, AbsPath, AbsPathBuf, ChangeKind};
|
||||
|
||||
@@ -329,7 +329,7 @@ impl GlobalState {
|
||||
if self.proc_macro_client.is_none() {
|
||||
self.proc_macro_client = match self.config.proc_macro_srv() {
|
||||
None => None,
|
||||
Some((path, args)) => match ProcMacroClient::extern_process(path.clone(), args) {
|
||||
Some((path, args)) => match ProcMacroServer::spawn(path.clone(), args) {
|
||||
Ok(it) => Some(it),
|
||||
Err(err) => {
|
||||
tracing::error!(
|
||||
@@ -556,15 +556,15 @@ impl SourceRootConfig {
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) fn load_proc_macro(client: Option<&ProcMacroClient>, path: &AbsPath) -> Vec<ProcMacro> {
|
||||
pub(crate) fn load_proc_macro(client: Option<&ProcMacroServer>, path: &AbsPath) -> Vec<ProcMacro> {
|
||||
return client
|
||||
.map(|it| it.by_dylib_path(path))
|
||||
.map(|it| it.load_dylib(path))
|
||||
.unwrap_or_default()
|
||||
.into_iter()
|
||||
.map(expander_to_proc_macro)
|
||||
.collect();
|
||||
|
||||
fn expander_to_proc_macro(expander: proc_macro_api::ProcMacroProcessExpander) -> ProcMacro {
|
||||
fn expander_to_proc_macro(expander: proc_macro_api::ProcMacro) -> ProcMacro {
|
||||
let name = expander.name().into();
|
||||
let kind = match expander.kind() {
|
||||
proc_macro_api::ProcMacroKind::CustomDerive => ProcMacroKind::CustomDerive,
|
||||
@@ -576,7 +576,7 @@ pub(crate) fn load_proc_macro(client: Option<&ProcMacroClient>, path: &AbsPath)
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Expander(proc_macro_api::ProcMacroProcessExpander);
|
||||
struct Expander(proc_macro_api::ProcMacro);
|
||||
|
||||
impl ProcMacroExpander for Expander {
|
||||
fn expand(
|
||||
|
||||
Reference in New Issue
Block a user