Rename string escape --style=pcre2 to string escape --style=regex

This commit is contained in:
Mahmoud Al-Qudsi 2018-11-16 20:21:05 -06:00
parent 13e025bdb0
commit 31d17f4559
11 changed files with 19 additions and 19 deletions

View file

@ -67,7 +67,7 @@ A new feature flags mechanism is added for staging deprecations and breaking cha
- `string split` supports a new `--no-empty` option to exclude empty strings from the result (#4779).
- `string` has new subcommands `split0` and `join0` for working with NUL-delimited output.
- `string` no longer stops processing text after NUL characters (#4605)
- `string escape` has a new `--style pcre2` option for escaping strings to be matched literally in `string` regex operations.
- `string escape` has a new `--style regex` option for escaping strings to be matched literally in `string` regex operations.
- `test` now supports floating point values in numeric comparisons.
### Interactive improvements

View file

@ -46,7 +46,7 @@ The following subcommands are available.
`--style=url` ensures the string can be used as a URL by hex encoding any character which is not legal in a URL. The string is first converted to UTF-8 before being encoded.
`--style=pcre2` escapes an input string for literal matching within a regex expression. The string is first converted to UTF-8 before being encoded.
`--style=regex` escapes an input string for literal matching within a regex expression. The string is first converted to UTF-8 before being encoded.
`string unescape` performs the inverse of the `string escape` command. If the string to be unescaped is not properly formatted it is ignored. For example, doing `string unescape --style=var (string escape --style=var $str)` will return the original string. There is no support for unescaping pcre2.

View file

@ -17,7 +17,7 @@ function __fish_apt_option
end
complete -c apt -n "__fish_seen_subcommand_from $pkg_subcmds" -a '(__fish_print_packages | head -n 250)'
complete -c apt -n "__fish_seen_subcommand_from $installed_pkg_subcmds" -a '(__fish_print_packages --installed | string match -re -- "(?:\\b|_)"(commandline -ct | string escape --style=pcre2) | head -n 250)' -d 'Package'
complete -c apt -n "__fish_seen_subcommand_from $installed_pkg_subcmds" -a '(__fish_print_packages --installed | string match -re -- "(?:\\b|_)"(commandline -ct | string escape --style=regex) | head -n 250)' -d 'Package'
# Support flags
complete -x -f -c apt -s h -l help -d 'Display help'

View file

@ -26,7 +26,7 @@ end
function __minikube_using_option
set cmd (commandline -poc)
set query "("(string join -- "|" (string escape --style=pcre2 $argv))")"
set query "("(string join -- "|" (string escape --style=regex $argv))")"
if test (count $cmd) -gt 1
if string match -qr -- $query $cmd[-1]
@ -40,7 +40,7 @@ function __minikube_using_option_value -a option -a value
set cmd (commandline -poc)
if test (count $cmd) -gt 1
string match -qr -- (string escape --style=pcre2 $option)"[= ]"(string escape --style=pcre2 $value) "$cmd"
string match -qr -- (string escape --style=regex $option)"[= ]"(string escape --style=regex $value) "$cmd"
return $status
end

View file

@ -20,7 +20,7 @@ function __fish_complete_screen_general_list_mac -d "Get the socket list on mac"
end
function __fish_complete_screen_general_list -d "Get the socket list"
set -l escaped (string escape --style=pcre2 $argv)
set -l escaped (string escape --style=regex $argv)
screen -list | string match -r '^\t.*\(.*\)\s*\('$escaped'\)\s*$'| string replace -r '\t(.*)\s+\((.*)\)\s*\((.*)\)' '$1\t$2 $3'
end

View file

@ -23,7 +23,7 @@ function __yarn_filtered_list_packages
return
end
all-the-package-names | string match -er -- "(?:\\b|_)"(commandline -ct | string escape --style=pcre2)
all-the-package-names | string match -er -- "(?:\\b|_)"(commandline -ct | string escape --style=regex)
end
function __yarn_find_package_json

View file

@ -196,8 +196,8 @@ static int handle_flag_1(wchar_t **argv, parser_t &parser, io_streams_t &streams
opts->escape_style = STRING_STYLE_URL;
} else if (wcscmp(w.woptarg, L"var") == 0) {
opts->escape_style = STRING_STYLE_VAR;
} else if (wcscmp(w.woptarg, L"pcre2") == 0) {
opts->escape_style = STRING_STYLE_PCRE2;
} else if (wcscmp(w.woptarg, L"regex") == 0) {
opts->escape_style = STRING_STYLE_REGEX;
} else {
string_error(streams, _(L"%ls: Invalid escape style '%ls'\n"), cmd, w.woptarg);
return STATUS_INVALID_ARGS;

View file

@ -1148,7 +1148,7 @@ wcstring escape_string(const wchar_t *in, escape_flags_t flags, escape_string_st
escape_string_var(in, result);
break;
}
case STRING_STYLE_PCRE2: {
case STRING_STYLE_REGEX: {
result = escape_string_pcre2(in);
break;
}
@ -1173,7 +1173,7 @@ wcstring escape_string(const wcstring &in, escape_flags_t flags, escape_string_s
escape_string_var(in, result);
break;
}
case STRING_STYLE_PCRE2: {
case STRING_STYLE_REGEX: {
result = escape_string_pcre2(in);
break;
}
@ -1661,7 +1661,7 @@ bool unescape_string(const wchar_t *input, wcstring *output, unescape_flags_t es
success = unescape_string_var(input, output);
break;
}
case STRING_STYLE_PCRE2: {
case STRING_STYLE_REGEX: {
// unescaping PCRE2 is not needed/supported, the PCRE2 engine is responsible for that
success = false;
break;
@ -1687,7 +1687,7 @@ bool unescape_string(const wcstring &input, wcstring *output, unescape_flags_t e
success = unescape_string_var(input.c_str(), output);
break;
}
case STRING_STYLE_PCRE2: {
case STRING_STYLE_REGEX: {
// unescaping PCRE2 is not needed/supported, the PCRE2 engine is responsible for that
success = false;
break;

View file

@ -122,7 +122,7 @@ enum escape_string_style_t {
STRING_STYLE_SCRIPT,
STRING_STYLE_URL,
STRING_STYLE_VAR,
STRING_STYLE_PCRE2,
STRING_STYLE_REGEX,
};
// Flags for unescape_string functions.

View file

@ -4353,7 +4353,7 @@ static void test_pcre2_escape() {
say(L"Testing escaping strings as pcre2 literals");
// plain text should not be needlessly escaped
auto input = L"hello world!";
auto escaped = escape_string(input, 0, STRING_STYLE_PCRE2);
auto escaped = escape_string(input, 0, STRING_STYLE_REGEX);
if (escaped != input) {
err(L"Input string %ls unnecessarily PCRE2 escaped as %ls", input, escaped.c_str());
}
@ -4369,7 +4369,7 @@ static void test_pcre2_escape() {
};
for (auto &test : tests) {
auto escaped = escape_string(test[0], 0, STRING_STYLE_PCRE2);
auto escaped = escape_string(test[0], 0, STRING_STYLE_REGEX);
if (escaped != test[1]) {
err(L"pcre2_escape error: pcre2_escape(%ls) -> %ls, expected %ls", test[0], escaped.c_str(), test[1]);
}

View file

@ -103,9 +103,9 @@ string escape --style=var 中 | string unescape --style=var
# test regex escaping
logmsg 'string escape for literal pcre2 searching'
string escape --style=pcre2 ".ext"
string escape --style=pcre2 "bonjour, amigo"
string escape --style=pcre2 "^this is a literal string"
string escape --style=regex ".ext"
string escape --style=regex "bonjour, amigo"
string escape --style=regex "^this is a literal string"
# The following tests verify that we can correctly unescape the same strings
# we tested escaping above.