diff options
authorGravatar Steven Schubiger <stsc@refcnt.org>2020-06-22 22:52:02 +0200
committerGravatar Steven Schubiger <stsc@refcnt.org>2020-06-22 22:52:02 +0200
commit2c16a073d55ad7f910a8ddaec441fa9bf0b50415 (patch)
parent048936d2b0358ba184b5380751744b8516fd74d1 (diff)
Generate README.cgit from README
3 files changed, 123 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 868ec4c..b786e05 100644
--- a/Makefile
+++ b/Makefile
@@ -30,3 +30,6 @@ clean:
sh ./release.sh
+ perl ./readme.pl
diff --git a/README.cgit b/README.cgit
new file mode 100644
index 0000000..6568c1b
--- /dev/null
+++ b/README.cgit
@@ -0,0 +1,90 @@
+Colorize aims at being a small, independent and handy command-line
+text colorizing tool. It emits ANSI escape sequences in order to
+color lines of text; also, sequences emitted by colorize or foreign
+programs may be cleared.
+The main code is written in C (c89 mostly), whereas the test script
+consists of Perl code.
+Colorize is known to build and test successfully on Linux and
+Net/Open/MirBSD. Other platforms are untested, so be prepared for
+it to eventually not work as expected there.
+valgrind (optional)
+Build instructions
+Issue `make' to build colorize.
+Once completed, run the tests with `make check'.
+Then you should most likely have a working binary.
+Next, install it with `make install' (may require elevated
+user permissions).
+Finally, clean up the working directory through `make clean'.
+Customizing instructions
+The default character ('/') which separates the foreground
+from the background color may be redefined:
+`make FLAGS=-DCOLOR_SEP_CHAR_COLON' -&gt; defines as ':'
+`make FLAGS=-DCOLOR_SEP_CHAR_SLASH' -&gt; defines as '/'
+Debugging instructions
+For the sake of completeness, colorize can be also built with
+debugging output by issuing `make FLAGS=-DDEBUG'. The intention
+is to provide some memory allocation diagnostics (and might be
+extended in future). Usually, a debugging build is not required.
+Furthermore, tests can be run through valgrind by issuing, for
+example, `make check_valgrind 2&gt;&1 | tee valgrind.out'. The
+file provided here for the `tee' invocation will be populated
+with the captured output from both standard output and error
+Configuration File
+A user configuration file may be populated with options and
+according values. See man page source file `colorize.1' for
+See man page source file: colorize.1.
+Usage example
+In ~/.bashrc:
+| ls_color() {
+| ls "$@" | colorize green -
+| }
+| alias ls=ls_color
+This excerpt defines an alias which will set the color being
+printed for literal ls invocations to green.
+Let me know, if you have ideas, bug reports, patches, etc.
+Steven Schubiger &lt;stsc@refcnt.org&gt;
diff --git a/readme.pl b/readme.pl
new file mode 100755
index 0000000..877364b
--- /dev/null
+++ b/readme.pl
@@ -0,0 +1,30 @@
+use strict;
+use warnings;
+my $readme = 'README';
+my $readme_cgit = 'README.cgit';
+die "$0: $readme does not exist\n" unless -e $readme;
+open(my $fh, '<', $readme) or die "Cannot open $readme for reading: $!\n";
+my $text = do { local $/; <$fh> };
+$text = do {
+ local $_ = $text;
+ s/</&lt;/g;
+ s/>/&gt;/g;
+ $_
+print "Writing $readme_cgit\n";
+open($fh, '>', $readme_cgit) or die "Cannot open $readme_cgit for writing: $!\n";
+print {$fh} <<"CGIT";