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}