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.
45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
## ccat
|
|
|
|
ccat is a file printing tool (like 'cat') which uses Regular Expressions to enable syntax highlighting.
|
|
|
|
---
|
|
|
|
### Features
|
|
- Support for 11 colors: Red, Blue, Green, Magenta, Cyan, Black, White, Yellow, Gray, Orange and Dark Blue.
|
|
- Adding more colors involves adding a line of code, then recompiling.
|
|
- 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.
|
|
|
|
---
|
|
|
|
### TODO:
|
|
- Allow user to define colors at runtime by reading RGB values from a config file.
|
|
- Allow users to provide a config file in the command-line, overriding the extension-based config file.
|
|
- Provide releases.
|