|
|
|
@ -4,6 +4,7 @@ use helix_core::Selection;
|
|
|
|
|
use helix_dap::{self as dap, Client, Payload, Request, ThreadId};
|
|
|
|
|
use helix_lsp::block_on;
|
|
|
|
|
use log::warn;
|
|
|
|
|
use std::io::ErrorKind;
|
|
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
|
|
|
|
#[macro_export]
|
|
|
|
@ -285,11 +286,31 @@ impl Editor {
|
|
|
|
|
serde_json::from_value(request.arguments.unwrap_or_default()).unwrap();
|
|
|
|
|
// TODO: no unwrap
|
|
|
|
|
|
|
|
|
|
let process = std::process::Command::new("tmux")
|
|
|
|
|
.arg("split-window")
|
|
|
|
|
.arg(arguments.args.join(" "))
|
|
|
|
|
.spawn()
|
|
|
|
|
.unwrap();
|
|
|
|
|
let process = if cfg!(windows) {
|
|
|
|
|
std::process::Command::new("wt")
|
|
|
|
|
.arg("new-tab")
|
|
|
|
|
.arg("--title")
|
|
|
|
|
.arg("DEBUG")
|
|
|
|
|
.arg("cmd")
|
|
|
|
|
.arg("/C")
|
|
|
|
|
.arg(arguments.args.join(" "))
|
|
|
|
|
.spawn()
|
|
|
|
|
.unwrap_or_else(|error| match error.kind() {
|
|
|
|
|
ErrorKind::NotFound => std::process::Command::new("conhost")
|
|
|
|
|
.arg("cmd")
|
|
|
|
|
.arg("/C")
|
|
|
|
|
.arg(arguments.args.join(" "))
|
|
|
|
|
.spawn()
|
|
|
|
|
.unwrap(),
|
|
|
|
|
e => panic!("Error to start debug console: {}", e),
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
std::process::Command::new("tmux")
|
|
|
|
|
.arg("split-window")
|
|
|
|
|
.arg(arguments.args.join(" "))
|
|
|
|
|
.spawn()
|
|
|
|
|
.unwrap()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
let _ = debugger
|
|
|
|
|
.reply(
|
|
|
|
|