A Guile port of the termenv library (originally in golang)
Find a file
2024-03-02 14:29:46 -05:00
.guix/modules Turn repo into a guix channel 2024-03-01 21:21:46 +00:00
doc Add basic documentation 2024-02-12 23:53:05 -05:00
termenv Formatting 2024-03-01 17:06:50 -05:00
tests Renamed "reverse" to "invert" 2024-02-11 14:06:38 -05:00
.gitignore initial commit 2024-02-09 08:56:13 -05:00
.guix-channel Turn repo into a guix channel 2024-03-01 21:21:46 +00:00
COPYING initial commit 2024-02-09 08:56:13 -05:00
guix.scm Turn repo into a guix channel 2024-03-01 21:21:46 +00:00
HACKING initial commit 2024-02-09 08:56:13 -05:00
hall.scm Deleting silly symlink readme 2024-03-02 14:29:46 -05:00
README.org Add basic documentation 2024-02-12 23:53:05 -05:00
termenv.scm initial commit 2024-02-09 08:56:13 -05:00

README for Guile-Termenv

guile-termenv is a port of termenv to Guile. It provides a convenient interface to ANSI control sequences so you can color and style output without need to bother with arcane symbols, all to the height of your terminal's capabilities.

While guile-termenv is not a 1:1 port of termenv, it does provide much of the same functionality, and it aims to fill the same niche in the Guile ecosystem that termenv does in the Go ecosystem.

Building

guile-termenv is developed using Guix and the simplest way to build it is with Guix. Running guix build -f guix.scm will build and test the project, placing it in the store. Instead using guix shell -f guix.scm will create an environment with the project, and guix profile -if guix.scm will install it.

If you wish to use a more manual build methodology, you can replicate the build steps like so:

  guix shell -Df guix.scm
  hall build -x
  autoreconf -vif
  ./configure
  make -j

Note that it is not advised to install the project this way.

If you don't have or don't want to use Guix, guile-termenv requires the following dependencies to build:

  • autoconf
  • automake
  • guile-hall
  • pkg-config
  • texinfo

With those dependencies installed, the same build commands as above will work, although the guix command becomes redundant.