pub struct CommandList(pub Vec<Command>);
Expand description
Container of list of commands.
Tuple Fields§
§0: Vec<Command>
Implementations§
Source§impl CommandList
impl CommandList
Sourcepub fn combine<T>(list: Vec<T>) -> Self
pub fn combine<T>(list: Vec<T>) -> Self
Combine CommandList
’s into one.
Examples found in repository?
examples/custom_command.rs (lines 24-46)
3fn main() -> std::io::Result<()> {
4 let content = r#"Lorem ipsum dolor sit amet, consectetur adipiscing
5elit. Pellentesque neque nulla, viverra ac sapien
6et, ultricies convallis lectus. Suspendisse mattis
7in urna quis efficitur. Quisque mollis vulputate ipsum,
8ut auctor risus luctus eu. Donec sagittis convallis erat
9eget imperdiet. Aliquam massa erat, venenatis eu massa at,
10dignissim tempus massa. Donec blandit augue et malesuada
11fermentum. In vehicula, nisl ut scelerisque sagittis,
12sapien elit gravida enim, eu feugiat magna arcu sed enim.
13Fusce accumsan sodales ipsum lobortis feugiat. Pellentesque
14quam lectus, molestie vitae nisi a, tempor mollis mauris.
15Maecenas in magna tempus, porta augue bibendum, feugiat nulla."#
16 .to_string();
17
18 let status_bar =
19 StatusBar::new("Press 'p' to open selected line on seperate instance".to_string());
20
21 let mut state = State::new(
22 content,
23 status_bar,
24 CommandList::combine(vec![
25 CommandList(vec![Command {
26 cmd: vec![CommandType::Key(KeyCode::Char('p'))],
27 desc: "Open selected line on seperate instance".to_string(),
28 func: &|state| {
29 let commands =
30 CommandList::combine(vec![CommandList::quit(), CommandList::navigation()]);
31
32 let mut modal = State::new(
33 state.content.lines().nth(state.pos.1).unwrap().to_string(),
34 StatusBar::new("Quit (q)".to_string()),
35 commands,
36 )
37 .unwrap();
38 modal.show_line_numbers = false;
39 run(&mut modal).unwrap();
40 true
41 },
42 }]),
43 CommandList::quit(),
44 CommandList::navigation(),
45 CommandList::help(),
46 ]),
47 )?;
48 state.show_line_numbers = false;
49
50 pager_rs::init()?;
51
52 pager_rs::run(&mut state)?;
53
54 pager_rs::finish()?;
55
56 Ok(())
57}
Sourcepub fn quit() -> Self
pub fn quit() -> Self
Default ‘quit’ command
Examples found in repository?
examples/custom_command.rs (line 30)
3fn main() -> std::io::Result<()> {
4 let content = r#"Lorem ipsum dolor sit amet, consectetur adipiscing
5elit. Pellentesque neque nulla, viverra ac sapien
6et, ultricies convallis lectus. Suspendisse mattis
7in urna quis efficitur. Quisque mollis vulputate ipsum,
8ut auctor risus luctus eu. Donec sagittis convallis erat
9eget imperdiet. Aliquam massa erat, venenatis eu massa at,
10dignissim tempus massa. Donec blandit augue et malesuada
11fermentum. In vehicula, nisl ut scelerisque sagittis,
12sapien elit gravida enim, eu feugiat magna arcu sed enim.
13Fusce accumsan sodales ipsum lobortis feugiat. Pellentesque
14quam lectus, molestie vitae nisi a, tempor mollis mauris.
15Maecenas in magna tempus, porta augue bibendum, feugiat nulla."#
16 .to_string();
17
18 let status_bar =
19 StatusBar::new("Press 'p' to open selected line on seperate instance".to_string());
20
21 let mut state = State::new(
22 content,
23 status_bar,
24 CommandList::combine(vec![
25 CommandList(vec![Command {
26 cmd: vec![CommandType::Key(KeyCode::Char('p'))],
27 desc: "Open selected line on seperate instance".to_string(),
28 func: &|state| {
29 let commands =
30 CommandList::combine(vec![CommandList::quit(), CommandList::navigation()]);
31
32 let mut modal = State::new(
33 state.content.lines().nth(state.pos.1).unwrap().to_string(),
34 StatusBar::new("Quit (q)".to_string()),
35 commands,
36 )
37 .unwrap();
38 modal.show_line_numbers = false;
39 run(&mut modal).unwrap();
40 true
41 },
42 }]),
43 CommandList::quit(),
44 CommandList::navigation(),
45 CommandList::help(),
46 ]),
47 )?;
48 state.show_line_numbers = false;
49
50 pager_rs::init()?;
51
52 pager_rs::run(&mut state)?;
53
54 pager_rs::finish()?;
55
56 Ok(())
57}
Default bundle of ‘navigation’ commands.
Includes: Arrow
, Home/End
, PageUp/PageDown
keys
Examples found in repository?
examples/custom_command.rs (line 30)
3fn main() -> std::io::Result<()> {
4 let content = r#"Lorem ipsum dolor sit amet, consectetur adipiscing
5elit. Pellentesque neque nulla, viverra ac sapien
6et, ultricies convallis lectus. Suspendisse mattis
7in urna quis efficitur. Quisque mollis vulputate ipsum,
8ut auctor risus luctus eu. Donec sagittis convallis erat
9eget imperdiet. Aliquam massa erat, venenatis eu massa at,
10dignissim tempus massa. Donec blandit augue et malesuada
11fermentum. In vehicula, nisl ut scelerisque sagittis,
12sapien elit gravida enim, eu feugiat magna arcu sed enim.
13Fusce accumsan sodales ipsum lobortis feugiat. Pellentesque
14quam lectus, molestie vitae nisi a, tempor mollis mauris.
15Maecenas in magna tempus, porta augue bibendum, feugiat nulla."#
16 .to_string();
17
18 let status_bar =
19 StatusBar::new("Press 'p' to open selected line on seperate instance".to_string());
20
21 let mut state = State::new(
22 content,
23 status_bar,
24 CommandList::combine(vec![
25 CommandList(vec![Command {
26 cmd: vec![CommandType::Key(KeyCode::Char('p'))],
27 desc: "Open selected line on seperate instance".to_string(),
28 func: &|state| {
29 let commands =
30 CommandList::combine(vec![CommandList::quit(), CommandList::navigation()]);
31
32 let mut modal = State::new(
33 state.content.lines().nth(state.pos.1).unwrap().to_string(),
34 StatusBar::new("Quit (q)".to_string()),
35 commands,
36 )
37 .unwrap();
38 modal.show_line_numbers = false;
39 run(&mut modal).unwrap();
40 true
41 },
42 }]),
43 CommandList::quit(),
44 CommandList::navigation(),
45 CommandList::help(),
46 ]),
47 )?;
48 state.show_line_numbers = false;
49
50 pager_rs::init()?;
51
52 pager_rs::run(&mut state)?;
53
54 pager_rs::finish()?;
55
56 Ok(())
57}
Sourcepub fn help() -> Self
pub fn help() -> Self
Default ‘help’ command
Examples found in repository?
examples/custom_command.rs (line 45)
3fn main() -> std::io::Result<()> {
4 let content = r#"Lorem ipsum dolor sit amet, consectetur adipiscing
5elit. Pellentesque neque nulla, viverra ac sapien
6et, ultricies convallis lectus. Suspendisse mattis
7in urna quis efficitur. Quisque mollis vulputate ipsum,
8ut auctor risus luctus eu. Donec sagittis convallis erat
9eget imperdiet. Aliquam massa erat, venenatis eu massa at,
10dignissim tempus massa. Donec blandit augue et malesuada
11fermentum. In vehicula, nisl ut scelerisque sagittis,
12sapien elit gravida enim, eu feugiat magna arcu sed enim.
13Fusce accumsan sodales ipsum lobortis feugiat. Pellentesque
14quam lectus, molestie vitae nisi a, tempor mollis mauris.
15Maecenas in magna tempus, porta augue bibendum, feugiat nulla."#
16 .to_string();
17
18 let status_bar =
19 StatusBar::new("Press 'p' to open selected line on seperate instance".to_string());
20
21 let mut state = State::new(
22 content,
23 status_bar,
24 CommandList::combine(vec![
25 CommandList(vec![Command {
26 cmd: vec![CommandType::Key(KeyCode::Char('p'))],
27 desc: "Open selected line on seperate instance".to_string(),
28 func: &|state| {
29 let commands =
30 CommandList::combine(vec![CommandList::quit(), CommandList::navigation()]);
31
32 let mut modal = State::new(
33 state.content.lines().nth(state.pos.1).unwrap().to_string(),
34 StatusBar::new("Quit (q)".to_string()),
35 commands,
36 )
37 .unwrap();
38 modal.show_line_numbers = false;
39 run(&mut modal).unwrap();
40 true
41 },
42 }]),
43 CommandList::quit(),
44 CommandList::navigation(),
45 CommandList::help(),
46 ]),
47 )?;
48 state.show_line_numbers = false;
49
50 pager_rs::init()?;
51
52 pager_rs::run(&mut state)?;
53
54 pager_rs::finish()?;
55
56 Ok(())
57}
Sourcepub fn toggle_line_numbers() -> Self
pub fn toggle_line_numbers() -> Self
Default ‘toggle line numbers’ command
Sourcepub fn toggle_word_wrap() -> Self
pub fn toggle_word_wrap() -> Self
Default ‘toggle word wrap’ command
Trait Implementations§
Source§impl Default for CommandList
impl Default for CommandList
Source§impl From<CommandList> for Vec<Command>
impl From<CommandList> for Vec<Command>
Source§fn from(val: CommandList) -> Self
fn from(val: CommandList) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CommandList
impl !RefUnwindSafe for CommandList
impl !Send for CommandList
impl !Sync for CommandList
impl Unpin for CommandList
impl !UnwindSafe for CommandList
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more