Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc_macro_srv/src/cli.rs')
| -rw-r--r-- | crates/proc_macro_srv/src/cli.rs | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/crates/proc_macro_srv/src/cli.rs b/crates/proc_macro_srv/src/cli.rs index fe3665110d..f1e131c135 100644 --- a/crates/proc_macro_srv/src/cli.rs +++ b/crates/proc_macro_srv/src/cli.rs @@ -1,8 +1,9 @@ //! Driver for proc macro server +use std::io; -use crate::ProcMacroSrv; use proc_macro_api::msg::{self, Message}; -use std::io; + +use crate::ProcMacroSrv; pub fn run() -> io::Result<()> { let mut srv = ProcMacroSrv::default(); @@ -10,22 +11,12 @@ pub fn run() -> io::Result<()> { while let Some(req) = read_request(&mut buf)? { let res = match req { - msg::Request::ListMacro(task) => srv.list_macros(&task).map(msg::Response::ListMacro), - msg::Request::ExpansionMacro(task) => { - srv.expand(task).map(msg::Response::ExpansionMacro) + msg::Request::ListMacros { dylib_path } => { + msg::Response::ListMacros(srv.list_macros(&dylib_path)) } + msg::Request::ExpandMacro(task) => msg::Response::ExpandMacro(srv.expand(task)), }; - - let msg = res.unwrap_or_else(|err| { - msg::Response::Error(msg::ResponseError { - code: msg::ErrorCode::ExpansionError, - message: err, - }) - }); - - if let Err(err) = write_response(msg) { - eprintln!("Write message error: {}", err); - } + write_response(res)? } Ok(()) |