1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-23 15:04:36 +03:00
wezterm/termwiz/Cargo.toml
Wez Furlong b7771feef6
imgcat: work better with tmux and conpty
Neither of these understand image protocols, and both are
an additional processing layer between the application and
wezterm.

This commit detects and wraps OSC sequences in tmux's passthru
sequence so that the data is passed on to wezterm rather than
elided from the data stream.

For image protocols in both tmux and conpty, work a little
smarter and explicitly move the cursor position to the same
location that wezterm would move it to.  That prevents the
display from being as mangled by tmux/conpty due to a diverging
understanding of the cursor position.

The logic isn't perfect, and can result in the x-coordinate
being incorrect, and this won't work with the new --position
argument either in its current state, without adding a lot
of complexity to deal with scrolling and relative and absolute
positioning handling.

To facilitate that, a new termwiz Terminal trait method has
been added to probe the terminal name, version, cell and pixel
dimensions. It's not pretty.

refs: https://github.com/wez/wezterm/issues/3624
refs: https://github.com/wez/wezterm/issues/3716
2023-07-15 22:13:19 -07:00

100 lines
2.3 KiB
TOML

[package]
authors = ["Wez Furlong"]
name = "termwiz"
version = "0.22.0"
edition = "2018"
repository = "https://github.com/wez/wezterm"
description = "Terminal Wizardry for Unix and Windows"
license = "MIT"
documentation = "https://docs.rs/termwiz"
keywords = ["terminal", "readline", "console", "curses"]
readme = "README.md"
[dependencies]
# backtrace = "0.3"
base64 = "0.21"
bitflags = "2.0"
cassowary = {version="0.3", optional=true}
anyhow = "1.0"
fancy-regex = "0.11"
filedescriptor = { version="0.8", path = "../filedescriptor" }
finl_unicode = "1.2"
fixedbitset = "0.4"
fnv = {version="1.0", optional=true}
hex = "0.4"
image = {version="0.24.6", optional=true}
lazy_static = "1.4"
libc = "0.2"
log = "0.4"
memmem = "0.1"
num-traits = "0.2"
ordered-float = "3.0"
pest = "2.1"
pest_derive = "2.1"
phf = "0.11"
semver = "0.11"
serde = {version="1.0", features = ["rc", "derive"], optional=true}
siphasher = "0.3"
sha2 = "0.10"
tempfile = "3.4"
terminfo = "0.8"
thiserror = "1.0"
unicode-segmentation = "1.8"
ucd-trie = "0.1"
vtparse = { version="0.6.2", path="../vtparse" }
wezterm-bidi = { path = "../bidi", version="0.2.1" }
wezterm-blob-leases = { path = "../wezterm-blob-leases", version="0.1" }
wezterm-color-types = { path = "../color-types", version="0.2" }
wezterm-input-types = { path = "../wezterm-input-types", version="0.1", default-features=false }
wezterm-dynamic = { path = "../wezterm-dynamic", version="0.1" }
[features]
widgets = ["cassowary", "fnv"]
use_serde = ["serde", "wezterm-color-types/use_serde", "wezterm-blob-leases/serde", "bitflags/serde", "wezterm-input-types/serde"]
use_image = ["image"]
docs = ["widgets", "use_serde"]
[dev-dependencies]
criterion = "0.4"
varbincode = "0.1"
k9 = "0.11"
env_logger = "0.10"
[dependencies.num-derive]
features = ["full-syntax"]
version = "0.3"
[target."cfg(unix)".dependencies]
signal-hook = "0.3"
termios = "0.3"
nix = "0.26"
[target."cfg(windows)".dependencies.winapi]
features = [
"winbase",
"winerror",
"winnls",
"winuser",
"consoleapi",
"handleapi",
"fileapi",
"synchapi",
"memoryapi",
"winnt",
"impl-default"
]
version = "0.3.9"
[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "feature=\"docs\""]
[[bench]]
name = "wcwidth"
harness = false
[[bench]]
name = "cell"
harness = false