Mercurial > hg > octave-lyh
diff liboctave/cmd-edit.h @ 6979:2883ea1c5c18
[project @ 2007-10-08 20:23:48 by dbateman]
author | dbateman |
---|---|
date | Mon, 08 Oct 2007 20:26:01 +0000 |
parents | f779c83d6ccf |
children | 93c65f2a5668 |
line wrap: on
line diff
--- a/liboctave/cmd-edit.h +++ b/liboctave/cmd-edit.h @@ -48,6 +48,14 @@ typedef std::string (*completion_fcn) (const std::string&, int); + typedef std::string (*quoting_fcn) (const std::string&, int, char); + + typedef std::string (*dequoting_fcn) (const std::string&, int); + + typedef int (*char_is_quoted_fcn) (const std::string&, int); + + typedef void (*user_accept_line_fcn) (const std::string&); + virtual ~command_editor (void) { } static void set_name (const std::string& n); @@ -84,18 +92,40 @@ static void set_basic_quote_characters (const std::string& s); + static void set_filename_quote_characters (const std::string& s); + + static void set_completer_quote_characters (const std::string& s); + static void set_completion_append_character (char c); static void set_completion_function (completion_fcn f); + static void set_quoting_function (quoting_fcn f); + + static void set_dequoting_function (dequoting_fcn f); + + static void set_char_is_quoted_function (char_is_quoted_fcn f); + + static void set_user_accept_line_function (user_accept_line_fcn f); + static completion_fcn get_completion_function (void); + static quoting_fcn get_quoting_function (void); + + static dequoting_fcn get_dequoting_function (void); + + static char_is_quoted_fcn get_char_is_quoted_function (void); + + static user_accept_line_fcn get_user_accept_line_function (void); + static string_vector generate_filename_completions (const std::string& text); static void insert_text (const std::string& text); static void newline (void); + static void accept_line (void); + static void clear_undo_list (void); static void add_startup_hook (startup_hook_fcn f); @@ -110,6 +140,8 @@ static bool filename_completion_desired (bool); + static bool filename_quoting_desired (bool); + static int current_command_number (void); static void reset_current_command_number (int n); @@ -192,18 +224,40 @@ virtual void do_set_basic_quote_characters (const std::string&) { } + virtual void do_set_filename_quote_characters (const std::string&) { } + + virtual void do_set_completer_quote_characters (const std::string&) { } + virtual void do_set_completion_append_character (char) { } virtual void do_set_completion_function (completion_fcn) { } + virtual void do_set_quoting_function (quoting_fcn) { } + + virtual void do_set_dequoting_function (dequoting_fcn) { } + + virtual void do_set_char_is_quoted_function (char_is_quoted_fcn) { } + + virtual void do_set_user_accept_line_function (user_accept_line_fcn) { } + virtual completion_fcn do_get_completion_function (void) const { return 0; } + virtual quoting_fcn do_get_quoting_function (void) const { return 0; } + + virtual dequoting_fcn do_get_dequoting_function (void) const { return 0; } + + virtual char_is_quoted_fcn do_get_char_is_quoted_function (void) const { return 0; } + + virtual user_accept_line_fcn do_get_user_accept_line_function (void) const { return 0; } + virtual string_vector do_generate_filename_completions (const std::string& text) = 0; virtual void do_insert_text (const std::string&) = 0; virtual void do_newline (void) = 0; + virtual void do_accept_line (void) = 0; + virtual void do_clear_undo_list (void) { } virtual void set_startup_hook (startup_hook_fcn) { } @@ -218,6 +272,8 @@ virtual bool do_filename_completion_desired (bool) { return false; } + virtual bool do_filename_quoting_desired (bool) { return false; } + int read_octal (const std::string& s); void error (int);