/* Header for GDB line completion.
- Copyright 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000-2014 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#if !defined (COMPLETER_H)
#define COMPLETER_H 1
-extern char **complete_line (const char *text, char *line_buffer, int point);
+#include "gdb_vecs.h"
+#include "command.h"
-extern char *readline_line_completion_function (const char *text, int matches);
+extern VEC (char_ptr) *complete_line (const char *text,
+ const char *line_buffer,
+ int point);
-extern char **noop_completer (char *, char *);
+extern char *readline_line_completion_function (const char *text,
+ int matches);
-extern char **filename_completer (char *, char *);
+extern VEC (char_ptr) *noop_completer (struct cmd_list_element *,
+ const char *, const char *);
-extern char **location_completer (char *, char *);
+extern VEC (char_ptr) *filename_completer (struct cmd_list_element *,
+ const char *, const char *);
-extern char **command_completer (char *, char *);
+extern VEC (char_ptr) *expression_completer (struct cmd_list_element *,
+ const char *, const char *);
-extern char *get_gdb_completer_word_break_characters (void);
+extern VEC (char_ptr) *location_completer (struct cmd_list_element *,
+ const char *, const char *);
+
+extern VEC (char_ptr) *command_completer (struct cmd_list_element *,
+ const char *, const char *);
+
+extern VEC (char_ptr) *signal_completer (struct cmd_list_element *,
+ const char *, const char *);
extern char *get_gdb_completer_quote_characters (void);
+extern char *gdb_completion_word_break_characters (void);
+
+/* Set the word break characters array to the corresponding set of
+ chars, based on FN. This function is useful for cases when the
+ completer doesn't know the type of the completion until some
+ calculation is done (e.g., for Python functions). */
+
+extern void set_gdb_completion_word_break_characters (completer_ftype *fn);
+
/* Exported to linespec.c */
-extern char *skip_quoted_chars (char *, char *, char *);
+extern const char *skip_quoted_chars (const char *, const char *,
+ const char *);
-extern char *skip_quoted (char *);
+extern const char *skip_quoted (const char *);
#endif /* defined (COMPLETER_H) */