wex
v21.04.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... | |
virtual | ~shell () |
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 (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 path &file, const data::stc &data=data::stc()) | |
Constructor, opens the file if it exists. | |
virtual | ~stc () |
Destructor. | |
bool | CanCut () const override |
Virtual override methods. More... | |
bool | CanPaste () const override |
Will a paste succeed? | |
void | Clear () override |
Clear the selection. | |
void | Copy () override |
Copies text to clipboard. | |
void | Cut () override |
Cuts text to clipboard. | |
bool | IsModified () const override |
Is doc modified. | |
void | Paste () override |
Paste text from clipboard. | |
void | SelectNone () override |
Deselects selected text in the control. | |
void | Undo () override |
If there is an undo facility and the last operation can be undone, undoes the last operation. | |
void | add_text (const std::string &text) |
Other methods. More... | |
void | append_text (const std::string &text) |
Appends text (to end). | |
auto & | auto_complete () |
Returns auto_complete. | |
bool | auto_indentation (int c) |
After pressing enter, starts new line at same place as previous line. | |
void | config_get () |
Sets the configurable parameters to values currently in config. | |
const auto & | data () const |
Returns associated data. | |
int | get_current_line () const |
Returns current line number. | |
const ex & | get_ex () const |
Returns vi component. | |
ex & | get_ex () |
Returns writable ex component. More... | |
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. | |
const std::string | get_find_string () |
Returns find string, from selected text or from config. More... | |
int | get_fold_level () |
Returns current line fold level. | |
auto | get_frame () |
Returns frame. | |
const auto & | get_hexmode () const |
Returns hex mode component. | |
auto & | get_hexmode () |
Returns writable hex mode component. | |
const auto & | get_lexer () const |
Returns the lexer. | |
auto & | get_lexer () |
Returns the lexer. | |
auto | get_margin_text_click () const |
Returns line on which text margin was clicked, or -1 if not. | |
const std::string | get_text () const |
Returns text. | |
const vi & | get_vi () const |
Returns vi component. | |
vi & | get_vi () |
Returns writable vi component. | |
const std::string | get_word_at_pos (int pos) const |
Returns word at position. | |
bool | is_shown_line_numbers () const |
Returns true if line numbers are shown. | |
void | keep_event_data (bool synced) |
Keeps event data. | |
bool | link_open () |
If selected text is a link, opens the link. | |
bool | marker_delete_all_change () |
Deletes all change markers. More... | |
bool | open (const path &filename, const data::stc &data=data::stc()) |
Opens the file, reads the content into the window, then closes the file and sets the lexer. | |
bool | position_restore () |
Restores saved position. More... | |
void | position_save () |
Saves position. | |
void | print (bool prompt=true) |
Prints the document. | |
void | print_preview (wxPreviewFrameModalityKind kind=wxPreviewFrame_AppModal) |
Shows a print preview. | |
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... | |
void | set_text (const std::string &value) |
Sets the text. | |
bool | show_blame (const vcs_entry *vcs) |
Shows blame info for vcs in the text margin. More... | |
void | show_line_numbers (bool show) |
Shows or hides line numbers. | |
void | sync (bool start=true) |
Starts or stops syncing. More... | |
void | use_modification_markers (bool use) |
Use and show modification markers in the margin. More... | |
void | visual (bool on) |
Sets using visual vi (on) or ex mode (!on). | |
const std::string | eol () const override |
Virtual methods from core. | |
bool | find (const std::string &text, int find_flags=-1, bool find_next=true) override |
Pure virtual interface. More... | |
void | fold (bool fold_all=false) override |
Enables or disables folding depending on fold property. More... | |
const path & | get_filename () const override |
Returns the filename, as used by the file. | |
int | get_line_count () const override |
Returns number of lines. | |
int | get_line_count_request () override |
Request for number of lines. | |
const std::string | get_selected_text () const override |
Returns selected text as a string. | |
void | goto_line (int line) override |
Goes to specified line. | |
bool | is_hexmode () const override |
Returns true if we are in hex mode. | |
bool | is_visual () const override |
Returns true if we are in visual mode. | |
void | properties_message (path::status_t flags=0) override |
Shows properties on the statusbar using specified flags. | |
void | reset_margins (margin_t type=margin_t().set()) override |
Reset all margins. More... | |
bool | set_hexmode (bool on) override |
Sets hex mode. | |
bool | set_indicator (const indicator &indicator, int start, int end) override |
Sets an indicator at specified start and end pos. | |
void | set_search_flags (int flags) override |
search flags to be used: More... | |
bool | vi_command (const std::string &command) override |
Runs a vi command on this stc. | |
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 | ( | 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.