about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates/proc-macro-srv-cli
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2024-06-30 16:54:31 +0200
committerLukas Wirth <lukastw97@gmail.com>2024-06-30 16:56:30 +0200
commit45362de42f5143874671c3db82933eea1785d2c2 (patch)
treed62cf246b84c12a4a49c3624812f7c07043e25c8 /src/tools/rust-analyzer/crates/proc-macro-srv-cli
parentb1518b262e177b23362a72adf5d3e3ba23cf44fe (diff)
Abstract proc-macro-srv protocol format
Diffstat (limited to 'src/tools/rust-analyzer/crates/proc-macro-srv-cli')
-rw-r--r--src/tools/rust-analyzer/crates/proc-macro-srv-cli/src/main.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/tools/rust-analyzer/crates/proc-macro-srv-cli/src/main.rs b/src/tools/rust-analyzer/crates/proc-macro-srv-cli/src/main.rs
index 407c1969cbd..174f9c52462 100644
--- a/src/tools/rust-analyzer/crates/proc-macro-srv-cli/src/main.rs
+++ b/src/tools/rust-analyzer/crates/proc-macro-srv-cli/src/main.rs
@@ -6,6 +6,8 @@
 #[cfg(feature = "in-rust-tree")]
 extern crate rustc_driver as _;
 
+use proc_macro_api::json::{read_json, write_json};
+
 use std::io;
 
 fn main() -> std::io::Result<()> {
@@ -30,9 +32,10 @@ fn run() -> io::Result<()> {
     eprintln!("{err}");
     use proc_macro_api::msg::{self, Message};
 
-    let read_request = |buf: &mut String| msg::Request::read(&mut io::stdin().lock(), buf);
+    let read_request =
+        |buf: &mut String| msg::Request::read(read_json, &mut io::stdin().lock(), buf);
 
-    let write_response = |msg: msg::Response| msg.write(&mut io::stdout().lock());
+    let write_response = |msg: msg::Response| msg.write(write_json, &mut io::stdout().lock());
 
     let mut buf = String::new();
 
@@ -61,9 +64,10 @@ fn run() -> io::Result<()> {
     use proc_macro_api::msg::{self, Message};
     use proc_macro_srv::EnvSnapshot;
 
-    let read_request = |buf: &mut String| msg::Request::read(&mut io::stdin().lock(), buf);
+    let read_request =
+        |buf: &mut String| msg::Request::read(read_json, &mut io::stdin().lock(), buf);
 
-    let write_response = |msg: msg::Response| msg.write(&mut io::stdout().lock());
+    let write_response = |msg: msg::Response| msg.write(write_json, &mut io::stdout().lock());
 
     let env = EnvSnapshot::new();
     let mut srv = proc_macro_srv::ProcMacroSrv::new(&env);