diff options
| author | Jonas Maier <jonas@x77.dev> | 2026-05-22 21:26:41 +0200 |
|---|---|---|
| committer | Jonas Maier <jonas@x77.dev> | 2026-05-22 21:26:41 +0200 |
| commit | eeb267c46340d5d47f41cc2440f0b281f9ae9261 (patch) | |
| tree | abcbc6624e0903cc1c7cd919d15a42ebb970692a /src/run | |
| parent | 07daff9331dbdc607584edbf1a8fb3e415c338ea (diff) | |
| download | pish-eeb267c46340d5d47f41cc2440f0b281f9ae9261.tar.gz | |
basic syntax highlighting
Diffstat (limited to 'src/run')
| -rw-r--r-- | src/run/builtin.rs | 61 |
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(()) |
