+print_info_sources_header (const char *symbol_msg,
+ const struct output_source_filename_data *data)
+{
+ puts_filtered (symbol_msg);
+ if (!data->regexp.empty ())
+ {
+ if (data->partial_match.dirname)
+ printf_filtered (_("(dirname matching regular expression \"%s\")"),
+ data->regexp.c_str ());
+ else if (data->partial_match.basename)
+ printf_filtered (_("(basename matching regular expression \"%s\")"),
+ data->regexp.c_str ());
+ else
+ printf_filtered (_("(filename matching regular expression \"%s\")"),
+ data->regexp.c_str ());
+ }
+ puts_filtered ("\n");
+}
+
+/* Completer for "info sources". */
+
+static void
+info_sources_command_completer (cmd_list_element *ignore,
+ completion_tracker &tracker,
+ const char *text, const char *word)
+{
+ const auto group = make_info_sources_options_def_group (nullptr);
+ if (gdb::option::complete_options
+ (tracker, &text, gdb::option::PROCESS_OPTIONS_UNKNOWN_IS_OPERAND, group))
+ return;
+}
+
+static void
+info_sources_command (const char *args, int from_tty)