From 934917ffa2fc9e376290626de1b84df70642e254 Mon Sep 17 00:00:00 2001 From: alemidev Date: Wed, 13 Jul 2022 01:55:04 +0200 Subject: [PATCH] fix: remove print, answer with command Co-authored-by: f-tlm --- src/client/main.rs | 3 ++- src/client/nvim/mod.rs | 15 ++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/client/main.rs b/src/client/main.rs index 5954707..0c5b745 100644 --- a/src/client/main.rs +++ b/src/client/main.rs @@ -2,7 +2,7 @@ pub mod manager; mod nvim; use tokio::sync::mpsc; -use nvim_rs::{create::tokio::new_parent}; +use nvim_rs::create::tokio::new_parent; use manager::ConnectionManager; use nvim::NeovimHandler; @@ -11,6 +11,7 @@ use nvim::NeovimHandler; async fn main() -> Result<(), Box<(dyn std::error::Error + 'static)>> { let (tx, rx) = mpsc::channel(32); + //nvim stuff let handler: NeovimHandler = NeovimHandler::new(tx).await?; let (_nvim, io_handler) = new_parent(handler).await; diff --git a/src/client/nvim/mod.rs b/src/client/nvim/mod.rs index 871d8e4..f55851e 100644 --- a/src/client/nvim/mod.rs +++ b/src/client/nvim/mod.rs @@ -5,13 +5,15 @@ use tokio::sync::mpsc; use nvim_rs::{compat::tokio::Compat, Handler, Neovim}; +use crate::manager::Command; + #[derive(Clone)] pub struct NeovimHandler { - tx: mpsc::Sender, + tx: mpsc::Sender, } impl NeovimHandler { - pub async fn new(tx: mpsc::Sender) -> Result { + pub async fn new(tx: mpsc::Sender) -> Result { Ok(NeovimHandler { tx }) } } @@ -29,11 +31,10 @@ impl Handler for NeovimHandler { match name.as_ref() { "ping" => Ok(Value::from("pong")), "rpc" => { - eprintln!("Got 'rpc' from vim"); - self.tx.send(0).await.unwrap(); - // let request = tonic::Request::new(SessionRequest {session_id: 0}); - // let response = self.client.create(request).await.unwrap(); - Ok(Value::from("sent")) + let (cmd, rx) = Command::create_session_cmd("asd".to_string()); + self.tx.send(cmd).await.unwrap(); + let resp = rx.await.unwrap(); + Ok(Value::from(format!("{:?}", resp))) }, "buffer" => { let buf = _neovim.create_buf(true, false).await.unwrap();