From eeb267c46340d5d47f41cc2440f0b281f9ae9261 Mon Sep 17 00:00:00 2001 From: Jonas Maier Date: Fri, 22 May 2026 21:26:41 +0200 Subject: basic syntax highlighting --- src/run/builtin.rs | 61 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'src/run') 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(()) -- cgit v1.2.3