Run debug console in windows (#2294)

pull/2461/head
Alexis Kalabura 3 years ago committed by GitHub
parent 2cb1ea7127
commit c80ac84978
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -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(

Loading…
Cancel
Save