id = "gist"
name = "gist"
homepage = "https://github.com/defunkt/gist"
description = "Command-line utility for uploading GitHub Gists."
executables = ["gist"]
[dotfiles]
paths = []
secret = ["~/.gist", "~/.gist.*"]
[commands]
format = 1
label = "Upload a gist"
description = "Upload files (or standard input) to gist.github.com. Login, listing, reading, updating and deleting gists are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true }
[[commands.source]]
id = "help"
kind = "help"
url = "https://github.com/defunkt/gist/blob/master/bin/gist"
revision = "master 2026-10-27"
evidence = """
opts.on("-f", "--filename [NAME.EXTENSION]", "Sets the filename and syntax type.")
opts.on("-t", "--type [EXTENSION]", "Sets the file extension and syntax type.")
opts.on("-p", "--private", "Makes your gist private.")
opts.on("-d", "--description DESCRIPTION", "Adds a description to your gist.")
opts.on("-c", "--copy", "Copy the resulting URL to the clipboard")
opts.on("-e", "--embed", "Copy the embed code for the gist to the clipboard")
opts.on("-o", "--open", "Open the resulting URL in a browser")
opts.on("--skip-empty", "Skip gisting empty files")
opts.on("-P", "--paste", "Paste from the clipboard to gist")
opts.on("-R", "--raw", "Display raw URL of the new gist")
Upload multiple files: gist a b c
"""
[[commands.field]]
id = "files"
label = "Files"
description = "Leave empty to read standard input."
type = "path"
position = 0
multiple = true
path = { kind = "file", role = "input", must_exist = true }
sources = ["help"]
[[commands.field]]
id = "description"
label = "Description"
type = "string"
option = ["--description", "-d"]
sources = ["help"]
[[commands.field]]
id = "private"
label = "Private gist"
type = "boolean"
option = ["--private", "-p"]
sources = ["help"]
[[commands.field]]
id = "filename"
label = "Filename for stdin"
type = "string"
option = ["--filename", "-f"]
sources = ["help"]
[[commands.field]]
id = "paste"
label = "Paste from clipboard"
type = "boolean"
option = ["--paste", "-P"]
sources = ["help"]
[[commands.field]]
id = "copy"
label = "Copy URL to clipboard"
type = "boolean"
option = ["--copy", "-c"]
sources = ["help"]
[[commands.field]]
id = "open"
label = "Open in browser"
type = "boolean"
option = ["--open", "-o"]
sources = ["help"]
[[commands.field]]
id = "raw"
label = "Print raw URL"
type = "boolean"
option = ["--raw", "-R"]
sources = ["help"]
[[commands.field]]
id = "skip_empty"
label = "Skip empty files"
type = "boolean"
option = ["--skip-empty"]
sources = ["help"]
[[commands.task]]
id = "upload"
label = "Upload files"
fields = ["files", "description", "private", "copy"]
required = ["files"]
[[commands.task]]
id = "clipboard"
label = "Gist the clipboard"
fields = ["paste", "description", "private", "filename"]
required = ["paste"]
set = { paste = [true] }
lock = ["paste"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["files", "description", "private", "paste", "filename"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["copy", "open", "raw", "skip_empty"]