aboutsummaryrefslogtreecommitdiff
path: root/src/app/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/api.rs')
-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,