2002-11-19 Klee Dienes <kdienes@apple.com>
Adam Fedor <fedor@gnu.org> * completer.c (skip_quoted_chars): Renamed from skip_chars. Add the ability to explicitly specify the quote characters and word break characters; if NULL is specified for either, use the old behavior of using the characters used by the completer. (skip_chars): New function. Convenience wrapper around skip_quoted_chars to provide the original skip_chars behavior. * completer.h (skip_quoted_chars): Add prototype.
This commit is contained in:
parent
193eb15dba
commit
4e87b8328c
3 changed files with 39 additions and 7 deletions
|
@ -1,3 +1,14 @@
|
||||||
|
2002-11-19 Klee Dienes <kdienes@apple.com>
|
||||||
|
Adam Fedor <fedor@gnu.org>
|
||||||
|
|
||||||
|
* completer.c (skip_quoted_chars): Renamed from skip_chars. Add
|
||||||
|
the ability to explicitly specify the quote characters and word
|
||||||
|
break characters; if NULL is specified for either, use the old
|
||||||
|
behavior of using the characters used by the completer.
|
||||||
|
(skip_chars): New function. Convenience wrapper around
|
||||||
|
skip_quoted_chars to provide the original skip_chars behavior.
|
||||||
|
* completer.h (skip_quoted_chars): Add prototype.
|
||||||
|
|
||||||
2002-11-19 Andrew Cagney <ac131313@redhat.com>
|
2002-11-19 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
Problems reported by Paul Eggert.
|
Problems reported by Paul Eggert.
|
||||||
|
|
|
@ -678,16 +678,25 @@ line_completion_function (char *text, int matches, char *line_buffer, int point)
|
||||||
|
|
||||||
return (output);
|
return (output);
|
||||||
}
|
}
|
||||||
/* Skip over a possibly quoted word (as defined by the quote characters
|
|
||||||
and word break characters the completer uses). Returns pointer to the
|
/* Skip over the possibly quoted word STR (as defined by the quote
|
||||||
location after the "word". */
|
characters QUOTECHARS and the the word break characters
|
||||||
|
BREAKCHARS). Returns pointer to the location after the "word". If
|
||||||
|
either QUOTECHARS or BREAKCHARS is NULL, use the same values used
|
||||||
|
by the completer. */
|
||||||
|
|
||||||
char *
|
char *
|
||||||
skip_quoted (char *str)
|
skip_quoted_chars (char *str, char *quotechars, char *breakchars)
|
||||||
{
|
{
|
||||||
char quote_char = '\0';
|
char quote_char = '\0';
|
||||||
char *scan;
|
char *scan;
|
||||||
|
|
||||||
|
if (quotechars == NULL)
|
||||||
|
quotechars = gdb_completer_quote_characters;
|
||||||
|
|
||||||
|
if (breakchars == NULL)
|
||||||
|
breakchars = gdb_completer_word_break_characters;
|
||||||
|
|
||||||
for (scan = str; *scan != '\0'; scan++)
|
for (scan = str; *scan != '\0'; scan++)
|
||||||
{
|
{
|
||||||
if (quote_char != '\0')
|
if (quote_char != '\0')
|
||||||
|
@ -700,16 +709,26 @@ skip_quoted (char *str)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strchr (gdb_completer_quote_characters, *scan))
|
else if (strchr (quotechars, *scan))
|
||||||
{
|
{
|
||||||
/* Found start of a quoted string. */
|
/* Found start of a quoted string. */
|
||||||
quote_char = *scan;
|
quote_char = *scan;
|
||||||
}
|
}
|
||||||
else if (strchr (gdb_completer_word_break_characters, *scan))
|
else if (strchr (breakchars, *scan))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (scan);
|
return (scan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Skip over the possibly quoted word STR (as defined by the quote
|
||||||
|
characters and word break characters used by the completer).
|
||||||
|
Returns pointer to the location after the "word". */
|
||||||
|
|
||||||
|
char *
|
||||||
|
skip_quoted (char *str)
|
||||||
|
{
|
||||||
|
return skip_quoted_chars (str, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ extern char *get_gdb_completer_quote_characters (void);
|
||||||
|
|
||||||
/* Exported to linespec.c */
|
/* Exported to linespec.c */
|
||||||
|
|
||||||
extern char *skip_quoted (char *str);
|
extern char *skip_quoted_chars (char *, char *, char *);
|
||||||
|
|
||||||
|
extern char *skip_quoted (char *);
|
||||||
|
|
||||||
#endif /* defined (COMPLETER_H) */
|
#endif /* defined (COMPLETER_H) */
|
||||||
|
|
Loading…
Reference in a new issue