{"id":22307225,"url":"https://github.com/atelierarith/terminalgat.jl","last_synced_at":"2025-10-14T01:31:00.452Z","repository":{"id":266292642,"uuid":"896774091","full_name":"AtelierArith/TerminalGat.jl","owner":"AtelierArith","description":"Wrapper of Go implementation `gat` (🐱 cat alternative written in Go.) for Julian","archived":false,"fork":false,"pushed_at":"2024-12-23T00:00:38.000Z","size":236,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T22:51:15.864Z","etag":null,"topics":["golang","julia","julialang"],"latest_commit_sha":null,"homepage":"https://atelierarith.github.io/TerminalGat.jl/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AtelierArith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"terasakisatoshi"}},"created_at":"2024-12-01T09:16:34.000Z","updated_at":"2025-01-14T18:03:54.000Z","dependencies_parsed_at":"2024-12-23T00:31:01.782Z","dependency_job_id":null,"html_url":"https://github.com/AtelierArith/TerminalGat.jl","commit_stats":null,"previous_names":["atelierarith/terminalgat.jl"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AtelierArith%2FTerminalGat.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AtelierArith%2FTerminalGat.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AtelierArith%2FTerminalGat.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AtelierArith%2FTerminalGat.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AtelierArith","download_url":"https://codeload.github.com/AtelierArith/TerminalGat.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236430909,"owners_count":19147661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","julia","julialang"],"created_at":"2024-12-03T20:09:06.793Z","updated_at":"2025-10-14T01:30:55.142Z","avatar_url":"https://github.com/AtelierArith.png","language":"Julia","funding_links":["https://github.com/sponsors/terasakisatoshi"],"categories":[],"sub_categories":[],"readme":"# [TerminalGat](https://github.com/AtelierArith/TerminalGat.jl) [![Build Status](https://github.com/AtelierArith/TerminalGat.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/AtelierArith/TerminalGat.jl/actions/workflows/CI.yml?query=branch%3Amain) [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://AtelierArith.github.io/TerminalGat.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://AtelierArith.github.io/TerminalGat.jl/dev/) [![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)\n\n## TL;DR\n\n[![Typing SVG](https://readme-typing-svg.demolab.com?font=Fira+Code\u0026size=16\u0026duration=1500\u0026pause=200\u0026color=10F748\u0026multiline=true\u0026width=700\u0026height=200\u0026lines=julia%3E+%23+How+to+use;julia%3E+using+TerminalGat;julia%3E+gat(%22main.jl%22)+;julia%3E+gess(%22main.jl%22)+%23+gat+%2B+less;julia%3E+%40less+%40show+x+%23+InteractiveUtils.jl;julia%3E+%40gess+%40show+x+%23+gat+%2B+%40less;julia%3E+%40code+%40show+x;julia%3E+%40gode+%40show+x+%23+gat+%2B+%40code)](https://git.io/typing-svg)\n\n## Description\n\nThis package [TerminalGat.jl](https://github.com/AtelierArith/TerminalGat.jl) provides Julia interface for [`gat`](https://github.com/koki-develop/gat). It allows to display files and images in the Julia's REPL.\n\n## Setup\n\n- Install Julia. Once you've done, you can use `julia` command in your terminal.\n\n```sh\n$ julia\n               _\n   _       _ _(_)_     |  Documentation: https://docs.julialang.org\n  (_)     | (_) (_)    |\n   _ _   _| |_  __ _   |  Type \"?\" for help, \"]?\" for Pkg help.\n  | | | | | | |/ _` |  |\n  | | |_| | | | (_| |  |  Version 1.10.3 (2024-04-30)\n _/ |\\__'_|_|_|\\__'_|  |  Official https://julialang.org/ release\n|__/                   |\n\njulia\u003e using Pkg; Pkg.add(\"TerminalGat\")\n```\n\n## How to use\n\nhttps://github.com/user-attachments/assets/6c251619-7669-4170-afe0-dbb699f39390\n\nOur Julia package `TerminalGat.jl` exports\n\n- `gat`\n- `gess`\n- `@gess`\n- `@code`\n- `@gode`\n- `@search`\n- `@gearch`\n\n### `gat`\n\n```julia\njulia\u003e using TerminalGat\njulia\u003e gat(\"Project.toml\")\n```\n\nInternally, our package uses [JuliaDocs/IOCapture.jl](https://github.com/JuliaDocs/IOCapture.jl) to capture the standard output generated by the go binary `gat`.\n\nIf your terminal supports Sixel, you can print images.\n\n```julia\njulia\u003e using TerminalGat\njulia\u003e using Plots; plot(sin); savefig(\"sin.png\")\njulia\u003e gat(\"sin.png\")\n```\n\n### `gess`\n\n`gess` works something like `gat` + `less`:\n\n```julia\njulia\u003e using TerminalGat\njulia\u003e gess(\"Project.toml\")\n```\n\nInternally, our package uses [`ronisbr/TerminalPager.jl`](https://github.com/ronisbr/TerminalPager.jl) to scroll through content that does not fit in the screen.\n\n### `@gess`, `@code`, `@gode`\n\nThe `@gess` macro works like `InteractiveUtils.@less`, but highlights Julia code.\n\n\u003cimg width=\"864\" alt=\"image\" src=\"https://github.com/user-attachments/assets/956925ae-ace7-4e53-8b93-3ca3b08d22f1\"\u003e\n\nThe `@code` extracts a method definition from the source code that defines the method.\n\nThe `@gode` macro works like `@code`, but highlights Julia code.\n\n\u003cimg width=\"552\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a261fd09-30a0-4f14-84e3-ab9db1eae7fb\"\u003e\n\n### `@search`, `@gearch`\n\nThe `@search` works like [tkf/InteractiveCodeSearch.jl](https://github.com/tkf/InteractiveCodeSearch.jl) allowing us to choose the code we want to read.\n\nThe `@gearch` macro works `@seach` with `gat` feature; allowing us to read syntax highlighted code by gat.\n\nhttps://github.com/user-attachments/assets/fef6b270-1ec3-4a04-a3a8-9213cb4883ee\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatelierarith%2Fterminalgat.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatelierarith%2Fterminalgat.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatelierarith%2Fterminalgat.jl/lists"}