mirror of https://github.com/helix-editor/helix
Increase the log level in LSP and log server errors.
parent
d8bc19f715
commit
48ef6598db
|
@ -1,6 +1,6 @@
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use log::{debug, error};
|
use log::{error, info};
|
||||||
|
|
||||||
use crate::Error;
|
use crate::Error;
|
||||||
|
|
||||||
|
@ -48,7 +48,6 @@ pub(crate) struct Transport {
|
||||||
|
|
||||||
writer: BufWriter<ChildStdin>,
|
writer: BufWriter<ChildStdin>,
|
||||||
reader: BufReader<ChildStdout>,
|
reader: BufReader<ChildStdout>,
|
||||||
#[allow(dead_code)] // TODO: handle stderr logs
|
|
||||||
stderr: BufReader<ChildStderr>,
|
stderr: BufReader<ChildStderr>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +110,7 @@ impl Transport {
|
||||||
|
|
||||||
// read data
|
// read data
|
||||||
|
|
||||||
debug!("<- {}", msg);
|
info!("<- {}", msg);
|
||||||
|
|
||||||
// try parsing as output (server response) or call (server request)
|
// try parsing as output (server response) or call (server request)
|
||||||
let output: serde_json::Result<Message> = serde_json::from_str(&msg);
|
let output: serde_json::Result<Message> = serde_json::from_str(&msg);
|
||||||
|
@ -119,6 +118,16 @@ impl Transport {
|
||||||
Ok(output?)
|
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<()> {
|
pub async fn send_payload(&mut self, payload: Payload) -> anyhow::Result<()> {
|
||||||
match payload {
|
match payload {
|
||||||
Payload::Request { chan, value } => {
|
Payload::Request { chan, value } => {
|
||||||
|
@ -139,7 +148,7 @@ impl Transport {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn send(&mut self, request: String) -> anyhow::Result<()> {
|
pub async fn send(&mut self, request: String) -> anyhow::Result<()> {
|
||||||
debug!("-> {}", request);
|
info!("-> {}", request);
|
||||||
|
|
||||||
// send the headers
|
// send the headers
|
||||||
self.writer
|
self.writer
|
||||||
|
@ -168,7 +177,7 @@ impl Transport {
|
||||||
async fn recv_response(&mut self, output: jsonrpc::Output) -> anyhow::Result<()> {
|
async fn recv_response(&mut self, output: jsonrpc::Output) -> anyhow::Result<()> {
|
||||||
match output {
|
match output {
|
||||||
jsonrpc::Output::Success(jsonrpc::Success { id, result, .. }) => {
|
jsonrpc::Output::Success(jsonrpc::Success { id, result, .. }) => {
|
||||||
debug!("<- {}", result);
|
info!("<- {}", result);
|
||||||
|
|
||||||
let tx = self
|
let tx = self
|
||||||
.pending_requests
|
.pending_requests
|
||||||
|
@ -210,6 +219,7 @@ impl Transport {
|
||||||
|
|
||||||
self.recv_msg(msg).await.unwrap();
|
self.recv_msg(msg).await.unwrap();
|
||||||
}
|
}
|
||||||
|
_msg = Self::err(&mut self.stderr).fuse() => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use helix_view::{document::Mode, Document, Editor, Theme, View};
|
||||||
use crate::compositor::Compositor;
|
use crate::compositor::Compositor;
|
||||||
use crate::ui;
|
use crate::ui;
|
||||||
|
|
||||||
use log::{debug, info};
|
use log::{error, info};
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
io::{self, stdout, Stdout, Write},
|
io::{self, stdout, Stdout, Write},
|
||||||
|
@ -171,7 +171,7 @@ impl Application {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(Call::MethodCall(call)) => {
|
Some(Call::MethodCall(call)) => {
|
||||||
debug!("Method not found {}", call.method);
|
error!("Method not found {}", call.method);
|
||||||
|
|
||||||
// self.language_server.reply(
|
// self.language_server.reply(
|
||||||
// call.id,
|
// call.id,
|
||||||
|
|
Loading…
Reference in New Issue