diff options
author | Shav Kinderlehrer <[email protected]> | 2023-04-13 09:03:33 -0400 |
---|---|---|
committer | Shav Kinderlehrer <[email protected]> | 2023-04-13 09:03:33 -0400 |
commit | 5f01703842daf79a5beb9b2d87bf42034346de03 (patch) | |
tree | 652ef2af1318c015954edbc1fe5d70ba8e2812a6 /src/main.c | |
parent | 58e0d435c38c0b4e6c59244436556dba6ed96abf (diff) | |
download | lat-5f01703842daf79a5beb9b2d87bf42034346de03.tar.gz lat-5f01703842daf79a5beb9b2d87bf42034346de03.zip |
Add argsv0.5.0
- --help
- --version
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -23,9 +23,9 @@ void run(FILE *fp, char *filename, int tty) { f = readfile(fp); if (tty) { - char *addon = f.binary ? " <binary>" : ""; - fprintf(stderr, "\r%s%s%s%s\r\n", invert_t, basename(filename), addon, - uinvert_t); + char *addon = f.binary ? "<binary>" : ""; + fprintf(stderr, "\r\x1b[2K%s%s%s%s\r\n", invert_t, basename(filename), + addon, uinvert_t); } int lcpad = intlen(f.lc); @@ -82,7 +82,7 @@ int main(int argc, char *argv[]) { if (argc > 1) { int offset = parseargs(argc, argv); - for (int i = offset; i < argc; i++) { // start at one to offset argv[0] + for (int i = offset; i < argc; i++) { FILE *fp = fopen(argv[i], "rb"); if (fp == NULL) die(argv[i]); @@ -91,10 +91,14 @@ int main(int argc, char *argv[]) { run(fp, argv[i], tty); fclose(fp); - if (i + 1 != argc) { - fprintf(stderr, "\r\n"); // separate concurrent files + if (tty && (i + 1 != argc)) { + fprintf(stderr, "\r\n"); // separate concurrent files in tty } } + + if (offset == argc) { + run(stdin, "stdin", 1); + } } else { run(stdin, "stdin", 1); // for piped-input or repl-like behavior } |