forked from 1b-agent/opencadstudio-upstream
feat(commandline): full-history dropdown next to the input
Add a ▸/▾ toggle button on the right edge of the input row. Tapping it pops up the full backlog of everything the command line has pushed since startup — useful once the on-overlay rows have faded out. The dropdown is a fixed-height scrollable panel rendered above the input pill. `anchor_bottom` keeps the newest entry in view on open and `opaque` blocks wheel events from bubbling through to the viewport shader behind it (without it, scrolling the history zoomed the drawing). Submitting a command closes the dropdown so the new prompt is immediately visible. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
1 parent
5a8c79deb5
commit
4124cb2689
3 files changed
+90
-2
No files matched your search
@@ -355,6 +355,8 @@ pub enum Message {
|
||||
CommandHistoryPrev,
|
||||
/// Recall next command in history (↓ arrow key).
|
||||
CommandHistoryNext,
|
||||
/// Toggle the dropdown listing the full command-line history.
|
||||
CommandHistoryToggle,
|
||||
ToggleLayers,
|
||||
LayerToggleVisible(usize),
|
||||
LayerToggleLock(usize),
|
||||
|
||||
@@ -851,7 +851,16 @@ impl OpenCADStudio {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::CommandHistoryToggle => {
|
||||
self.command_line.toggle_history();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Message::CommandSubmit => {
|
||||
// Submitting a command implicitly dismisses the history
|
||||
// dropdown so the dispatched command's new prompt is
|
||||
// immediately visible on the overlay.
|
||||
self.command_line.close_history();
|
||||
let i = self.active_tab;
|
||||
if self.tabs[i].active_cmd.is_some() {
|
||||
let text = self.command_line.input.trim().to_string();
|
||||
|
||||
Reference in new issue
Block a user