GNU Octave  8.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
command_editor Class Referenceabstract

#include "cmd-edit.h"

Inheritance diagram for command_editor:
Collaboration diagram for command_editor:

Public Types

typedef int(* char_is_quoted_fcn) (const std::string &, int)
 
typedef std::string(* completion_fcn) (const std::string &, int)
 
typedef char *(* completion_hook_fcn) ()
 
typedef std::string(* dequoting_fcn) (const std::string &, int)
 
typedef int(* event_hook_fcn) (void)
 
typedef int(* pre_input_hook_fcn) (void)
 
typedef std::string(* quoting_fcn) (const std::string &, int, char)
 
typedef int(* startup_hook_fcn) (void)
 
typedef void(* user_accept_line_fcn) (const std::string &)
 

Public Member Functions

 command_editor (const command_editor &)=delete
 
virtual ~command_editor (void)=default
 
command_editoroperator= (const command_editor &)=delete
 

Static Public Member Functions

static void accept_line (void)
 
static void add_event_hook (event_hook_fcn f)
 
static void add_pre_input_hook (pre_input_hook_fcn f)
 
static void add_startup_hook (startup_hook_fcn f)
 
static void blink_matching_paren (bool flag)
 
static void clear_screen (bool skip_redisplay=false)
 
static void clear_undo_list (void)
 
static int current_command_number (void)
 
static std::string decode_prompt_string (const std::string &s)
 
static bool erase_empty_line (bool flag)
 
static bool event_loop_interrupted (void)
 
static bool filename_completion_desired (bool)
 
static bool filename_quoting_desired (bool)
 
static void force_default_editor (void)
 
static string_vector generate_filename_completions (const std::string &text)
 
static char_is_quoted_fcn get_char_is_quoted_function (void)
 
static completion_fcn get_completion_function (void)
 
static std::string get_current_line (void)
 
static dequoting_fcn get_dequoting_function (void)
 
static FILE * get_input_stream (void)
 
static std::string get_line_buffer (void)
 
static FILE * get_output_stream (void)
 
static char get_prev_char (int)
 
static quoting_fcn get_quoting_function (void)
 
static user_accept_line_fcn get_user_accept_line_function (void)
 
static void increment_current_command_number (void)
 
static int insert_initial_input (void)
 
static void insert_text (const std::string &text)
 
static bool interrupt (bool=true)
 
static void interrupt_event_loop (bool flag=true)
 
static void kill_full_line (void)
 
static void newline (void)
 
static bool prefer_env_winsize (bool)
 
static void re_read_init_file (void)
 
static void read_init_file (const std::string &file="")
 
static std::string readline (const std::string &prompt)
 
static std::string readline (const std::string &prompt, bool &eof)
 
static void redisplay (void)
 
static void remove_event_hook (event_hook_fcn f)
 
static void remove_pre_input_hook (pre_input_hook_fcn f)
 
static void remove_startup_hook (startup_hook_fcn f)
 
static void replace_line (const std::string &text, bool clear_undo=true)
 
static void reset_current_command_number (int n)
 
static void resize_terminal (void)
 
static void restore_terminal_state (void)
 
static void run_event_hooks (void)
 
static void set_basic_quote_characters (const std::string &s)
 
static void set_basic_word_break_characters (const std::string &s)
 
static void set_char_is_quoted_function (char_is_quoted_fcn f)
 
static void set_completer_quote_characters (const std::string &s)
 
static void set_completer_word_break_characters (const std::string &s)
 
static void set_completion_append_character (char c)
 
static void set_completion_function (completion_fcn f)
 
static void set_dequoting_function (dequoting_fcn f)
 
static void set_filename_quote_characters (const std::string &s)
 
static void set_initial_input (const std::string &text)
 
static void set_input_stream (FILE *f)
 
static void set_name (const std::string &n)
 
static void set_output_stream (FILE *f)
 
static void set_quoting_function (quoting_fcn f)
 
static void set_screen_size (int ht, int wd)
 
static void set_user_accept_line_function (user_accept_line_fcn f)
 
static int terminal_cols (void)
 
static int terminal_rows (void)
 
static bool undo (void)
 

Protected Member Functions

 command_editor (void)
 
virtual void do_accept_line (void)=0
 
virtual void do_blink_matching_paren (bool)
 
virtual void do_clear_screen (bool)
 
virtual void do_clear_undo_list (void)
 
virtual std::string do_decode_prompt_string (const std::string &)
 
virtual bool do_erase_empty_line (bool)
 
bool do_event_loop_interrupted (void) const
 
virtual bool do_filename_completion_desired (bool)
 
virtual bool do_filename_quoting_desired (bool)
 
virtual string_vector do_generate_filename_completions (const std::string &text)=0
 
virtual char_is_quoted_fcn do_get_char_is_quoted_function (void) const
 
virtual completion_fcn do_get_completion_function (void) const
 
virtual std::string do_get_current_line (void) const =0
 
virtual dequoting_fcn do_get_dequoting_function (void) const
 
virtual FILE * do_get_input_stream (void)=0
 
virtual std::string do_get_line_buffer (void) const =0
 
virtual FILE * do_get_output_stream (void)=0
 
virtual char do_get_prev_char (int) const =0
 
virtual quoting_fcn do_get_quoting_function (void) const
 
