aboutsummaryrefslogtreecommitdiff
path: root/bpeg.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2020-09-16 20:38:58 -0700
committerBruce Hill <bruce@bruce-hill.com>2020-09-16 20:38:58 -0700
commitf35d3c98b22ac3c708672493d27267de071989cd (patch)
tree6f49833558ec448768f5c90193d35b7d40c81664 /bpeg.c
parent6c237850e90dce317ede7b0d4e53125df15ab62b (diff)
Added tons of file and line number stuff
Diffstat (limited to 'bpeg.c')
-rw-r--r--bpeg.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/bpeg.c b/bpeg.c
index b8b4c0d..237eef4 100644
--- a/bpeg.c
+++ b/bpeg.c
@@ -54,11 +54,7 @@ static int run_match(grammar_t *g, const char *filename, vm_op_t *pattern, unsig
file_t *f = load_file(filename);
match_t *m = match(g, f, f->contents, pattern, flags);
if (m != NULL && m->end > m->start + 1) {
- if (filename != NULL) {
- if (isatty(STDOUT_FILENO)) printf("\033[1;4;33m%s\033[0m\n", filename);
- else printf("%s\n", filename);
- }
- print_match(m, isatty(STDOUT_FILENO) ? "\033[0m" : NULL, (flags & BPEG_VERBOSE) != 0);
+ print_match(f, m, isatty(STDOUT_FILENO) ? "\033[0m" : NULL, (flags & BPEG_VERBOSE) != 0);
destroy_file(&f);
return 0;
} else {
@@ -158,6 +154,12 @@ int main(int argc, char *argv[])
}
}
+ if (isatty(STDOUT_FILENO)) {
+ vm_op_t *p = bpeg_pattern(NULL, "(/)");
+ check(p, "Failed to compile is-tty");
+ add_def(g, NULL, "(/)", "is-tty", p);
+ }
+
vm_op_t *pattern = lookup(g, rule);
check(pattern != NULL, "No such rule: '%s'", rule);