Skip to content

Repository files navigation

cat alternative written in Go.

GitHub release (latest by date)GitHub all releasesGitHub Workflow StatusLICENSE

Contents

Installation

Homebrew Tap (Recommended)

$ brew install koki-develop/tap/gat

Homebrew

$ brew install gat

go install

$ go install github.com/koki-develop/gat@latest

Releases

Download the binary from the releases page.

Usage

$ gat --helpcat alternative written in Go.Usage: gat [file]... [flags]Flags: -b, --force-binary force binary output -c, --force-color force colored output -f, --format string output format (default "terminal256") -h, --help help for gat -l, --lang string language for syntax highlighting --list-formats print a list of supported output formats --list-langs print a list of supported languages for syntax highlighting --list-themes print a list of supported themes with preview --mask-secrets mask sensitive information (API keys, tokens) --no-resize do not resize images -p, --pretty whether to format a content pretty -M, --render-markdown render markdown -A, --show-all equivalent to -vET -E, --show-ends display $ at end of each line -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB -T, --show-tabs display TAB characters as ^I -t, --theme string highlight theme (default "monokai") --version version for gat

-l, --lang

Explicitly set the language for syntax highlighting.
See languages.md for valid languages.

-f, --format

Set the output format ( default: terminal256 ).
Alternatively, it can be set using the GAT_FORMAT environment variable. See formats.md for valid formats.

-t, --theme

Set the highlight theme ( default: monokai ).
Alternatively, it can be set using the GAT_THEME environment variable. See themes.md for valid themes.

-p, --pretty

Format a content pretty. For unsupported languages, this flag is ignored.

--mask-secrets

Mask sensitive information such as API keys and tokens. Matched patterns are replaced with * characters of the same length.

$ echo'AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE'| gat --mask-secretsAWS_ACCESS_KEY_ID=********************

Supported patterns:

  • AWS Access Key ID
  • AWS Secret Access Key
  • GitHub Tokens
  • GitLab Personal Access Tokens
  • Slack Tokens
  • Anthropic API Keys
  • OpenAI API Keys
  • Supabase Secret Keys
  • npm Access Tokens
  • PyPI API Tokens
  • RubyGems API Keys
  • Google / Firebase API Keys
  • Stripe Secret / Restricted API Keys
  • SendGrid API Keys
  • JWT Tokens
  • Private Key Headers

-v, --show-nonprinting

Display non-printing characters using ^ and M- notation, except for LFD (line feed) and TAB. This is equivalent to cat -v.

$ printf'hello\x01world\n'| gat -vhello^Aworld

-E, --show-ends

Display $ at the end of each line. This is equivalent to cat -E.

$ echo'hello'| gat -Ehello$

-T, --show-tabs

Display TAB characters as ^I. This is equivalent to cat -T.

$ printf'hello\tworld\n'| gat -Thello^Iworld

-A, --show-all

Equivalent to -vET. Display non-printing characters, line endings, and tabs. This is equivalent to cat -A.

-M, --render-markdown

Render markdown documents.

-c, --force-color

gat disables colored output when piped to another program.
Settings the --force-color forces colored output to be enabled.
This is useful, for example, when used in combination with the less -R command.

It is also useful to declare the following function to allow gat to be used with a pager.

functiongess() {
gat --force-color "$@"| less -R
}

Print Image

If your terminal supports Sixel, you can print images.

Supported image formats include:

  • JPEG
  • PNG
  • GIF (animation not supported)

☕ Buy me a coffee

If you like this project, please consider buying me a coffee.

Buy Me A Coffee

LICENSE

MIT

About

🐱 cat alternative written in Go.

Topics

Resources

Stars

235 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages