agent: Improve terminal tool card design (#29712)
To-dos: - [x] Expose the command to defend against cases where that's just super long - [x] Tackle the vertical scroll conflict with panel scroll - [x] Reduce default font-size Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Agus Zubiaga <hi@aguz.me>
This commit is contained in:
parent
e64f5ff358
commit
7dfbe0b908
8 changed files with 174 additions and 145 deletions
|
@ -601,6 +601,8 @@ pub struct TerminalContent {
|
|||
pub cursor_char: char,
|
||||
pub terminal_bounds: TerminalBounds,
|
||||
pub last_hovered_word: Option<HoveredWord>,
|
||||
pub scrolled_to_top: bool,
|
||||
pub scrolled_to_bottom: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
|
@ -625,6 +627,8 @@ impl Default for TerminalContent {
|
|||
cursor_char: Default::default(),
|
||||
terminal_bounds: Default::default(),
|
||||
last_hovered_word: None,
|
||||
scrolled_to_top: false,
|
||||
scrolled_to_bottom: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1208,6 +1212,14 @@ impl Terminal {
|
|||
.push_back(InternalEvent::Scroll(AlacScroll::Bottom));
|
||||
}
|
||||
|
||||
pub fn scrolled_to_top(&self) -> bool {
|
||||
self.last_content.scrolled_to_top
|
||||
}
|
||||
|
||||
pub fn scrolled_to_bottom(&self) -> bool {
|
||||
self.last_content.scrolled_to_bottom
|
||||
}
|
||||
|
||||
///Resize the terminal and the PTY.
|
||||
pub fn set_size(&mut self, new_bounds: TerminalBounds) {
|
||||
if self.last_content.terminal_bounds != new_bounds {
|
||||
|
@ -1405,6 +1417,8 @@ impl Terminal {
|
|||
cursor_char: term.grid()[content.cursor.point].c,
|
||||
terminal_bounds: last_content.terminal_bounds,
|
||||
last_hovered_word: last_content.last_hovered_word.clone(),
|
||||
scrolled_to_top: content.display_offset == term.history_size(),
|
||||
scrolled_to_bottom: content.display_offset == 0,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue