aboutsummaryrefslogtreecommitdiff
path: root/readline/readline.h
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1991-11-19 05:59:18 +0000
committerStu Grossman <grossman@cygnus>1991-11-19 05:59:18 +0000
commit870ca2534097fc727b6762fab958fad76722d638 (patch)
tree45e293360e93ebd8320410c8b9b65fb6729f13ff /readline/readline.h
parentc5bbc6ea4136d242ea345285f0758826d019dbaf (diff)
downloadgdb-870ca2534097fc727b6762fab958fad76722d638.zip
gdb-870ca2534097fc727b6762fab958fad76722d638.tar.gz
gdb-870ca2534097fc727b6762fab958fad76722d638.tar.bz2
Integrate new readline from Brian Fox.
Diffstat (limited to 'readline/readline.h')
-rw-r--r--readline/readline.h106
1 files changed, 67 insertions, 39 deletions
diff --git a/readline/readline.h b/readline/readline.h
index 3e62976..2e319f6 100644
--- a/readline/readline.h
+++ b/readline/readline.h
@@ -1,55 +1,59 @@
/* Readline.h -- the names of functions callable from within readline. */
-#ifndef _READLINE_H_
+#if !defined (_READLINE_H_)
#define _READLINE_H_
-#include <readline/keymaps.h>
+#include "keymaps.h"
-#ifndef __FUNCTION_DEF
+#if !defined (__FUNCTION_DEF)
typedef int Function ();
#define __FUNCTION_DEF
-#endif
+#endif /* __FUNCTION_DEF */
/* The functions for manipulating the text of the line within readline.
Most of these functions are bound to keys by default. */
extern int
-rl_beg_of_line (), rl_backward (), rl_delete (), rl_end_of_line (),
-rl_forward (), ding (), rl_backward (), rl_newline (), rl_kill_line (),
-rl_clear_screen (), rl_get_next_history (), rl_get_previous_history (),
-rl_quoted_insert (), rl_reverse_search_history (), rl_transpose_chars
-(), rl_unix_line_discard (), rl_quoted_insert (), rl_unix_word_rubout
-(), rl_yank (), rl_rubout (), rl_backward_word (), rl_kill_word (),
-rl_forward_word (), rl_tab_insert (), rl_yank_pop (), rl_yank_nth_arg (),
-rl_backward_kill_word (), rl_backward_kill_line (), rl_transpose_words
-(), rl_complete (), rl_possible_completions (), rl_do_lowercase_version
-(), rl_digit_argument (), rl_universal_argument (), rl_abort (),
-rl_undo_command (), rl_revert_line (), rl_beginning_of_history (),
-rl_end_of_history (), rl_forward_search_history (), rl_insert (),
-rl_upcase_word (), rl_downcase_word (), rl_capitalize_word (),
-rl_restart_output (), rl_re_read_init_file ();
+ rl_beg_of_line (), rl_backward (), rl_delete (), rl_end_of_line (),
+ rl_forward (), ding (), rl_backward (), rl_newline (), rl_kill_line (),
+ rl_clear_screen (), rl_get_next_history (), rl_get_previous_history (),
+ rl_quoted_insert (), rl_reverse_search_history (), rl_transpose_chars (),
+ rl_unix_line_discard (), rl_quoted_insert (), rl_unix_word_rubout (),
+ rl_yank (), rl_rubout (), rl_backward_word (), rl_kill_word (),
+ rl_forward_word (), rl_tab_insert (), rl_yank_pop (), rl_yank_nth_arg (),
+ rl_backward_kill_word (), rl_backward_kill_line (), rl_transpose_words (),
+ rl_complete (), rl_possible_completions (), rl_do_lowercase_version (),
+ rl_digit_argument (), rl_universal_argument (), rl_abort (),
+ rl_undo_command (), rl_revert_line (), rl_beginning_of_history (),
+ rl_end_of_history (), rl_forward_search_history (), rl_insert (),
+ rl_upcase_word (), rl_downcase_word (), rl_capitalize_word (),
+ rl_restart_output (), rl_re_read_init_file (), rl_dump_functions ();
/* These are *both* defined even when VI_MODE is not. */
extern int rl_vi_editing_mode (), rl_emacs_editing_mode ();
-#ifdef VI_MODE
+#if defined (VI_MODE)
/* Things for vi mode. */
-extern int rl_vi_movement_mode (), rl_vi_insertion_mode (), rl_vi_arg_digit (),
-rl_vi_prev_word (), rl_vi_next_word (), rl_vi_char_search (),
-rl_vi_eof_maybe (), rl_vi_append_mode (), rl_vi_put (),
-rl_vi_append_eol (), rl_vi_insert_beg (), rl_vi_delete (), rl_vi_comment (),
-rl_vi_first_print (), rl_vi_fword (), rl_vi_fWord (), rl_vi_bword (),
-rl_vi_bWord (), rl_vi_eword (), rl_vi_eWord (), rl_vi_end_word (),
-rl_vi_change_case (), rl_vi_match (), rl_vi_bracktype (), rl_vi_change_char (),
-rl_vi_yank_arg (), rl_vi_search (), rl_vi_search_again (),
-rl_vi_dosearch (), rl_vi_subst (), rl_vi_overstrike (),
-rl_vi_overstrike_delete (), rl_vi_replace(), rl_vi_column (),
-rl_vi_delete_to (), rl_vi_change_to (), rl_vi_yank_to (), rl_vi_complete ();
+extern int
+ rl_vi_movement_mode (), rl_vi_insertion_mode (), rl_vi_arg_digit (),
+ rl_vi_prev_word (), rl_vi_next_word (), rl_vi_char_search (),
+ rl_vi_eof_maybe (), rl_vi_append_mode (), rl_vi_put (),
+ rl_vi_append_eol (), rl_vi_insert_beg (), rl_vi_delete (), rl_vi_comment (),
+ rl_vi_first_print (), rl_vi_fword (), rl_vi_fWord (), rl_vi_bword (),
+ rl_vi_bWord (), rl_vi_eword (), rl_vi_eWord (), rl_vi_end_word (),
+ rl_vi_change_case (), rl_vi_match (), rl_vi_bracktype (),
+ rl_vi_change_char (), rl_vi_yank_arg (), rl_vi_search (),
+ rl_vi_search_again (), rl_vi_dosearch (), rl_vi_subst (),
+ rl_vi_overstrike (), rl_vi_overstrike_delete (), rl_vi_replace(),
+ rl_vi_column (), rl_vi_delete_to (), rl_vi_change_to (), rl_vi_yank_to (),
+ rl_vi_complete (), rl_vi_fetch_history ();
#endif /* VI_MODE */
/* Keyboard macro commands. */
extern int
rl_start_kbd_macro (), rl_end_kbd_macro (), rl_call_last_kbd_macro ();
+extern int rl_arrow_keys(), rl_refresh_line ();
+
/* Maintaining the state of undo. We remember individual deletes and inserts
on a chain of things to do. */
@@ -100,8 +104,8 @@ extern char *rl_terminal_name;
extern FILE *rl_instream, *rl_outstream;
/* The basic list of characters that signal a break between words for the
- completer routine. The contents of this variable is what breaks words
- in the shell, i.e. "n\"\\'`@$>". */
+ completer routine. The initial contents of this variable is what
+ breaks words in the shell, i.e. "n\"\\'`@$>". */
extern char *rl_basic_word_break_characters;
/* The list of characters that signal a break between words for
@@ -119,6 +123,14 @@ extern char *rl_special_prefixes;
completer. */
extern Function *rl_completion_entry_function;
+/* If rl_ignore_some_completions_function is non-NULL it is the address
+ of a function to call after all of the possible matches have been
+ generated, but before the actual completion is done to the input line.
+ The function is called with one argument; a NULL terminated array
+ of (char *). If your function removes any of the elements, they
+ must be free()'ed. */
+extern Function *rl_ignore_some_completions_function;
+
/* Pointer to alternative function to create matches.
Function is called with TEXT, START, and END.
START and END are indices in RL_LINE_BUFFER saying what the boundaries
@@ -128,12 +140,6 @@ extern Function *rl_completion_entry_function;
array of strings returned. */
extern Function *rl_attempted_completion_function;
-/* If non-null, this contains the address of a function to call if the
- standard meaning for expanding a tilde fails. The function is called
- with the text (sans tilde, as in "foo"), and returns a malloc()'ed string
- which is the expansion, or a NULL pointer if there is no expansion. */
-extern Function *rl_tilde_expander;
-
/* If non-zero, then this is the address of a function to call just
before readline_internal () prints the first prompt. */
extern Function *rl_startup_hook;
@@ -147,6 +153,29 @@ extern Function *rl_symbolic_link_hook;
with an asterisk. */
extern int rl_show_star;
+
+/* **************************************************************** */
+/* */
+/* Tilde Variables That Can be Externally Set */
+/* */
+/* **************************************************************** */
+
+/* If non-null, this contains the address of a function to call if the
+ standard meaning for expanding a tilde fails. The function is called
+ with the text (sans tilde, as in "foo"), and returns a malloc()'ed string
+ which is the expansion, or a NULL pointer if there is no expansion. */
+extern Function *tilde_expansion_failure_hook;
+
+/* When non-null, this is a NULL terminated array of strings which
+ are duplicates for a tilde prefix. Bash uses this to expand
+ `=~' and `:~'. */
+extern char **tilde_additional_prefixes;
+
+/* When non-null, this is a NULL terminated array of strings which match
+ the end of a username, instead of just "/". Bash sets this to
+ `/' and `:'. */
+extern char **tilde_additional_suffixes;
+
/* **************************************************************** */
/* */
/* Well Published Functions */
@@ -167,4 +196,3 @@ extern char **completion_matches ();
extern int rl_add_defun ();
#endif /* _READLINE_H_ */
-