diff --git a/Cargo.lock b/Cargo.lock index 68d5727f7124..ebc8cd0aeaf3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -263,6 +263,7 @@ checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13" dependencies = [ "bitflags 1.3.2", "crossterm_winapi", + "filedescriptor", "futures-core", "libc", "mio", @@ -427,6 +428,17 @@ dependencies = [ "log", ] +[[package]] +name = "filedescriptor" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e" +dependencies = [ + "libc", + "thiserror", + "winapi", +] + [[package]] name = "filetime" version = "0.2.21" diff --git a/helix-term/Cargo.toml b/helix-term/Cargo.toml index e3f561d34164..3576f6846733 100644 --- a/helix-term/Cargo.toml +++ b/helix-term/Cargo.toml @@ -70,6 +70,9 @@ grep-searcher = "0.1.11" signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"] } libc = "0.2.147" +[target.'cfg(target_os = "macos")'.dependencies] +crossterm = { version = "0.26", features = ["event-stream", "use-dev-tty"] } + [build-dependencies] helix-loader = { version = "0.6", path = "../helix-loader" } diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 546a57a9bfa1..b8950ae0bda5 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -211,11 +211,6 @@ impl Application { } } else if stdin().is_tty() || cfg!(feature = "integration") { editor.new_file(Action::VerticalSplit); - } else if cfg!(target_os = "macos") { - // On Linux and Windows, we allow the output of a command to be piped into the new buffer. - // This doesn't currently work on macOS because of the following issue: - // https://github.com/crossterm-rs/crossterm/issues/500 - anyhow::bail!("Piping into helix-term is currently not supported on macOS"); } else { editor .new_file_from_stdin(Action::VerticalSplit)