Go to file
Stephen Toth 0ccd2ace10 Added Documentation 2023-09-30 18:14:59 -04:00
.vscode Regex works now 2023-09-30 12:26:00 -04:00
bin fixup for build options 2023-09-24 15:34:12 -04:00
build Regex works now 2023-09-30 12:26:00 -04:00
docs add image 2023-09-25 08:05:29 -04:00
include Added Tests!!! 2023-09-30 18:05:49 -04:00
make Regex works now 2023-09-30 12:26:00 -04:00
src Added Documentation 2023-09-30 18:14:59 -04:00
testing Regex works now 2023-09-30 12:26:00 -04:00
tests Added Tests!!! 2023-09-30 18:05:49 -04:00
.gitignore Added Tests!!! 2023-09-30 18:05:49 -04:00
Makefile Added Tests!!! 2023-09-30 18:05:49 -04:00
README.md Added Documentation 2023-09-30 18:14:59 -04:00

README.md

colorterm

Project description

Screenshot

Requirements

Requirements

RHEL-like:

sudo dnf install readline-devel

Debian[12]:

sudo apt update; sudo apt install build-essential libreadline-dev make

Building from source

One-liner to shell for Debain-based distros:

sudo apt update; sudo apt install build-essential libreadline-dev make git && git clone https://git.stephenltoth.com/icaema/colorwrap.git && cd colorwrap && make && make run;

Run:

bin/cterm /bin/sh
# or
make run

# they do the same thing

Usage

make run

# or

make traces

As of right now there are only 7 hardcoded replacements (for color) in the src/main.c file. These are actually regex patterns.

// all are temporary
"^d"        //-> Magenta
"r--"       //-> Green
"rw-"       //-> Red
" .$"       //-> Blue
" ..$"      //-> Blue
"alpine"    //-> Magenta
"z9Da0Da1"  //-> Red

In the testing directory, there are some test files for doing ls -al and a long file for being long (with some keywords being sprinkled in).

Considerations and Caveats

Since this program buffers input by line, It will not handle TUI-based commands Examples include less and vim

If you need to use these kinds of applications, do not use this program to wrap your shell.

Installation

Normal build: make

Debug build: make debug

Run unit tests: make test

Example

Documentation

Location of Documentation

Directory structure

|-- Makefile           <- Project makefile
|-- README             <- Project README
|-- bin                <- Compiled binaries
|   |-- cterm          <- Project main executable
|   `-- testsuite      <- Unit testing executable
|-- build              <- Static objects and intermediate files
|-- docs               <- Documentation
|-- include            <- Header files
|-- lib                <- Dynamic objects
|-- src                <- Source files
|-- tests              <- Unit tests
`-- testing            <- Various dynamic testing files