Tweaks to CLI, bugfix for escape replacements
This commit is contained in:
parent
5c047efcb7
commit
e967345937
7
bpeg.c
7
bpeg.c
@ -86,10 +86,7 @@ int main(int argc, char *argv[])
|
||||
} else if (FLAG("--verbose") || FLAG("-v")) {
|
||||
verbose = 1;
|
||||
} else if (FLAG("--pattern") || FLAG("-p")) {
|
||||
vm_op_t *p = bpeg_pattern(flag);
|
||||
check(p, "Pattern failed to compile");
|
||||
add_def(g, flag, "pattern", p);
|
||||
++npatterns;
|
||||
rule = flag;
|
||||
} else if (FLAG("--replace") || FLAG("-r")) {
|
||||
vm_op_t *p = bpeg_replacement(bpeg_pattern("pattern"), flag);
|
||||
check(p, "Replacement failed to compile");
|
||||
@ -126,7 +123,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
vm_op_t *pattern = lookup(g, rule);
|
||||
check(pattern != NULL, usage);
|
||||
check(pattern != NULL, "No such rule: '%s'", rule);
|
||||
|
||||
if (verbose) {
|
||||
print_pattern(pattern);
|
||||
|
@ -13,6 +13,7 @@ const char *BPEG_BUILTIN_GRAMMAR = (
|
||||
"replace-all = *&&@replacement &&$$;\n"
|
||||
"find-all = *(matching-line / {&&(\\n/$$)=>});\n"
|
||||
"matching-line = +&@pattern *. $ ?\\n;\n"
|
||||
"only-matches = *{&&@pattern=>'@1\\n'};\n"
|
||||
|
||||
// Helper definitions (commonly used)
|
||||
"crlf=\\r\\n;\n"
|
||||
|
Loading…
Reference in New Issue
Block a user