From 17b37fedcb70ab42dfb2e6b866fe6cf04adda8b9 Mon Sep 17 00:00:00 2001 From: sharkdp Date: Mon, 21 May 2018 00:28:30 +0200 Subject: [PATCH] Add project goals and list of alternatives --- README.md | 12 ++++++++++++ doc/alternatives.md | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 doc/alternatives.md diff --git a/README.md b/README.md index 75de7032..8ada61c7 100644 --- a/README.md +++ b/README.md @@ -157,3 +157,15 @@ If you ever want to go back to the default settings, call: ``` bash bat cache --clear ``` + +## Project goals and alternatives + +`bat` tries to achieve the following goals: + +- Provide beautiful, advanced syntax highlighting +- Integrate with Git to show file modifications +- Be a drop-in replacement for (POSIX) `cat` +- Offer a user-friendly command-line interface + +There are a lot of alternatives, if you are looking for similar programs. See +[this document](doc/alternatives.md) for a comparison. diff --git a/doc/alternatives.md b/doc/alternatives.md new file mode 100644 index 00000000..925fc633 --- /dev/null +++ b/doc/alternatives.md @@ -0,0 +1,18 @@ +# Alternatives + +The following table tries to give an overview *from `bat`s perspective*, i.e. we only compare +categories which are relevant for `bat`. Some of these projects have completely different goals and +if you are not looking for a program like `bat`, this comparison might not be for you. + +| | bat | [pygments](http://pygments.org/) | [highlight](http://www.andre-simon.de/doku/highlight/highlight.php) | [ccat](https://github.com/jingweno/ccat) | [source-highlight](https://www.gnu.org/software/src-highlite/) | [hicat](https://github.com/rstacruz/hicat) | +|----------------------------------------------|---------------------------------------------------------------------|----------------------------------|---------------------------------------------------------------------|------------------------------------------|----------------------------------------------------------------|-----------------------------------------------------| +| Drop-in `cat` replacement | (:heavy_check_mark:) [*](https://github.com/sharkdp/bat/issues/134) | :x: | :x: | (:heavy_check_mark:) | :x: | :x: [*](https://github.com/rstacruz/hicat/issues/6) | +| Git integration | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: | +| Automatic paging | :heavy_check_mark: | :x: | :x: | :x: | :x: | :heavy_check_mark: | +| Languages (circa) | 60 | 300 | 200 | 7 | 80 | 130 | +| Extensible (languages, themes) | :heavy_check_mark: | (:heavy_check_mark:) | (:heavy_check_mark:) | :x: | (:heavy_check_mark:) | :x: | +| Advanced highlighting (e.g. nested syntaxes) | :heavy_check_mark: | :heavy_check_mark: | (:heavy_check_mark:) ? | :x: | :heavy_check_mark: | :heavy_check_mark: | +| Execution time [ms] (`jquery-3.3.1.js`) | 624 | 789 | 400 | 80 | 300 | 316 | + +If you think that some entries in this table are outdated or wrong, please open a ticket or pull +request.