From 77d9b1a3211d23ce3f57928006eaab6e719f64af Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 31 Mar 2025 10:29:20 +0800 Subject: Add colb from June McEnroe --- Makefile | 6 ++++-- utils/.gitignore | 1 + utils/colb.c | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 utils/.gitignore create mode 100644 utils/colb.c diff --git a/Makefile b/Makefile index 0171a2c..3783d4f 100644 --- a/Makefile +++ b/Makefile @@ -15,8 +15,10 @@ man: $(MAN_PAGES:%=man/%.html) $(MAN_PAGES:%=man/%.txt) man/%.html: man/% mandoc -Thtml -O style=./mandoc.css $< > $@ -man/%.txt: man/% - mandoc $< | col -b > $@ +man/%.txt: man/% utils/colb + mandoc $< | ./utils/colb > $@ + +utils/colb: utils/colb.c hookc/hookc: diff --git a/utils/.gitignore b/utils/.gitignore new file mode 100644 index 0000000..0d965ce --- /dev/null +++ b/utils/.gitignore @@ -0,0 +1 @@ +/colb diff --git a/utils/colb.c b/utils/colb.c new file mode 100644 index 0000000..e50ac5d --- /dev/null +++ b/utils/colb.c @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-3.0-only +// SPDX-FileCopyrightText: Copyright (c) 2021 June McEnroe + +#include +#include +#include + +int main(void) +{ + setlocale(LC_CTYPE, "C.UTF-8"); + wint_t next, prev = WEOF; + while (WEOF != (next = getwchar())) { + if (next == L'\b') { + prev = WEOF; + } else { + if (prev != WEOF) putwchar(prev); + prev = next; + } + } + if (prev != WEOF) + putwchar(prev); +} -- cgit v1.2.3