Skip to main content

pty_mcp/buffer/
view.rs

1#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
2pub enum BufferView {
3    #[default]
4    Plain,
5    Ansi,
6    Raw,
7}
8
9#[derive(Debug, Clone, PartialEq, Eq)]
10pub struct BufferReadRequest {
11    pub offset: usize,
12    pub limit: usize,
13    pub pattern: Option<String>,
14    pub ignore_case: bool,
15    pub view: BufferView,
16}
17
18impl BufferReadRequest {
19    pub fn new(limit: usize) -> Self {
20        Self {
21            offset: 0,
22            limit,
23            pattern: None,
24            ignore_case: false,
25            view: BufferView::Plain,
26        }
27    }
28}
29
30#[derive(Debug, Clone, PartialEq, Eq)]
31pub struct BufferLine {
32    pub line_number: usize,
33    pub text: String,
34}
35
36#[derive(Debug, Clone, PartialEq, Eq)]
37pub struct BufferReadPage {
38    pub offset: usize,
39    pub returned: usize,
40    pub has_more: bool,
41    pub total_lines: usize,
42    pub lines: Vec<BufferLine>,
43}