mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:27:35 +00:00
Shell: Allow the user to set the prompt using PROMPT()
This allows the prompt to be dynamically configurable, making it possible to display various bits of information in the prompt.
This commit is contained in:
parent
71ddc33fbf
commit
84777fbe62
3 changed files with 45 additions and 1 deletions
|
@ -60,7 +60,8 @@
|
|||
__ENUMERATE_SHELL_BUILTIN(continue, OnlyInPOSIXMode) \
|
||||
__ENUMERATE_SHELL_BUILTIN(read, OnlyInPOSIXMode) \
|
||||
__ENUMERATE_SHELL_BUILTIN(run_with_env, OnlyInPOSIXMode) \
|
||||
__ENUMERATE_SHELL_BUILTIN(argsparser_parse, InAllModes)
|
||||
__ENUMERATE_SHELL_BUILTIN(argsparser_parse, InAllModes) \
|
||||
__ENUMERATE_SHELL_BUILTIN(shell_set_active_prompt, InAllModes)
|
||||
|
||||
#define ENUMERATE_SHELL_OPTIONS() \
|
||||
__ENUMERATE_SHELL_OPTION(inline_exec_keep_empty_segments, false, "Keep empty segments in inline execute $(...)") \
|
||||
|
@ -422,6 +423,8 @@ private:
|
|||
|
||||
void timer_event(Core::TimerEvent&) override;
|
||||
|
||||
void set_user_prompt();
|
||||
|
||||
bool is_allowed_to_modify_termios(const AST::Command&) const;
|
||||
|
||||
void bring_cursor_to_beginning_of_a_line() const;
|
||||
|
@ -510,6 +513,9 @@ private:
|
|||
Optional<size_t> m_history_autosave_time;
|
||||
|
||||
StackInfo m_completion_stack_info;
|
||||
|
||||
RefPtr<AST::Node> m_prompt_command_node;
|
||||
mutable Optional<DeprecatedString> m_next_scheduled_prompt_text;
|
||||
};
|
||||
|
||||
[[maybe_unused]] static constexpr bool is_word_character(char c)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue