From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001
From: Valentin Popov <valentin@popov.link>
Date: Mon, 8 Jan 2024 01:21:28 +0400
Subject: Initial vendor packages

Signed-off-by: Valentin Popov <valentin@popov.link>
---
 vendor/terminal_size/src/lib.rs | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 vendor/terminal_size/src/lib.rs

(limited to 'vendor/terminal_size/src/lib.rs')

diff --git a/vendor/terminal_size/src/lib.rs b/vendor/terminal_size/src/lib.rs
new file mode 100644
index 0000000..6ef79be
--- /dev/null
+++ b/vendor/terminal_size/src/lib.rs
@@ -0,0 +1,37 @@
+//! A simple utility for getting the size of a terminal.
+//!
+//! Supports both Linux, MacOS, and Windows.
+//!
+//!  This crate requires a minimum rust version of 1.31.0 (2018-12-06)
+//!
+//! # Example
+//!
+//! ```
+//! use terminal_size::{Width, Height, terminal_size};
+//!
+//! let size = terminal_size();
+//! if let Some((Width(w), Height(h))) = size {
+//!     println!("Your terminal is {} cols wide and {} lines tall", w, h);
+//! } else {
+//!     println!("Unable to get terminal size");
+//! }
+//! ```
+//!
+
+#[derive(Debug)]
+pub struct Width(pub u16);
+#[derive(Debug)]
+pub struct Height(pub u16);
+
+#[cfg(unix)]
+mod unix;
+#[cfg(unix)]
+pub use crate::unix::{terminal_size, terminal_size_using_fd};
+
+#[cfg(windows)]
+mod windows;
+#[cfg(windows)]
+pub use crate::windows::{terminal_size, terminal_size_using_handle};
+
+#[cfg(not(any(unix, windows)))]
+pub fn terminal_size() -> Option<(Width, Height)> { None }
-- 
cgit v1.2.3