Code Monkey home page Code Monkey logo

snpt's Introduction

snpt

Version Build Status Coveralls Go Report Card Downloads License

A gist powered CLI snippet retriever.

Save a snippet as a gist in GitHub, retrieve the snippet on the command line.

Index

Prerequisites

  • GitHub account (duh!)
  • GitHub access token with the gist scope enabled

Installation

Download the binary compatible with your system from here.

If you are using macOS, you can also use Homebrew to install snpt:

brew tap mike182uk/tap
brew install mike182uk/tap/snpt

Usage

Syncing your snippets

Before you can use snpt you will need to sync your gists:

snpt sync

If this is the first time you have synced your gists you will be prompted to input a GitHub access token (you will need create this in your GitHub account). This token should be be created with the gist scope enabled.

The sync command will download all of your public and private gists and store them locally for fast retrieval by snpt.

You can prevent specific gists from being synced by placing [snpt:ignore] anywhere in the description of the gist.

Listing available snippets

snpt ls

This can be useful for searching for a specific snippet:

snpt ls | grep <query>

Copying a snippet to the clipboard

snpt cp [snippetID|snippetName]

If a snippetID or snippetName is not supplied a prompt will be displayed allowing you to choose a snippet to copy to the clipboard.

If using snippetName to search for a snippet, and there are multiple snippets with the same name, the first snippet matching the name will be used. If you have multiple snippets with the same name it is best to search using snippetId.

Creating a file from a snippet

snpt write [snippetID|snippetName]

If a snippetID or snippetName is not supplied a prompt will be displayed allowing you to choose a snippet to create a file from. The created file will be named after the name of the gist file.

If using snippetName to search for a snippet, and there are multiple snippets with the same name, the first snippet matching the name will be used. If you have multiple snippets with the same name it is best to search using snippetId.

Printing a snippet to the screen

snpt print [snippetID|snippetName]

If a snippetID or snippetName is not supplied a prompt will be displayed allowing you to choose a snippet to print to the screen.

If using snippetName to search for a snippet, and there are multiple snippets with the same name, the first snippet matching the name will be used. If you have multiple snippets with the same name it is best to search using snippetId.

Setting a new GitHub access token

snpt token

This command will prompt you to input a new GitHub access token.

Viewing help for a command

You can view help for a command by passing the -h flag when running a command:

snpt sync -h

Improve your workflow with fuzzy search

snpt ❤️ fzf

snpt ls | fzf | snpt cp

Speed this up by creating aliases for common usages:

alias cs="snpt ls | fzf | snpt cp"    # cs for copy snippet
alias ws="snpt ls | fzf | snpt write" # ws for write snippet

snpt cp and snpt write both accept stdin as an input. If stdin is detected snpt will try and extract a snippet ID from it. This is how the above fzf usage works.

Alfred Workflow

alfred-snpt provides quick access to your snippets from Alfred.

Uninstalling snpt

To uninstall snpt from your system you will need to manually delete the snpt binary.

snpt's configuration and gist cache is located at ~/.snpt. You can safely remove this directory and its contents once you have removed the snpt binary.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.