id = "gist" name = "gist" homepage = "https://github.com/defunkt/gist" description = "Command-line utility for uploading GitHub Gists." executables = ["gist"] [dotfiles] # The official README says OAuth access tokens are stored in ~/.gist; GitHub # Enterprise tokens use ~/.gist..[.]. # https://github.com/defunkt/gist#login 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"]