ccat

Colorizing `cat`

  • Owner: owenthereal/ccat
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

ccat

OpenCollective
OpenCollective

ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.

Supported Languages

  • JavaScript
  • Java
  • Ruby
  • Python
  • Go
  • C
  • JSON

Installation

OSX

$ brew install ccat

Arch Linux

$ pacaur -S ccat
$ pacaur -S ccat-git

The ccat package will reflect the current release snapshot, while the ccat-git will be based on the current source available in the master branch of the git repo. You can use any AUR helper in place of pacaur AUR Helpers

Standalone

ccat can be easily installed as an executable.
Download the latest compiled binaries and put it in your executable path.

From source

Prerequisites:

$ go get -u github.com/jingweno/ccat

Completion (ZSH Only)

Installation

Move the _ccat file in ./completions/zsh to your site-functions directory usually in /usr/local/share/zsh/site-functions or in /usr/share/zsh/site-functions. If completions don't work on the next ZSH startup, you can delete the file .zcompdump (which caches autocomplete commands) and it is usually in the home directory.

Uninstallation

Go back to the directory you copied _ccat to and delete the file, then simply delete .zcompdump in order to stop errors when trying to use ccat autocomplete afterwards.

Usage

$ ccat FILE1 FILE2 ...
$ ccat FILE1 FILE2 ... --html # output in HTML
$ ccat --bg=dark FILE1 FILE 2 ... # dark background
$ ccat -G String="_darkblue_" -G Plaintext="darkred" FILE # set color codes
$ ccat --palette # show palette
$ ccat # read from standard input
$ curl https://raw.githubusercontent.com/jingweno/ccat/master/main.go, ccat

It's recommended to alias ccat to cat:

alias cat=ccat

The overhead of ccat comparing to cat is mimimum:

$ wc -l main.go
123 main.go
$ time cat main.go > /dev/null
cat main.go > /dev/null  0.00s user 0.00s system 61% cpu 0.005 total
$ time ccat main.go > /dev/null
ccat main.go > /dev/null  0.00s user 0.00s system 78% cpu 0.007 total

You can always invoke cat after aliasing ccat by typing \cat.

Demo

demo

Roadmap

  • nicer default color scheme
  • ?

Alternatives

ccat is designed to be distributed in one binary, run at native speed
and follow the POSIX standards. There're alternatives out there.
Use them at your own risk :):

License

MIT

Credits

Thanks to Sourcegraph who built this awesome syntax-highlighting package.

Support

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]






























Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]






























Main metrics

Overview
Name With Ownerowenthereal/ccat
Primary LanguageGo
Program languageGo (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2015-05-06 05:00:17
Pushed At2022-09-05 17:44:40
Last Commit At2020-10-06 21:07:21
Release Count6
Last Release Namev1.1.0 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count3.2k
Watchers Count40
Fork Count120
Commits Count132
Has Issues Enabled
Issues Count54
Issue Open Count34
Pull Requests Count26
Pull Requests Open Count5
Pull Requests Close Count5
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private