color cat - cat(1) with regex-based syntax highlighting.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Aadhavan Srinivasan e7e7a247d8 Updated README 4 months ago
config Defined color mappings for Go 4 months ago
stack First commit 5 months ago
.gitignore Added gitignore file 4 months ago
Makefile First commit 5 months ago
README.md Updated README 4 months ago
color.go Added function to load colors from a config file 4 months ago
colorunit.go Replaced 'panic' with an error return, and a call to 'printAndExit' 4 months ago
config.go Wrote function to copy embedded config files to a config directory 4 months ago
errors.go Renamed 'printAndExit' to 'printErrAndExit' 4 months ago
go.mod First commit 5 months ago
go.sum First commit 5 months ago
main.go If the color config file exists, load colors from it 4 months ago
regcolor.go First commit 5 months ago
todo.txt Updated TODO 4 months ago
vision.txt First commit 5 months ago

README.md

ccat

ccat is a file printing tool (like 'cat') which uses Regular Expressions to enable syntax highlighting.


Features

  • 11 colors out-of-the-box: Red, Blue, Green, Magenta, Cyan, Black, White, Yellow, Gray, Orange and Dark Blue.
  • Support for defining custom colors via the ccat.colors file.
  • Regex-color mappings are stored in configuration files.
  • Uses the file extension to determine which configuration file to use.
  • Highly extensible - to add a config file for an specific file type, name the file <extension>.conf.
  • Support for printing line numbers with the -n flag.
  • Statically linked Go binary - no runtime dependencies, config files are distributed along with the binary.
  • Cross-platform

Installing

If you have the go command installed, run make after cloning the repository.


Getting Started

The config files are embedded within the binary. They will automatically be installed to the correct location (%APPDATA/ccat on Windows, ~/.config/ccat on UNIX) when the program is first run.

As written above, if provided a file with extension .example, the program will look for the config file named example.conf. If such a file doesn't exist, the file is printed out without any highlighting.


Config Files

The config files are written in YAML. Each line has the following syntax:

"<regex>": COLOR

Note that the regex must be enclosed in double quotes, and the color must be capitalized.


Custom Colors

To define a color of your own, create a file named ccat.colors in the config directory (mentioned above). The syntax of this file is the following:

COLOR: <red> <green> <blue>

Note that the color name must be capitalized (and shouldn't contain spaces). The RGB values must each be from 0 to 255.


TODO:

  • Allow users to provide a config file in the command-line, overriding the extension-based config file.
  • Provide releases.