/* Header file for GDB command decoding library.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Copyright (C) 2000-2017 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
/* Include the public interfaces. */
#include "command.h"
-
-struct re_pattern_buffer;
+#include "gdb_regex.h"
#if 0
/* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum
const char *name;
/* Command class; class values are chosen by application program. */
- enum command_class class;
+ enum command_class theclass;
/* When 1 indicated that this command is deprecated. It may be
removed from gdb's command set in the future. */
/* The prefix command of this command. */
struct cmd_list_element *prefix;
- /* Completion routine for this command. TEXT is the text beyond
- what was matched for the command itself (leading whitespace is
- skipped). It stops where we are supposed to stop completing
- (rl_point) and is '\0' terminated.
-
- Return value is a malloc'd vector of pointers to possible
- completions terminated with NULL. If there are no completions,
- returning a pointer to a NULL would work but returning NULL
- itself is also valid. WORD points in the same buffer as TEXT,
- and completions should be returned relative to this position.
- For example, suppose TEXT is "foo" and we want to complete to
- "foobar". If WORD is "oo", return "oobar"; if WORD is
- "baz/foo", return "baz/foobar". */
+ /* Completion routine for this command. */
completer_ftype *completer;
+ /* Handle the word break characters for this completer. Usually
+ this function need not be defined, but for some types of
+ completers (e.g., Python completers declared as methods inside
+ a class) the word break chars may need to be redefined
+ depending on the completer type (e.g., for filename
+ completers). */
+ completer_handle_brkchars_ftype *completer_handle_brkchars;
+
/* Destruction routine for this command. If non-NULL, this is
called when this command instance is destroyed. This may be
used to finalize the CONTEXT field, if needed. */
/* Link pointer for aliases on an alias list. */
struct cmd_list_element *alias_chain;
+
+ /* If non-null, the pointer to a field in 'struct
+ cli_suppress_notification', which will be set to true in cmd_func
+ when this command is being executed. It will be set back to false
+ when the command has been executed. */
+ int *suppress_notification;
};
extern void help_cmd_list (struct cmd_list_element *, enum command_class,
extern void help_cmd (const char *, struct ui_file *);
extern void apropos_cmd (struct ui_file *, struct cmd_list_element *,
- struct re_pattern_buffer *, const char *);
+ compiled_regex &, const char *);
/* Used to mark commands that don't do anything. If we just leave the
function field NULL, the command is interpreted as a help topic, or
extern const char * const auto_boolean_enums[];
+/* Verify whether a given cmd_list_element is a user-defined command.
+ Return 1 if it is user-defined. Return 0 otherwise. */
+
+extern int cli_user_command_p (struct cmd_list_element *);
+
+extern int find_command_name_length (const char *);
+
#endif /* !defined (CLI_DECODE_H) */