Increase the log level in LSP and log server errors.

This commit is contained in:
Blaž Hrastnik 2021-02-15 21:16:25 +09:00
parent d8bc19f715
commit 48ef6598db
2 changed files with 17 additions and 7 deletions

View file

@ -1,6 +1,6 @@
use std::collections::HashMap;
use log::{debug, error};
use log::{error, info};
use crate::Error;
@ -48,7 +48,6 @@ pub(crate) struct Transport {
writer: BufWriter<ChildStdin>,
reader: BufReader<ChildStdout>,
#[allow(dead_code)] // TODO: handle stderr logs
stderr: BufReader<ChildStderr>,
}
@ -111,7 +110,7 @@ impl Transport {
// read data
debug!("<- {}", msg);
info!("<- {}", msg);
// try parsing as output (server response) or call (server request)
let output: serde_json::Result<Message> = serde_json::from_str(&msg);
@ -119,6 +118,16 @@ impl Transport {
Ok(output?)
}
async fn err(
err: &mut (impl AsyncBufRead + Unpin),
) -> core::result::Result<(), std::io::Error> {
let mut line = String::new();
err.read_line(&mut line).await?;
error!("err <- {}", line);
Ok(())
}
pub async fn send_payload(&mut self, payload: Payload) -> anyhow::Result<()> {
match payload {
Payload::Request { chan, value } => {
@ -139,7 +148,7 @@ impl Transport {
}
pub async fn send(&mut self, request: String) -> anyhow::Result<()> {
debug!("-> {}", request);
info!("-> {}", request);
// send the headers
self.writer
@ -168,7 +177,7 @@ impl Transport {
async fn recv_response(&mut self, output: jsonrpc::Output) -> anyhow::Result<()> {
match output {
jsonrpc::Output::Success(jsonrpc::Success { id, result, .. }) => {
debug!("<- {}", result);
info!("<- {}", result);
let tx = self
.pending_requests
@ -210,6 +219,7 @@ impl Transport {
self.recv_msg(msg).await.unwrap();
}
_msg = Self::err(&mut self.stderr).fuse() => {}
}
}
}

View file

@ -5,7 +5,7 @@ use helix_view::{document::Mode, Document, Editor, Theme, View};
use crate::compositor::Compositor;
use crate::ui;
use log::{debug, info};
use log::{error, info};
use std::{
io::{self, stdout, Stdout, Write},
@ -171,7 +171,7 @@ impl Application {
}
}
Some(Call::MethodCall(call)) => {
debug!("Method not found {}", call.method);
error!("Method not found {}", call.method);
// self.language_server.reply(
// call.id,