aboutsummaryrefslogtreecommitdiffstats
path: root/src/run/builtin.rs
diff options
context:
space:
mode:
authorJonas Maier <jonas@x77.dev>2026-05-22 21:26:41 +0200
committerJonas Maier <jonas@x77.dev>2026-05-22 21:26:41 +0200
commiteeb267c46340d5d47f41cc2440f0b281f9ae9261 (patch)
treeabcbc6624e0903cc1c7cd919d15a42ebb970692a /src/run/builtin.rs
parent07daff9331dbdc607584edbf1a8fb3e415c338ea (diff)
downloadpish-eeb267c46340d5d47f41cc2440f0b281f9ae9261.tar.gz
basic syntax highlighting
Diffstat (limited to 'src/run/builtin.rs')
-rw-r--r--src/run/builtin.rs61
1 files changed, 31 insertions, 30 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs
index 638cfcd..c946472 100644
--- a/src/run/builtin.rs
+++ b/src/run/builtin.rs
@@ -802,37 +802,38 @@ impl Builtin for ct {
return Err(Error::Exit(-1));
};
- let mut se = session.lock().unwrap();
-
- match &arg[..] {
- b"cursor_begin" => se.move_to_begin(),
- b"cursor_end" => se.move_to_end(),
- b"cursor_right" => se.cursor_right(),
- b"cursor_left" => se.cursor_left(),
- b"cursor_right_word" => se.cursor_right_word(),
- b"cursor_left_word" => se.cursor_left_word(),
- b"prompt_clear" => se.prompt_clear(),
- b"screen_clear" => {
- drop(se);
- Session::screen_clear(session);
- }
- b"history_previous" => se.history_up(),
- b"history_next" => se.history_down(),
- b"prompt_del_left" => se.del_left(),
- b"prompt_del_right" => se.del_right(),
- b"prompt_del_left_word" => se.del_left_word(),
- b"prompt_del_right_word" => se.del_right_word(),
- b"prompt_del_left_or_previous" => se.del_left_or_previous(),
- b"prompt_pipe_previous" => se.prompt_pipe_previous(),
- b"complete" => {
- drop(se);
- Session::complete(session)
- }
- b"try_submit_command" => {
- drop(se);
- Session::try_submit_command(session);
+ {
+ let mut se = session.lock().unwrap();
+ match &arg[..] {
+ b"cursor_begin" => se.line.move_to_begin().unwrap(),
+ b"cursor_end" => se.line.move_to_end().unwrap(),
+ b"cursor_right" => se.line.cursor_right().unwrap(),
+ b"cursor_left" => se.line.cursor_left().unwrap(),
+ b"cursor_right_word" => se.line.cursor_right_word().unwrap(),
+ b"cursor_left_word" => se.line.cursor_left_word().unwrap(),
+ b"prompt_clear" => se.prompt_clear(),
+ b"screen_clear" => {
+ drop(se);
+ Session::screen_clear(session.clone());
+ }
+ b"history_previous" => se.history_up(),
+ b"history_next" => se.history_down(),
+ b"prompt_del_left" => se.line.del_left().unwrap(),
+ b"prompt_del_right" => se.line.del_right().unwrap(),
+ b"prompt_del_left_word" => se.line.del_left_word().unwrap(),
+ b"prompt_del_right_word" => se.line.del_right_word().unwrap(),
+ b"prompt_del_left_or_previous" => se.del_left_or_previous(),
+ b"prompt_pipe_previous" => se.prompt_pipe_previous(),
+ b"complete" => {
+ drop(se);
+ Session::complete(session.clone())
+ }
+ b"try_submit_command" => {
+ drop(se);
+ Session::try_submit_command(session.clone());
+ }
+ _ => return Err(Error::Exit(-2)),
}
- _ => return Err(Error::Exit(-2)),
}
Ok(())