2018-10-19 19:27:49 +02:00
# colorize
With this plugin you can syntax-highlight file contents of over 300 supported languages and other text formats.
2019-04-22 21:06:47 +02:00
Colorize will highlight the content based on the filename extension. If it can't find a syntax-highlighting
method for a given extension, it will try to find one by looking at the file contents. If no highlight method
is found it will just cat the file normally, without syntax highlighting.
2019-12-21 06:45:39 +01:00
## Setup
2019-12-21 08:07:16 +01:00
To use it, add colorize to the plugins array of your `~/.zshrc` file:
2018-10-19 19:27:49 +02:00
```
plugins=(... colorize)
```
2019-11-15 21:34:24 +01:00
## Configuration
2018-10-19 19:27:49 +02:00
2019-12-21 06:45:39 +01:00
### Requirements
2019-12-22 21:21:14 +01:00
This plugin requires that at least one of the following tools is installed:
2019-12-21 08:07:16 +01:00
2019-12-22 21:21:14 +01:00
* [Chroma ](https://github.com/alecthomas/chroma )
* [Pygments ](https://pygments.org/download/ )
2019-12-21 08:07:16 +01:00
2019-11-15 21:34:24 +01:00
### Colorize tool
2019-12-21 06:45:39 +01:00
2019-11-16 13:10:02 +01:00
Colorize supports `pygmentize` and `chroma` as syntax highlighter. By default colorize uses `pygmentize` unless it's not installed and `chroma` is. This can be overridden by the `ZSH_COLORIZE_TOOL` environment variable:
2019-11-15 21:34:24 +01:00
```
ZSH_COLORIZE_TOOL=chroma
```
### Styles
2019-03-06 07:34:31 +01:00
Pygments offers multiple styles. By default, the `default` style is used, but you can choose another theme by setting the `ZSH_COLORIZE_STYLE` environment variable:
2019-11-15 21:34:24 +01:00
```
ZSH_COLORIZE_STYLE="colorful"
```
2019-03-06 07:34:31 +01:00
2020-07-31 15:56:22 +02:00
### Chroma Formatter Settings
Chroma supports terminal output in 8 color, 256 color, and true-color. If you need to change the default terminal output style from the standard 8 color output, set the `ZSH_COLORIZE_CHROMA_FORMATTER` environment variable:
```
ZSH_COLORIZE_CHROMA_FORMATTER=terminal256
```
2018-10-19 19:27:49 +02:00
## Usage
2019-12-21 08:07:16 +01:00
* `ccat <file> [files]` : colorize the contents of the file (or files, if more than one are provided).
2019-12-22 21:21:14 +01:00
If no files are passed it will colorize the standard input.
2019-04-22 21:06:47 +02:00
2019-12-22 21:21:14 +01:00
* `cless [less-options] <file> [files]` : colorize the contents of the file (or files, if more than one are provided) and open less.
If no files are passed it will colorize the standard input.
The LESSOPEN and LESSCLOSE will be overwritten for this to work, but only in a local scope.