wex
v21.10.0
|
This class offers a stc with support for commands. More...
#include <wex/shell.h>
Public Member Functions | |
shell (const data::stc &data=data::stc(), const std::string &prompt=">", const std::string &command_end=std::string()) | |
Default constructor. More... | |
~shell () override | |
Destructor, keeps the commands in the config, if required. | |
void | AppendText (const wxString &text) override |
Virtual interface. More... | |
void | Undo () override |
Undo one action in the undo history. | |
bool | process_char (int c) override |
Processes specified char. More... | |
void | enable (bool enable=true) |
Other methods. More... | |
const std::string | get_command () const |
Returns last entered command. | |
const std::string | get_history () const |
Returns all history commands as a string, separated by a newline (for testing). | |
const auto & | get_prompt () const |
Returns the prompt. | |
bool | is_enabled () const |
Returns whether shell processing is enabled. | |
bool | prompt (const std::string &text=std::string(), bool add_eol=true) |
Puts the text (if not empty) and a prompt at the end, goes to the end, and empties the undo buffer. More... | |
void | set_process (factory::process *process) |
Sets the process to which commands are sent. More... | |
bool | set_prompt (const std::string &prompt, bool do_prompt=true) |
Sets the prompt, and prompts if asked for. More... | |
![]() | |
stc (const std::string &text=std::string(), const data::stc &data=data::stc()) | |
Constructors. More... | |
stc (const wex::path &p, const data::stc &data=data::stc()) | |
Constructor, opens the file if it exists. | |
~stc () override | |
Destructor. | |
auto * | auto_complete () |
Other methods. More... | |
void | config_get () |
Sets the configurable parameters to values currently in config. | |
const auto & | data () const |
Returns associated data. | |
void | filetype_menu () |
Shows a menu with current line type checked, and allows you to change it. | |
bool | find_next (bool stc_find_string=true) |
Finds next with settings from find replace data. | |
auto & | get_file () |
Returns the file. | |
auto | get_frame () |
Returns frame. | |
const auto & | get_hexmode () const |
Returns hex mode component. | |
auto & | get_hexmode () |
Returns writable hex mode component. | |
const vi & | get_vi () const |
Returns vi component. | |
vi & | get_vi () |
Returns writable vi component. More... | |
bool | is_shown_line_numbers () const |
Returns true if line numbers are shown. | |
void | keep_event_data (bool synced) |
Keeps event data. | |
bool | marker_delete_all_change () |
Deletes all change markers. More... | |
int | replace_all (const std::string &find_text, const std::string &replace_text) |
Replaces all text. More... | |
bool | replace_next (bool stc_find_string=true) |
Replaces text and calls find next. More... | |
bool | replace_next (const std::string &find_text, const std::string &replace_text, int find_flags=0, bool stc_find_string=true) |
Replaces text and calls find next. More... | |
bool | show_blame (const vcs_entry *vcs) |
Shows blame info for vcs in the text margin. More... | |
bool | CanCut () const override |
Virtual methods from wxWidgets. | |
void | add_text (const std::string &text) override |
Virtual methods from factory. | |
void | append_text (const std::string &text) override |
Appends text (to end). | |
bool | auto_indentation (int c) override |
After pressing enter, starts new line at same place as previous line. | |
bool | find (const std::string &text, int find_flags=-1, bool find_next=true) override |
Override methods from text_window. | |
void | fold (bool fold_all=false) override |
Enables or disables folding depending on fold property (default not implemented). More... | |
const ex_command & | get_ex_command () const override |
Returns a ex command. | |
const std::string | get_find_string () const override |
Returns find string, from selected text or from config. More... | |
bool | get_hexmode_erase (int begin, int end) override |
Hex erase. | |
bool | get_hexmode_insert (const std::string &command, int pos) override |
Hex insert. | |
std::string | get_hexmode_lines (const std::string &text) override |
Hex lines. | |
bool | get_hexmode_replace (char) override |
Hex replace. | |
bool | get_hexmode_replace_target (const std::string &replacement, bool set_text) override |
Hex replace target. | |
bool | get_hexmode_sync () override |
Hex sync. | |
int | get_current_line () const override |
Returns current line no. | |
int | get_line_count () const override |
Returns number of lines. | |
int | get_line_count_request () override |
Request for number of lines. | |
int | get_margin_text_click () const override |
Returns line on which text margin was clicked, or -1 if not. | |
const std::string | get_word_at_pos (int pos) const override |
Returns word at position. | |
void | goto_line (int line) override |
Goes to specified line. | |
bool | inject (const data::control &data) override |
Injects data. | |
bool | is_hexmode () const override |
Returns true if we are in hex mode (default false). | |
bool | is_visual () const override |
Returns true if we are in visual mode (default true). | |
bool | link_open () override |
If selected text is a link, opens the link. | |
bool | open (const wex::path &p, const data::stc &data=data::stc()) override |
Opens the file, reads the content into the window, then closes the file and sets the lexer. | |
const wex::path & | path () const override |
Returns the path, as used by the file. More... | |
bool | position_restore () override |
Restores saved position. More... | |
void | position_save () override |
Saves position. | |
void | print (bool prompt=true) override |
Prints the document. | |
void | print_preview (wxPreviewFrameModalityKind kind=wxPreviewFrame_AppModal) override |
Shows a print preview. | |
void | properties_message (path::log_t t=path::log_t().set(path::LOG_MOD)) override |
Shows properties on the statusbar using specified flags. More... | |
void | reset_margins (margin_t type=margin_t().set()) override |
Reset all margins. More... | |
bool | set_hexmode (bool on) override |
Sets hex mode (default false). | |
bool | set_indicator (const indicator &indicator, int start, int end) override |
Sets an indicator at specified start and end pos. More... | |
void | set_search_flags (int flags) override |
Sets search flags, default invokes SetSearchFlags. More... | |
void | set_text (const std::string &value) override |
Sets the text. | |
void | show_line_numbers (bool show) override |
Shows or hides line numbers. | |
void | sync (bool start=true) override |
Starts or stops syncing. More... | |
void | use_modification_markers (bool use) override |
Use and show modification markers in the margin. More... | |
bool | vi_command (const std::string &command) override |
Runs a vi command on this stc (default false). | |
void | vi_record (const std::string &command) override |
Records a macro. | |
std::string | vi_register (char c) const override |
Returns vi register. | |
int | vi_search_flags () const override |
Returns vi search flags. | |
const std::string | vi_mode () const override |
Returns vi mode as a string. | |
void | visual (bool on) override |
Sets using visual vi (on) or ex mode (!on). | |
![]() | |
const std::string | eol () const |
Other methods. More... | |
size_t | get_fold_level () const |
Returns current line fold level. | |
const auto & | get_lexer () const |
Returns the lexer. | |
auto & | get_lexer () |
Returns the lexer. | |
const std::string | get_selected_text () const |
Returns selected text as a string. | |
const std::string | get_text () const |
Returns the text. | |
![]() | |
virtual | ~text_window ()=default |
Destructor. | |
Additional Inherited Members | |
![]() | |
enum | { MARGIN_DIVIDER = 0 , MARGIN_FOLDING = 1 , MARGIN_LINENUMBER = 2 , MARGIN_TEXT = 3 } |
Margin flags. More... | |
![]() | |
static int | config_dialog (const data::window &data=data::window()) |
Static interface. More... | |
static auto * | config_items () |
Returns config items. | |
static auto * | get_config_dialog () |
Returns the config dialog. | |
static void | on_exit () |
Saves static data in config. More... | |
static void | on_init () |
Reads static data from config (e.g. More... | |
This class offers a stc with support for commands.
The commands are entered at the last line, and kept in a list of commands, by pressing key up and down you browse through the commands. If a command is entered, an ID_SHELL_COMMAND command event is sent to the event handler, with the command available as event.GetString(). Or, if you used set_process, commands are sent to the process.
wex::shell::shell | ( | const data::stc & | data = data::stc() , |
const std::string & | prompt = ">" , |
||
const std::string & | command_end = std::string() |
||
) |
Default constructor.
data | data |
prompt | Give the command used to end a line. The default uses the eol. |
command_end | The command used to end a line. |
|
override |
Virtual interface.
Appends text, and updates the command start position. Only if the cursor was at the end, the cursor is repositioned at the end after appending the text,
void wex::shell::enable | ( | bool | enable = true | ) |
Other methods.
Enable/disable shell processing. Default (and after constructed) shell processing is enabled. When disabled, shell is a normal stc.
|
overridevirtual |
bool wex::shell::prompt | ( | const std::string & | text = std::string() , |
bool | add_eol = true |
||
) |
Puts the text (if not empty) and a prompt at the end, goes to the end, and empties the undo buffer.
Default it also adds an eol before the prompt. Returns false and does not prompt if the shell is not enabled.
void wex::shell::set_process | ( | factory::process * | process | ) |
Sets the process to which commands are sent.
If you do not set this, commands are sent to the parent.
bool wex::shell::set_prompt | ( | const std::string & | prompt, |
bool | do_prompt = true |
||
) |
Sets the prompt, and prompts if asked for.
Returns false and does not set the prompt if the shell is not enabled.