virtual user_accept_line_fcn do_get_user_accept_line_function (void) const
 
virtual void do_handle_interrupt_signal (void)
 
int do_insert_initial_input (void)
 
virtual void do_insert_text (const std::string &text)=0
 
virtual void do_interrupt (bool)
 
void do_interrupt_event_loop (bool arg)
 
virtual void do_kill_full_line (void)=0
 
virtual void do_newline (void)=0
 
virtual bool do_prefer_env_winsize (bool)
 
virtual void do_re_read_init_file (void)
 
virtual void do_read_init_file (const std::string &)
 
virtual std::string do_readline (const std::string &, bool &)=0
 
std::string do_readline (const std::string &prompt)
 
virtual void do_redisplay (void)
 
virtual void do_replace_line (const std::string &text, bool clear_undo)=0
 
virtual void do_resize_terminal (void)
 
virtual void do_restore_terminal_state (void)
 
virtual void do_set_basic_quote_characters (const std::string &)
 
virtual void do_set_basic_word_break_characters (const std::string &)
 
virtual void do_set_char_is_quoted_function (char_is_quoted_fcn)
 
virtual void do_set_completer_quote_characters (const std::string &)
 
virtual void do_set_completer_word_break_characters (const std::string &)
 
virtual void do_set_completer_word_break_hook (completion_hook_fcn)
 
virtual void do_set_completion_append_character (char)
 
virtual void do_set_completion_function (completion_fcn)
 
virtual void do_set_dequoting_function (dequoting_fcn)
 
virtual void do_set_filename_quote_characters (const std::string &)
 
virtual void do_set_input_stream (FILE *)=0
 
virtual void do_set_name (const std::string &)
 
virtual void do_set_output_stream (FILE *)=0
 
virtual void do_set_quoting_function (quoting_fcn)
 
virtual void do_set_screen_size (int ht, int wd)
 
virtual void do_set_user_accept_line_function (user_accept_line_fcn)
 
virtual int do_terminal_cols (void)
 
virtual int do_terminal_rows (void)
 
virtual bool do_undo (void)
 
void error (const std::string &)
 
void error (int)
 
virtual std::string newline_chars (void)
 
int read_octal (const std::string &s)
 
virtual void restore_event_hook (void)
 
virtual void restore_pre_input_hook (void)
 
virtual void restore_startup_hook (void)
 
virtual void set_event_hook (event_hook_fcn)
 
virtual void set_pre_input_hook (pre_input_hook_fcn)
 
virtual void set_startup_hook (startup_hook_fcn)
 

Protected Attributes

int m_cols
 
int m_command_number
 
std::string m_initial_input
 
bool m_interrupt_event_loop
 
bool m_interrupted
 
int m_rows
 

Static Private Member Functions

static void cleanup_instance (void)
 
static int event_handler (void)
 
static void handle_interrupt_signal (void)
 
static bool instance_ok (void)
 
static void make_command_editor (void)
 
static int pre_input_handler (void)
 
static int startup_handler (void)
 

Static Private Attributes

static std::set< event_hook_fcnm_event_hook_set
 
static std::set< pre_input_hook_fcnm_pre_input_hook_set
 
static std::set< startup_hook_fcnm_startup_hook_set
 
static command_editors_instance = nullptr
 

Detailed Description

Definition at line 40 of file cmd-edit.h.

Member Typedef Documentation

◆ char_is_quoted_fcn

typedef int(* command_editor::char_is_quoted_fcn) (const std::string &, int)

Definition at line 67 of file cmd-edit.h.

◆ completion_fcn

typedef std::string(* command_editor::completion_fcn) (const std::string &, int)

Definition at line 59 of file cmd-edit.h.

◆ completion_hook_fcn

typedef char*(* command_editor::completion_hook_fcn) ()

Definition at line 61 of file cmd-edit.h.

◆ dequoting_fcn

typedef std::string(* command_editor::dequoting_fcn) (const std::string &, int)

Definition at line 65 of file cmd-edit.h.

◆ event_hook_fcn

typedef int(* command_editor::event_hook_fcn) (void)

Definition at line 57 of file cmd-edit.h.

◆ pre_input_hook_fcn

typedef int(* command_editor::pre_input_hook_fcn) (void)

Definition at line 55 of file cmd-edit.h.

◆ quoting_fcn

typedef std::string(* command_editor::quoting_fcn) (const std::string &, int, char)

Definition at line 63 of file cmd-edit.h.

◆ startup_hook_fcn

typedef int(* command_editor::startup_hook_fcn) (void)

Definition at line 53 of file cmd-edit.h.

◆ user_accept_line_fcn

typedef void(* command_editor::user_accept_line_fcn) (const std::string &)

Definition at line 69 of file cmd-edit.h.

Constructor & Destructor Documentation

◆ command_editor() [1/2]

command_editor::command_editor ( void  )
inlineprotected

Definition at line 46 of file cmd-edit.h.

◆ command_editor() [2/2]

command_editor::command_editor ( const command_editor )
delete

◆ ~command_editor()

virtual command_editor::~command_editor ( void  )
virtualdefault

Member Function Documentation

◆ accept_line()

void command_editor::accept_line ( void  )
static

◆ add_event_hook()

void command_editor::add_event_hook ( event_hook_fcn  f)
static

◆ add_pre_input_hook()

void command_editor::add_pre_input_hook ( pre_input_hook_fcn  f)
static

