aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-09 22:07:33 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-09 22:07:52 +0300
commit3a9888cd564dc45d23a7bdd0dba29a6ff1ef48a1 (patch)
tree19a36f33ee5813220f70d7df7805c71c3b21f591 /src/app
parentc6d8d8351e67a183efda3aae4dc0986e9b1e9a48 (diff)
feat: add ansi pane read format
Diffstat (limited to 'src/app')
-rw-r--r--src/app/api.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/app/api.rs b/src/app/api.rs
index bda7fc16..b23787d2 100644
--- a/src/app/api.rs
+++ b/src/app/api.rs
@@ -288,8 +288,8 @@ impl App {
use crate::api::schema::{
ErrorBody, ErrorResponse, IntegrationInstallResult, IntegrationUninstallResult, Method,
- PaneListParams, PaneReadResult, ReadSource, ResponseResult, SuccessResponse,
- TabListParams,
+ PaneListParams, PaneReadResult, ReadFormat, ReadSource, ResponseResult,
+ SuccessResponse, TabListParams,
};
let response = match request.method {
@@ -964,10 +964,17 @@ impl App {
.unwrap();
};
let requested_lines = params.lines.unwrap_or(80).min(1000) as usize;
- let text = match params.source {
- ReadSource::Visible => pane.visible_text(),
- ReadSource::Recent => pane.recent_text(requested_lines),
- ReadSource::RecentUnwrapped => pane.recent_unwrapped_text(requested_lines),
+ let text = match params.format {
+ ReadFormat::Text => match params.source {
+ ReadSource::Visible => pane.visible_text(),
+ ReadSource::Recent => pane.recent_text(requested_lines),
+ ReadSource::RecentUnwrapped => pane.recent_unwrapped_text(requested_lines),
+ },
+ ReadFormat::Ansi => match params.source {
+ ReadSource::Visible => pane.visible_ansi(),
+ ReadSource::Recent => pane.recent_ansi(requested_lines),
+ ReadSource::RecentUnwrapped => pane.recent_unwrapped_ansi(requested_lines),
+ },
};
SuccessResponse {
id: request.id,
@@ -977,6 +984,7 @@ impl App {
workspace_id,
tab_id: self.public_tab_id(ws_idx, tab_idx).unwrap(),
source: params.source,
+ format: params.format,
text,
revision: 0,
truncated: false,