зеркало из
https://github.com/glebtv/tui-textarea.git
synced 2026-08-28 11:36:17 +03:00
* feat(textarea): add native cursor render mode
- Add CursorRenderMode::{Cell, Hidden} and TextArea accessors for render mode plus rendered_cursor_position().
- Store the terminal-relative cursor position from a shared render plan that accounts for blocks, line numbers, scroll, wrapping, tabs, and wide Unicode.
- Let hidden mode suppress only the textarea-owned cursor cell while preserving default Cell rendering and set_cursor_style behavior.
- Document native cursor integration and add focused tests for default rendering, hidden rendering, placeholders, and cursor-position edge cases.
* chore: prepare 0.12.1 release
106 строки
2.9 KiB
TOML
106 строки
2.9 KiB
TOML
[package]
|
|
name = "tui-textarea-2"
|
|
homepage = "https://github.com/srothgan/tui-textarea#readme"
|
|
repository = "https://github.com/srothgan/tui-textarea"
|
|
documentation = "https://docs.rs/tui-textarea-2/latest/tui_textarea/"
|
|
version = "0.12.1"
|
|
edition = "2024"
|
|
rust-version = "1.88.0" # for Ratatui 0.30 split crates
|
|
authors = ["Simon Peter Rothgang <simonrothgang@icloud.com>", "rhysd <lin90162@yahoo.co.jp>"]
|
|
description = """
|
|
tui-textarea is a simple yet powerful text editor widget for ratatui. Multi-line
|
|
text editor can be easily put as part of your TUI application.
|
|
"""
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
categories = ["text-editors", "text-processing"]
|
|
keywords = ["tui", "textarea", "editor", "input", "ratatui"]
|
|
include = ["/src", "/examples", "/tests", "/README.md", "/LICENSE"]
|
|
|
|
[lib]
|
|
name = "tui_textarea"
|
|
|
|
[features]
|
|
default = ["crossterm"]
|
|
# Features to use ratatui
|
|
ratatui = ["dep:ratatui-core", "dep:ratatui-widgets"]
|
|
crossterm = ["ratatui", "dep:crossterm"]
|
|
crossterm_0_28 = ["ratatui", "dep:crossterm-028"]
|
|
termion = ["ratatui", "dep:termion"]
|
|
termwiz = ["ratatui", "dep:termwiz"]
|
|
no-backend = ["ratatui"]
|
|
# Other optional features
|
|
search = ["dep:regex"]
|
|
serde = ["dep:serde"]
|
|
arbitrary = ["dep:arbitrary"]
|
|
|
|
[dependencies]
|
|
arbitrary = { version = "1", features = ["derive"], optional = true }
|
|
crossterm = { package = "crossterm", version = "0.29", optional = true }
|
|
crossterm-028 = { package = "crossterm", version = "0.28", optional = true }
|
|
ratatui-core = { version = "0.1.0", default-features = false, optional = true }
|
|
ratatui-widgets = { version = "0.3.0", default-features = false, optional = true }
|
|
portable-atomic = "1.11.1"
|
|
regex = { version = "1", optional = true }
|
|
termion = { version = "4.0", optional = true }
|
|
termwiz = { version = "0.23.0", optional = true }
|
|
unicode-width = "0.2.0"
|
|
unicode-segmentation = "1.10.1"
|
|
serde = { version = "1", optional = true , features = ["derive"] }
|
|
|
|
[[example]]
|
|
name = "minimal"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "editor"
|
|
required-features = ["crossterm", "search"]
|
|
|
|
[[example]]
|
|
name = "split"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "single_line"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "variable"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "vim"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "password"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "popup_placeholder"
|
|
required-features = ["crossterm"]
|
|
|
|
[[example]]
|
|
name = "termwiz"
|
|
required-features = ["termwiz"]
|
|
|
|
[[example]]
|
|
name = "termion"
|
|
required-features = ["termion"]
|
|
|
|
[workspace]
|
|
members = ["bench"]
|
|
|
|
[profile.bench]
|
|
lto = "thin"
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1.0.120"
|
|
# Ratatui with all backends enabled for tests and examples
|
|
ratatui = {version = "0.30.0", features=["crossterm", "termion", "termwiz"]} # Used by examples
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["x86_64-unknown-linux-gnu"]
|
|
features = ["search", "crossterm", "termwiz", "termion", "serde"]
|
|
rustdoc-args = ["--cfg", "docsrs"]
|