Definition at line 1535 of file cmd-edit.cc.

References f, instance_ok(), m_pre_input_hook_set, pre_input_handler(), s_instance, and set_pre_input_hook().

Referenced by readline().

◆ add_startup_hook()

void command_editor::add_startup_hook ( startup_hook_fcn  f)
static

◆ blink_matching_paren()

void command_editor::blink_matching_paren ( bool  flag)
static

Definition at line 1311 of file cmd-edit.cc.

References do_blink_matching_paren(), instance_ok(), and s_instance.

Referenced by interpreter::execute().

◆ cleanup_instance()

static void command_editor::cleanup_instance ( void  )
inlinestaticprivate

Definition at line 222 of file cmd-edit.h.

Referenced by instance_ok().

◆ clear_screen()

void command_editor::clear_screen ( bool  skip_redisplay = false)
static

Definition at line 1257 of file cmd-edit.cc.

References do_clear_screen(), instance_ok(), and s_instance.

Referenced by Fclc(), and main_window::handle_clear_command_window_request().

◆ clear_undo_list()

void command_editor::clear_undo_list ( void  )
static

Definition at line 1502 of file cmd-edit.cc.

References do_clear_undo_list(), instance_ok(), and s_instance.

◆ current_command_number()

int command_editor::current_command_number ( void  )
static

Definition at line 1284 of file cmd-edit.cc.

References instance_ok(), m_command_number, and s_instance.

◆ decode_prompt_string()

◆ do_accept_line()

