Rust Python Shell Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ci/travis
pkg/homebrew
src
tasks
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
HomebrewFormula
LICENSE
README.md
build.rs
requirements-dev.txt

README.md

gisht

Gists in the shell

Build Status License

With gisht, you can run scripts published as GitHub (or other) gists with a single command::

gisht Xion/git-today

Behind the scenes, gisht will fetch the gist, cache it locally, and run its code. Magic!

Usage

gisht [OPTIONS] [SUBCOMMAND]

OPTIONS:
    -c, --cached     Operate only on gists available locally
    -f, --fetch      Always fetch the gist from a remote host
    -v, --verbose    Increase logging verbosity
    -q, --quiet      Decrease logging verbosity
    -H, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    run      Run the specified gist [aliases: exec]
    which    Output the path to gist's binary
    print    Print the source code of gist's binary [aliases: cat]
    open     Open the gist's webpage [aliases: show]
    info     Display summary information about the gist [aliases: stat]
    hosts    List supported gist hosts (services) [aliases: services]
    help     Prints this message or the help of the given subcommand(s)

Hint: `gisht run GIST` can be shortened to just `gisht GIST`.
If you want to pass arguments, put them after `--` (two dashes), like this:

	gisht Octocat/greet -- "Hello world" --cheerful

Installation

Binaries are available for Linux and Mac.

If you use Mac OS X, gisht can be installed with Homebrew:

brew tap Xion/gisht https://github.com/Xion/gisht.git
brew install gisht

Windows binaries coming soon.

Development

gisht is written in Rust. Besides the Rust toolchain, build requirements include:

  • cmake 2.8.11 or higher (for compiling libgit2)
  • OpenSSL 1.1 (for hyper)
    • on Linux, it likely means libssl1.1, libssl-dev, and/or equivalent package(s) must be installed
    • on OSX, besides the relevant package, it may also require adjusting some environment variables
    • (Windows unknown)
  • Some Linux setups may require installing of libssh-dev and pkg-config.

Additionally, the Python-based Invoke task runner is used for automation. It is recommended you install it inside a Python virtualenv. e.g.:

$ virtualenv ~/venv/gisht && source ~/venv/gisht/bin/activate
$ pip install -r -requirements-dev.txt

Then you can use:

$ inv

to build the binary and run tests.