Continues #47114 Release Notes: - Fixed REPL output width clamping to apply to the content area so images don’t get clipped by controls --------- Co-authored-by: MrSubidubi <finn@zed.dev>
45 lines
1.5 KiB
Rust
45 lines
1.5 KiB
Rust
use settings::{RegisterSetting, Settings};
|
|
|
|
/// Settings for configuring REPL display and behavior.
|
|
#[derive(Clone, Debug, RegisterSetting)]
|
|
pub struct ReplSettings {
|
|
/// Maximum number of lines to keep in REPL's scrollback buffer.
|
|
/// Clamped with [4, 256] range.
|
|
///
|
|
/// Default: 32
|
|
pub max_lines: usize,
|
|
/// Maximum number of columns to keep in REPL's scrollback buffer.
|
|
/// Clamped with [20, 512] range.
|
|
///
|
|
/// Default: 128
|
|
pub max_columns: usize,
|
|
/// Whether to show small single-line outputs inline instead of in a block.
|
|
///
|
|
/// Default: true
|
|
pub inline_output: bool,
|
|
/// Maximum number of characters for an output to be shown inline.
|
|
/// Only applies when `inline_output` is true.
|
|
///
|
|
/// Default: 50
|
|
pub inline_output_max_length: usize,
|
|
/// Maximum number of lines of output to display before scrolling.
|
|
/// Set to 0 to disable output height limits.
|
|
///
|
|
/// Default: 0
|
|
pub output_max_height_lines: usize,
|
|
}
|
|
|
|
impl Settings for ReplSettings {
|
|
fn from_settings(content: &settings::SettingsContent) -> Self {
|
|
let repl = content.repl.as_ref().unwrap();
|
|
|
|
Self {
|
|
max_lines: repl.max_lines.unwrap(),
|
|
max_columns: repl.max_columns.unwrap(),
|
|
inline_output: repl.inline_output.unwrap_or(true),
|
|
inline_output_max_length: repl.inline_output_max_length.unwrap_or(50),
|
|
output_max_height_lines: repl.output_max_height_lines.unwrap_or(0),
|
|
}
|
|
}
|
|
}
|