virtual void command_editor::do_accept_line ( void  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by accept_line().

◆ do_blink_matching_paren()

virtual void command_editor::do_blink_matching_paren ( bool  )
inlineprotectedvirtual

Definition at line 285 of file cmd-edit.h.

Referenced by blink_matching_paren().

◆ do_clear_screen()

virtual void command_editor::do_clear_screen ( bool  )
inlineprotectedvirtual

Definition at line 269 of file cmd-edit.h.

Referenced by clear_screen().

◆ do_clear_undo_list()

virtual void command_editor::do_clear_undo_list ( void  )
inlineprotectedvirtual

Definition at line 350 of file cmd-edit.h.

Referenced by clear_undo_list().

◆ do_decode_prompt_string()

std::string command_editor::do_decode_prompt_string ( const std::string &  s)
protectedvirtual

◆ do_erase_empty_line()

virtual bool command_editor::do_erase_empty_line ( bool  )
inlineprotectedvirtual

Definition at line 287 of file cmd-edit.h.

Referenced by erase_empty_line().

◆ do_event_loop_interrupted()

bool command_editor::do_event_loop_interrupted ( void  ) const
inlineprotected

Definition at line 380 of file cmd-edit.h.

Referenced by event_loop_interrupted().

◆ do_filename_completion_desired()

virtual bool command_editor::do_filename_completion_desired ( bool  )
inlineprotectedvirtual

Definition at line 368 of file cmd-edit.h.

Referenced by filename_completion_desired().

◆ do_filename_quoting_desired()

virtual bool command_editor::do_filename_quoting_desired ( bool  )
inlineprotectedvirtual

Definition at line 370 of file cmd-edit.h.

Referenced by filename_quoting_desired().

◆ do_generate_filename_completions()

virtual string_vector command_editor::do_generate_filename_completions ( const std::string &  text)
protectedpure virtual

◆ do_get_char_is_quoted_function()

virtual char_is_quoted_fcn command_editor::do_get_char_is_quoted_function ( void  ) const
inlineprotectedvirtual

Definition at line 322 of file cmd-edit.h.

Referenced by get_char_is_quoted_function().

◆ do_get_completion_function()

virtual completion_fcn command_editor::do_get_completion_function ( void  ) const
inlineprotectedvirtual

Definition at line 313 of file cmd-edit.h.

Referenced by get_completion_function().

◆ do_get_current_line()

virtual std::string command_editor::do_get_current_line ( void  ) const
protectedpure virtual

Implemented in default_command_editor.

Referenced by get_current_line().

◆ do_get_dequoting_function()

virtual dequoting_fcn command_editor::do_get_dequoting_function ( void  ) const
inlineprotectedvirtual

Definition at line 319 of file cmd-edit.h.

Referenced by get_dequoting_function().

◆ do_get_input_stream()

virtual FILE* command_editor::do_get_input_stream ( void  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by get_input_stream().

◆ do_get_line_buffer()

virtual std::string command_editor::do_get_line_buffer ( void  ) const
protectedpure virtual

Implemented in default_command_editor.

Referenced by get_line_buffer().

◆ do_get_output_stream()

virtual FILE* command_editor::do_get_output_stream ( void  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by get_output_stream().

◆ do_get_prev_char()

virtual char command_editor::do_get_prev_char ( int  ) const
protectedpure virtual

Implemented in default_command_editor.

Referenced by get_prev_char().

◆ do_get_quoting_function()

virtual quoting_fcn command_editor::do_get_quoting_function ( void  ) const
inlineprotectedvirtual

Definition at line 316 of file cmd-edit.h.

Referenced by get_quoting_function().

◆ do_get_user_accept_line_function()

virtual user_accept_line_fcn command_editor::do_get_user_accept_line_function ( void  ) const
inlineprotectedvirtual

Definition at line 325 of file cmd-edit.h.

Referenced by get_user_accept_line_function().

◆ do_handle_interrupt_signal()

virtual void command_editor::do_handle_interrupt_signal ( void  )
inlineprotectedvirtual

Definition at line 376 of file cmd-edit.h.

Referenced by handle_interrupt_signal().

◆ do_insert_initial_input()

int command_editor::do_insert_initial_input ( void  )
protected

Definition at line 1918 of file cmd-edit.cc.

References do_insert_text(), do_redisplay(), input(), and m_initial_input.

Referenced by insert_initial_input().

◆ do_insert_text()

virtual void command_editor::do_insert_text ( const std::string &  text)
protectedpure virtual

Implemented in default_command_editor.

Referenced by do_insert_initial_input(), and insert_text().

◆ do_interrupt()

virtual void command_editor::do_interrupt ( bool  )
inlineprotectedvirtual

Definition at line 374 of file cmd-edit.h.

Referenced by interrupt().

◆ do_interrupt_event_loop()

void command_editor::do_interrupt_event_loop ( bool  arg)
inlineprotected

Definition at line 378 of file cmd-edit.h.

Referenced by interrupt_event_loop().

◆ do_kill_full_line()

virtual void command_editor::do_kill_full_line ( void  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by kill_full_line().

◆ do_newline()

virtual void command_editor::do_newline ( void  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by newline().

◆ do_prefer_env_winsize()

virtual bool command_editor::do_prefer_env_winsize ( bool  )
inlineprotectedvirtual

Definition at line 372 of file cmd-edit.h.

Referenced by prefer_env_winsize().

◆ do_re_read_init_file()

virtual void command_editor::do_re_read_init_file ( void  )
inlineprotectedvirtual

Definition at line 366 of file cmd-edit.h.

Referenced by re_read_init_file().

◆ do_read_init_file()

virtual void command_editor::do_read_init_file ( const std::string &  )
inlineprotectedvirtual

Definition at line 364 of file cmd-edit.h.

Referenced by read_init_file().

◆ do_readline() [1/2]

virtual std::string command_editor::do_readline ( const std::string &  ,
bool &   
)
protectedpure virtual

Implemented in default_command_editor.

◆ do_readline() [2/2]

std::string command_editor::do_readline ( const std::string &  prompt)
inlineprotected

Definition at line 246 of file cmd-edit.h.

Referenced by readline().

◆ do_redisplay()

virtual void command_editor::do_redisplay ( void  )
inlineprotectedvirtual

Definition at line 263 of file cmd-edit.h.

Referenced by do_insert_initial_input(), and redisplay().

◆ do_replace_line()

virtual void command_editor::do_replace_line ( const std::string &  text,
bool  clear_undo 
)
protectedpure virtual

Implemented in default_command_editor.

Referenced by replace_line().

◆ do_resize_terminal()

virtual void command_editor::do_resize_terminal ( void  )
inlineprotectedvirtual

Definition at line 271 of file cmd-edit.h.

Referenced by resize_terminal().

◆ do_restore_terminal_state()

virtual void command_editor::do_restore_terminal_state ( void  )
inlineprotectedvirtual

Definition at line 283 of file cmd-edit.h.

Referenced by restore_terminal_state().

◆ do_set_basic_quote_characters()

virtual void command_editor::do_set_basic_quote_characters ( const std::string &  )
inlineprotectedvirtual

Definition at line 295 of file cmd-edit.h.

Referenced by set_basic_quote_characters().

◆ do_set_basic_word_break_characters()

virtual void command_editor::do_set_basic_word_break_characters ( const std::string &  )
inlineprotectedvirtual

Definition at line 289 of file cmd-edit.h.

Referenced by set_basic_word_break_characters().

◆ do_set_char_is_quoted_function()

virtual void command_editor::do_set_char_is_quoted_function ( char_is_quoted_fcn  )
inlineprotectedvirtual

Definition at line 309 of file cmd-edit.h.

Referenced by set_char_is_quoted_function().

◆ do_set_completer_quote_characters()

virtual void command_editor::do_set_completer_quote_characters ( const std::string &  )
inlineprotectedvirtual

Definition at line 299 of file cmd-edit.h.

Referenced by set_completer_quote_characters().

◆ do_set_completer_word_break_characters()

virtual void command_editor::do_set_completer_word_break_characters ( const std::string &  )
inlineprotectedvirtual

Definition at line 291 of file cmd-edit.h.

Referenced by set_completer_word_break_characters().

◆ do_set_completer_word_break_hook()

virtual void command_editor::do_set_completer_word_break_hook ( completion_hook_fcn  )
inlineprotectedvirtual

Definition at line 293 of file cmd-edit.h.

◆ do_set_completion_append_character()

virtual void command_editor::do_set_completion_append_character ( char  )
inlineprotectedvirtual

Definition at line 301 of file cmd-edit.h.

Referenced by set_completion_append_character().

◆ do_set_completion_function()

virtual void command_editor::do_set_completion_function ( completion_fcn  )
inlineprotectedvirtual

Definition at line 303 of file cmd-edit.h.

Referenced by set_completion_function().

◆ do_set_dequoting_function()

virtual void command_editor::do_set_dequoting_function ( dequoting_fcn  )
inlineprotectedvirtual

Definition at line 307 of file cmd-edit.h.

Referenced by set_dequoting_function().

◆ do_set_filename_quote_characters()

virtual void command_editor::do_set_filename_quote_characters ( const std::string &  )
inlineprotectedvirtual

Definition at line 297 of file cmd-edit.h.

Referenced by set_filename_quote_characters().

◆ do_set_input_stream()

virtual void command_editor::do_set_input_stream ( FILE *  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by set_input_stream().

◆ do_set_name()

virtual void command_editor::do_set_name ( const std::string &  )
inlineprotectedvirtual

Definition at line 244 of file cmd-edit.h.

Referenced by set_name().

◆ do_set_output_stream()

virtual void command_editor::do_set_output_stream ( FILE *  )
protectedpure virtual

Implemented in default_command_editor.

Referenced by set_output_stream().

◆ do_set_quoting_function()

virtual void command_editor::do_set_quoting_function ( quoting_fcn  )
inlineprotectedvirtual

Definition at line 305 of file cmd-edit.h.

Referenced by set_quoting_function().

◆ do_set_screen_size()

virtual void command_editor::do_set_screen_size ( int  ht,
int  wd 
)
inlineprotectedvirtual

Definition at line 273 of file cmd-edit.h.

Referenced by set_screen_size().

◆ do_set_user_accept_line_function()

virtual void command_editor::do_set_user_accept_line_function ( user_accept_line_fcn  )
inlineprotectedvirtual

Definition at line 311 of file cmd-edit.h.

Referenced by set_user_accept_line_function().

◆ do_terminal_cols()

virtual int command_editor::do_terminal_cols ( void  )
inlineprotectedvirtual

Definition at line 267 of file cmd-edit.h.

Referenced by terminal_cols().

◆ do_terminal_rows()

virtual int command_editor::do_terminal_rows ( void  )
inlineprotectedvirtual

Definition at line 265 of file cmd-edit.h.

Referenced by terminal_rows().

◆ do_undo()

virtual bool command_editor::do_undo ( void  )
inlineprotectedvirtual

Definition at line 348 of file cmd-edit.h.

Referenced by undo().

◆ erase_empty_line()

bool command_editor::erase_empty_line ( bool  flag)
static

◆ error() [1/2]

void command_editor::error ( const std::string &  s)
protected

Definition at line 1964 of file cmd-edit.cc.

◆ error() [2/2]

void command_editor::error ( int  err_num)
protected

Definition at line 1958 of file cmd-edit.cc.

◆ event_handler()

int command_editor::event_handler ( void  )
staticprivate

◆ event_loop_interrupted()

bool command_editor::event_loop_interrupted ( void  )
static

Definition at line 1652 of file cmd-edit.cc.

References do_event_loop_interrupted(), instance_ok(), and s_instance.

Referenced by action_container::run().

◆ filename_completion_desired()

bool command_editor::filename_completion_desired ( bool  arg)
static

Definition at line 1605 of file cmd-edit.cc.

References do_filename_completion_desired(), instance_ok(), and s_instance.

◆ filename_quoting_desired()

bool command_editor::filename_quoting_desired ( bool  arg)
static

Definition at line 1612 of file cmd-edit.cc.

References do_filename_quoting_desired(), instance_ok(), and s_instance.

◆ force_default_editor()

void command_editor::force_default_editor ( void  )
static

Definition at line 1106 of file cmd-edit.cc.

References s_instance.

Referenced by input_system::initialize().

◆ generate_filename_completions()

string_vector command_editor::generate_filename_completions ( const std::string &  text)
static

Definition at line 1433 of file cmd-edit.cc.

References do_generate_filename_completions(), instance_ok(), and s_instance.

Referenced by generate_completion().

◆ get_char_is_quoted_function()

command_editor::char_is_quoted_fcn command_editor::get_char_is_quoted_function ( void  )
static

Definition at line 1419 of file cmd-edit.cc.

References do_get_char_is_quoted_function(), instance_ok(), and s_instance.

◆ get_completion_function()

command_editor::completion_fcn command_editor::get_completion_function ( void  )
static

Definition at line 1401 of file cmd-edit.cc.

References do_get_completion_function(), instance_ok(), and s_instance.

◆ get_current_line()

std::string command_editor::get_current_line ( void  )
static

◆ get_dequoting_function()

command_editor::dequoting_fcn command_editor::get_dequoting_function ( void  )
static

Definition at line 1413 of file cmd-edit.cc.

References do_get_dequoting_function(), instance_ok(), and s_instance.

◆ get_input_stream()

FILE * command_editor::get_input_stream ( void  )
static

Definition at line 1219 of file cmd-edit.cc.

References do_get_input_stream(), instance_ok(), and s_instance.

◆ get_line_buffer()

std::string command_editor::get_line_buffer ( void  )
static

Definition at line 1441 of file cmd-edit.cc.

References do_get_line_buffer(), instance_ok(), and s_instance.

Referenced by find_indexed_expression(), and is_completing_dirfns().

◆ get_output_stream()

FILE * command_editor::get_output_stream ( void  )
static

Definition at line 1232 of file cmd-edit.cc.

References do_get_output_stream(), instance_ok(), and s_instance.

◆ get_prev_char()

char command_editor::get_prev_char ( int  offset)
static

Definition at line 1455 of file cmd-edit.cc.

References do_get_prev_char(), instance_ok(), and s_instance.

Referenced by generate_completion(), and generate_possible_completions().

◆ get_quoting_function()

command_editor::quoting_fcn command_editor::get_quoting_function ( void  )
static

Definition at line 1407 of file cmd-edit.cc.

References do_get_quoting_function(), instance_ok(), and s_instance.

◆ get_user_accept_line_function()

command_editor::user_accept_line_fcn command_editor::get_user_accept_line_function ( void  )
static

Definition at line 1426 of file cmd-edit.cc.

References do_get_user_accept_line_function(), instance_ok(), and s_instance.

◆ handle_interrupt_signal()

void command_editor::handle_interrupt_signal ( void  )
staticprivate

Definition at line 1658 of file cmd-edit.cc.

References do_handle_interrupt_signal(), instance_ok(), and s_instance.

Referenced by event_handler().

◆ increment_current_command_number()

void command_editor::increment_current_command_number ( void  )
static

Definition at line 1297 of file cmd-edit.cc.

References instance_ok(), m_command_number, and s_instance.

Referenced by tree_evaluator::parse_and_execute(), and tree_evaluator::repl().

◆ insert_initial_input()

int command_editor::insert_initial_input ( void  )
static

Definition at line 1120 of file cmd-edit.cc.

References do_insert_initial_input(), instance_ok(), and s_instance.

Referenced by readline().

◆ insert_text()

void command_editor::insert_text ( const std::string &  text)
static

Definition at line 1475 of file cmd-edit.cc.

References do_insert_text(), instance_ok(), and s_instance.

◆ instance_ok()

bool command_editor::instance_ok ( void  )
staticprivate

Definition at line 1072 of file cmd-edit.cc.

References singleton_cleanup_list::add(), cleanup_instance(), event_handler(), make_command_editor(), s_instance, and set_event_hook().

Referenced by accept_line(), add_pre_input_hook(), add_startup_hook(), blink_matching_paren(), clear_screen(), clear_undo_list(), current_command_number(), decode_prompt_string(), erase_empty_line(), event_loop_interrupted(), filename_completion_desired(), filename_quoting_desired(), generate_filename_completions(), get_char_is_quoted_function(), get_completion_function(), get_current_line(), get_dequoting_function(), get_input_stream(), get_line_buffer(), get_output_stream(), get_prev_char(), get_quoting_function(), get_user_accept_line_function(), handle_interrupt_signal(), increment_current_command_number(), insert_initial_input(), insert_text(), interrupt(), interrupt_event_loop(), kill_full_line(), newline(), prefer_env_winsize(), re_read_init_file(), read_init_file(), readline(), redisplay(), remove_pre_input_hook(), remove_startup_hook(), replace_line(), reset_current_command_number(), resize_terminal(), restore_terminal_state(), set_basic_quote_characters(), set_basic_word_break_characters(), set_char_is_quoted_function(), set_completer_quote_characters(), set_completer_word_break_characters(), set_completion_append_character(), set_completion_function(), set_dequoting_function(), set_filename_quote_characters(), set_initial_input(), set_input_stream(), set_name(), set_output_stream(), set_quoting_function(), set_screen_size(), set_user_accept_line_function(), terminal_cols(), terminal_rows(), and undo().

◆ interrupt()

◆ interrupt_event_loop()

void command_editor::interrupt_event_loop ( bool  flag = true)
static

◆ kill_full_line()

void command_editor::kill_full_line ( void  )
static

◆ make_command_editor()

void command_editor::make_command_editor ( void  )
staticprivate

Definition at line 1096 of file cmd-edit.cc.

References s_instance.

Referenced by instance_ok().

◆ newline()

void command_editor::newline ( void  )
static

Definition at line 1482 of file cmd-edit.cc.

References do_newline(), instance_ok(), and s_instance.

◆ newline_chars()

virtual std::string command_editor::newline_chars ( void  )
inlineprotectedvirtual

Definition at line 281 of file cmd-edit.h.

Referenced by do_decode_prompt_string().

◆ operator=()

command_editor& command_editor::operator= ( const command_editor )
delete

◆ pre_input_handler()

int command_editor::pre_input_handler ( void  )
staticprivate

Definition at line 1143 of file cmd-edit.cc.

References f, and m_pre_input_hook_set.

Referenced by add_pre_input_hook().

◆ prefer_env_winsize()

bool command_editor::prefer_env_winsize ( bool  arg)
static

Definition at line 1619 of file cmd-edit.cc.

References do_prefer_env_winsize(), instance_ok(), and s_instance.

◆ re_read_init_file()

void command_editor::re_read_init_file ( void  )
static

Definition at line 1598 of file cmd-edit.cc.

References do_re_read_init_file(), instance_ok(), and s_instance.

◆ read_init_file()

void command_editor::read_init_file ( const std::string &  file = "")
static

Definition at line 1587 of file cmd-edit.cc.

References do_read_init_file(), instance_ok(), s_instance, and tilde_expand().

◆ read_octal()

int command_editor::read_octal ( const std::string &  s)
protected

Definition at line 1936 of file cmd-edit.cc.

Referenced by do_decode_prompt_string().

◆ readline() [1/2]

std::string command_editor::readline ( const std::string &  prompt)
static

Definition at line 1188 of file cmd-edit.cc.

◆ readline() [2/2]

std::string command_editor::readline ( const std::string &  prompt,
bool &  eof 
)
static

◆ redisplay()

◆ remove_event_hook()

void command_editor::remove_event_hook ( event_hook_fcn  f)
static

Definition at line 1569 of file cmd-edit.cc.

References event_hook_lock, f, and m_event_hook_set.

◆ remove_pre_input_hook()

void command_editor::remove_pre_input_hook ( pre_input_hook_fcn  f)
static

Definition at line 1546 of file cmd-edit.cc.

References f, instance_ok(), m_pre_input_hook_set, restore_pre_input_hook(), and s_instance.

◆ remove_startup_hook()

void command_editor::remove_startup_hook ( startup_hook_fcn  f)
static

Definition at line 1520 of file cmd-edit.cc.

References f, instance_ok(), m_startup_hook_set, restore_startup_hook(), and s_instance.

◆ replace_line()

void command_editor::replace_line ( const std::string &  text,
bool  clear_undo = true 
)
static

◆ reset_current_command_number()

void command_editor::reset_current_command_number ( int  n)
static

Definition at line 1290 of file cmd-edit.cc.

References instance_ok(), m_command_number, n, and s_instance.

◆ resize_terminal()

void command_editor::resize_terminal ( void  )
static

Definition at line 1264 of file cmd-edit.cc.

References do_resize_terminal(), instance_ok(), and s_instance.

◆ restore_event_hook()

virtual void command_editor::restore_event_hook ( void  )
inlineprotectedvirtual

Definition at line 362 of file cmd-edit.h.

◆ restore_pre_input_hook()

virtual void command_editor::restore_pre_input_hook ( void  )
inlineprotectedvirtual

Definition at line 358 of file cmd-edit.h.

Referenced by remove_pre_input_hook().

◆ restore_startup_hook()

virtual void command_editor::restore_startup_hook ( void  )
inlineprotectedvirtual

Definition at line 354 of file cmd-edit.h.

Referenced by remove_startup_hook().

◆ restore_terminal_state()

void command_editor::restore_terminal_state ( void  )
static

Definition at line 1304 of file cmd-edit.cc.

References do_restore_terminal_state(), instance_ok(), and s_instance.

Referenced by interpreter::shutdown().

◆ run_event_hooks()

void command_editor::run_event_hooks ( void  )
static

Definition at line 1581 of file cmd-edit.cc.

References event_handler().

Referenced by debugger::server_loop(), and tree_evaluator::server_loop().

◆ set_basic_quote_characters()

void command_editor::set_basic_quote_characters ( const std::string &  s)
static

Definition at line 1338 of file cmd-edit.cc.

References do_set_basic_quote_characters(), instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_basic_word_break_characters()

void command_editor::set_basic_word_break_characters ( const std::string &  s)
static

Definition at line 1324 of file cmd-edit.cc.

References do_set_basic_word_break_characters(), instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_char_is_quoted_function()

void command_editor::set_char_is_quoted_function ( char_is_quoted_fcn  f)
static

Definition at line 1387 of file cmd-edit.cc.

References do_set_char_is_quoted_function(), f, instance_ok(), and s_instance.

◆ set_completer_quote_characters()

void command_editor::set_completer_quote_characters ( const std::string &  s)
static

Definition at line 1352 of file cmd-edit.cc.

References do_set_completer_quote_characters(), instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_completer_word_break_characters()

void command_editor::set_completer_word_break_characters ( const std::string &  s)
static

◆ set_completion_append_character()

void command_editor::set_completion_append_character ( char  c)
static

Definition at line 1359 of file cmd-edit.cc.

References do_set_completion_append_character(), instance_ok(), and s_instance.

Referenced by generate_completion().

◆ set_completion_function()

void command_editor::set_completion_function ( completion_fcn  f)
static

Definition at line 1366 of file cmd-edit.cc.

References do_set_completion_function(), f, instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_dequoting_function()

void command_editor::set_dequoting_function ( dequoting_fcn  f)
static

Definition at line 1380 of file cmd-edit.cc.

References do_set_dequoting_function(), f, instance_ok(), and s_instance.

◆ set_event_hook()

virtual void command_editor::set_event_hook ( event_hook_fcn  )
inlineprotectedvirtual

Definition at line 360 of file cmd-edit.h.

Referenced by instance_ok().

◆ set_filename_quote_characters()

void command_editor::set_filename_quote_characters ( const std::string &  s)
static

Definition at line 1345 of file cmd-edit.cc.

References do_set_filename_quote_characters(), instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_initial_input()

void command_editor::set_initial_input ( const std::string &  text)
static

◆ set_input_stream()

void command_editor::set_input_stream ( FILE *  f)
static

Definition at line 1212 of file cmd-edit.cc.

References do_set_input_stream(), f, instance_ok(), and s_instance.

◆ set_name()

void command_editor::set_name ( const std::string &  n)
static

Definition at line 1181 of file cmd-edit.cc.

References do_set_name(), instance_ok(), n, and s_instance.

Referenced by input_system::initialize().

◆ set_output_stream()

void command_editor::set_output_stream ( FILE *  f)
static

Definition at line 1225 of file cmd-edit.cc.

References do_set_output_stream(), f, instance_ok(), and s_instance.

◆ set_pre_input_hook()

virtual void command_editor::set_pre_input_hook ( pre_input_hook_fcn  )
inlineprotectedvirtual

Definition at line 356 of file cmd-edit.h.

Referenced by add_pre_input_hook().

◆ set_quoting_function()

void command_editor::set_quoting_function ( quoting_fcn  f)
static

Definition at line 1373 of file cmd-edit.cc.

References do_set_quoting_function(), f, instance_ok(), and s_instance.

Referenced by input_system::initialize().

◆ set_screen_size()

void command_editor::set_screen_size ( int  ht,
int  wd 
)
static

Definition at line 1271 of file cmd-edit.cc.

References do_set_screen_size(), instance_ok(), and s_instance.

Referenced by Fterminal_size(), and main_window::set_screen_size().

◆ set_startup_hook()

virtual void command_editor::set_startup_hook ( startup_hook_fcn  )
inlineprotectedvirtual

Definition at line 352 of file cmd-edit.h.

Referenced by add_startup_hook().

◆ set_user_accept_line_function()

void command_editor::set_user_accept_line_function ( user_accept_line_fcn  f)
static

Definition at line 1394 of file cmd-edit.cc.

References do_set_user_accept_line_function(), f, instance_ok(), and s_instance.

◆ startup_handler()

int command_editor::startup_handler ( void  )
staticprivate

Definition at line 1126 of file cmd-edit.cc.

References f, and m_startup_hook_set.

Referenced by add_startup_hook().

◆ terminal_cols()

int command_editor::terminal_cols ( void  )
static

Definition at line 1251 of file cmd-edit.cc.

References do_terminal_cols(), instance_ok(), and s_instance.

Referenced by Fterminal_size(), and more_than_a_screenful().

◆ terminal_rows()

int command_editor::terminal_rows ( void  )
static

Definition at line 1245 of file cmd-edit.cc.

References do_terminal_rows(), instance_ok(), and s_instance.

Referenced by Fterminal_size(), and more_than_a_screenful().

◆ undo()

bool command_editor::undo ( void  )
static

Definition at line 1496 of file cmd-edit.cc.

References do_undo(), instance_ok(), and s_instance.

Referenced by main_window::handle_undo_request().

Member Data Documentation

◆ m_cols

int command_editor::m_cols
protected

Definition at line 395 of file cmd-edit.h.

◆ m_command_number

int command_editor::m_command_number
protected

◆ m_event_hook_set

std::set< command_editor::event_hook_fcn > command_editor::m_event_hook_set
staticprivate

Definition at line 236 of file cmd-edit.h.

Referenced by add_event_hook(), event_handler(), and remove_event_hook().

◆ m_initial_input

std::string command_editor::m_initial_input
protected

Definition at line 401 of file cmd-edit.h.

Referenced by do_insert_initial_input(), readline(), and set_initial_input().

◆ m_interrupt_event_loop

bool command_editor::m_interrupt_event_loop
protected

Definition at line 399 of file cmd-edit.h.

◆ m_interrupted

bool command_editor::m_interrupted
protected

Definition at line 397 of file cmd-edit.h.

Referenced by interrupt().

◆ m_pre_input_hook_set

std::set< command_editor::pre_input_hook_fcn > command_editor::m_pre_input_hook_set
staticprivate

Definition at line 235 of file cmd-edit.h.

Referenced by add_pre_input_hook(), pre_input_handler(), and remove_pre_input_hook().

◆ m_rows

int command_editor::m_rows
protected

Definition at line 394 of file cmd-edit.h.

◆ m_startup_hook_set

std::set< command_editor::startup_hook_fcn > command_editor::m_startup_hook_set
staticprivate

Definition at line 234 of file cmd-edit.h.

Referenced by add_startup_hook(), remove_startup_hook(), and startup_handler().

◆ s_instance

command_editor * command_editor::s_instance = nullptr
staticprivate

Definition at line 232 of file cmd-edit.h.

Referenced by accept_line(), add_pre_input_hook(), add_startup_hook(), blink_matching_paren(), clear_screen(), clear_undo_list(), current_command_number(), decode_prompt_string(), erase_empty_line(), event_loop_interrupted(), filename_completion_desired(), filename_quoting_desired(), force_default_editor(), generate_filename_completions(), get_char_is_quoted_function(), get_completion_function(), get_current_line(), get_dequoting_function(), get_input_stream(), get_line_buffer(), get_output_stream(), get_prev_char(), get_quoting_function(), get_user_accept_line_function(), handle_interrupt_signal(), increment_current_command_number(), insert_initial_input(), insert_text(), instance_ok(), interrupt(), interrupt_event_loop(), kill_full_line(), make_command_editor(), newline(), prefer_env_winsize(), re_read_init_file(), read_init_file(), readline(), redisplay(), remove_pre_input_hook(), remove_startup_hook(), replace_line(), reset_current_command_number(), resize_terminal(), restore_terminal_state(), set_basic_quote_characters(), set_basic_word_break_characters(), set_char_is_quoted_function(), set_completer_quote_characters(), set_completer_word_break_characters(), set_completion_append_character(), set_completion_function(), set_dequoting_function(), set_filename_quote_characters(), set_initial_input(), set_input_stream(), set_name(), set_output_stream(), set_quoting_function(), set_screen_size(), set_user_accept_line_function(), terminal_cols(), terminal_rows(), and undo().


The documentation for this class was generated from the following files: