Skip to content

koki-develop/gat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

543 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

cat alternative written in Go.

GitHub release (latest by date) GitHub all releases GitHub Workflow Status Go Report Card LICENSE

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 --help
cat 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-secrets
AWS_ACCESS_KEY_ID=********************

Supported patterns:

  • AWS Access Key ID
  • AWS Secret Access Key
  • GitHub Tokens (ghp_, gho_, ghs_, ghr_)
  • GitLab Personal Access Tokens
  • Slack Tokens
  • Anthropic API Keys
  • OpenAI API Keys
  • Supabase Secret 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 -v
hello^Aworld

-E, --show-ends

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

$ echo 'hello' | gat -E
hello$

-T, --show-tabs

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

$ printf 'hello\tworld\n' | gat -T
hello^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.

function gess() {
  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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors