mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
chore: migrate tui-textarea to ratatui-textarea
Replace the tui-textarea dependency (via madsmao fork) with ratatui-textarea from the official ratatui org's fork. The upstream ratatui/ratatui-textarea main branch only supports ratatui 0.29, which conflicts with bat's unicode-width ^0.2.1 requirement. Using dotdash's PR #3 branch (pinned to commit sha) which adds ratatui 0.30 support via the split ratatui sub-crates. Changes: - Remove workspace [patch.crates-io] for tui-textarea - Switch goose-tui dep from tui-textarea to ratatui-textarea - Update all imports from tui_textarea to ratatui_textarea Ref: https://github.com/ratatui/ratatui-textarea/pull/3
This commit is contained in:
Generated
+13
-12
@@ -4751,6 +4751,7 @@ dependencies = [
|
||||
"goose-server",
|
||||
"http 1.4.0",
|
||||
"ratatui",
|
||||
"ratatui-textarea",
|
||||
"rmcp 0.16.0",
|
||||
"rustyline",
|
||||
"serde",
|
||||
@@ -4765,7 +4766,6 @@ dependencies = [
|
||||
"tracing",
|
||||
"tracing-appender",
|
||||
"tracing-subscriber",
|
||||
"tui-textarea",
|
||||
"unicode-width 0.2.2",
|
||||
"uuid",
|
||||
]
|
||||
@@ -8158,6 +8158,18 @@ dependencies = [
|
||||
"termwiz",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ratatui-textarea"
|
||||
version = "0.7.0"
|
||||
source = "git+https://github.com/dotdash/ratatui-textarea?rev=a31abb7b0b999f4e35fed65b76f8d1cb41d6e85e#a31abb7b0b999f4e35fed65b76f8d1cb41d6e85e"
|
||||
dependencies = [
|
||||
"ratatui-core",
|
||||
"ratatui-crossterm",
|
||||
"ratatui-widgets",
|
||||
"regex",
|
||||
"unicode-width 0.2.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ratatui-widgets"
|
||||
version = "0.3.0"
|
||||
@@ -11556,17 +11568,6 @@ version = "0.2.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
|
||||
|
||||
[[package]]
|
||||
name = "tui-textarea"
|
||||
version = "0.7.0"
|
||||
source = "git+https://github.com/madsmao/tui-textarea?rev=48792febd9d454fefdd869de0e75849cad6e6007#48792febd9d454fefdd869de0e75849cad6e6007"
|
||||
dependencies = [
|
||||
"crossterm",
|
||||
"ratatui",
|
||||
"regex",
|
||||
"unicode-width 0.2.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tungstenite"
|
||||
version = "0.28.0"
|
||||
|
||||
@@ -74,7 +74,3 @@ tracing-opentelemetry = "0.32"
|
||||
codegen-units = 1
|
||||
lto = true
|
||||
|
||||
[patch.crates-io]
|
||||
# Use PR #122 which updates to ratatui 0.30 (fixes unicode-width conflict with pctx)
|
||||
# https://github.com/rhysd/tui-textarea/pull/122
|
||||
tui-textarea = { git = "https://github.com/madsmao/tui-textarea", rev = "48792febd9d454fefdd869de0e75849cad6e6007" }
|
||||
|
||||
@@ -15,7 +15,8 @@ rmcp = { workspace = true }
|
||||
anyhow = "1.0"
|
||||
ratatui = { version = "0.30.0", features = ["unstable-rendered-line-info"] }
|
||||
crossterm = { version = "0.29", features = ["event-stream"] }
|
||||
tui-textarea = { version = "0.7.0", features = ["search"] }
|
||||
# TODO: Move to ratatui/ratatui-textarea once https://github.com/ratatui/ratatui-textarea/pull/3 merges
|
||||
ratatui-textarea = { git = "https://github.com/dotdash/ratatui-textarea", rev = "a31abb7b0b999f4e35fed65b76f8d1cb41d6e85e", features = ["search"] }
|
||||
tokio = { version = "1.43", features = ["full"] }
|
||||
tokio-util = { version = "0.7.10", features = ["full"] }
|
||||
axum = { version = "0.8.1", features = ["ws", "macros"] }
|
||||
|
||||
@@ -13,7 +13,7 @@ use ratatui::style::Style;
|
||||
use ratatui::text::Span;
|
||||
use ratatui::widgets::{Block, BorderType, Borders, Clear, List, ListItem};
|
||||
use ratatui::Frame;
|
||||
use tui_textarea::TextArea;
|
||||
use ratatui_textarea::TextArea;
|
||||
|
||||
pub const MAX_HISTORY_ENTRIES: usize = 100;
|
||||
pub const MAX_HISTORY_ENTRY_SIZE: usize = 10_000;
|
||||
@@ -127,8 +127,9 @@ impl<'a> InputComponent<'a> {
|
||||
self.textarea = TextArea::new(lines);
|
||||
self.textarea.set_placeholder_text("Type a message...");
|
||||
self.textarea.set_cursor_line_style(Style::default());
|
||||
self.textarea.move_cursor(tui_textarea::CursorMove::Bottom);
|
||||
self.textarea.move_cursor(tui_textarea::CursorMove::End);
|
||||
self.textarea
|
||||
.move_cursor(ratatui_textarea::CursorMove::Bottom);
|
||||
self.textarea.move_cursor(ratatui_textarea::CursorMove::End);
|
||||
}
|
||||
|
||||
pub fn seed_history(&mut self, messages: &[goose::conversation::message::Message]) {
|
||||
|
||||
@@ -15,7 +15,7 @@ use goose_client::ToolInfo;
|
||||
use ratatui::layout::Rect;
|
||||
use ratatui::widgets::{Clear, ListState, ScrollbarState};
|
||||
use ratatui::Frame;
|
||||
use tui_textarea::TextArea;
|
||||
use ratatui_textarea::TextArea;
|
||||
use widgets::new_text_input;
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Default)]
|
||||
|
||||
@@ -4,7 +4,7 @@ use crate::utils::styles::Theme;
|
||||
use ratatui::style::{Modifier, Style};
|
||||
use ratatui::text::{Line, Span};
|
||||
use ratatui::widgets::{Block, BorderType, Borders, ListItem};
|
||||
use tui_textarea::TextArea;
|
||||
use ratatui_textarea::TextArea;
|
||||
|
||||
pub fn input_block(title: &str, focused: bool, theme: &Theme) -> Block<'static> {
|
||||
let border_color = if focused {
|
||||
|
||||
@@ -15,7 +15,7 @@ use ratatui::widgets::{
|
||||
Block, BorderType, Borders, Clear, List, ListItem, ListState, Paragraph, ScrollbarState,
|
||||
};
|
||||
use ratatui::Frame;
|
||||
use tui_textarea::TextArea;
|
||||
use ratatui_textarea::TextArea;
|
||||
|
||||
const CRON_PRESETS: [(&str, &str, &str); 5] = [
|
||||
("1", "0 * * * *", "Every hour"),
|
||||
|
||||
Reference in New Issue
Block a user