0.0.6 • Published 10 months ago

@kitschpatrol/snip v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

@kitschpatrol/snip

NPM Package @kitschpatrol/snip License: MIT

A CLI tool for snippet management.

[!CAUTION] This tool is a work in progress, certain commands are not yet implemented and others might behave unpredictably. I don't recommend using it until a 1.0.0 release.

Overview

Snip helps you create, edit, manage, and synchronize code snippets from the command line. Synchronize to (and possibly eventually from) editors like VSCode.

Snip is a fork of Jared Hanstra's snipster. Snip includes both some additions and some regressions vs. the original.

Getting started

Dependencies

The snip CLI tool requires Node 18+.

Installation

Install globally for access across your system:

npm install --global @kitschpatrol/snip

Usage

TK

CLI

Usage: snip [options] [command]

A CLI tool for snippet management.

Options:
  -v, --version                   output the version number
  -c, --config <path>             path to configuration file (default:
                                  "~/.config/snip/config.json", env:
                                  SNIP_CONFIG_FILE)
  -l, --library <path>            path to library directory where snippets are
                                  stored (default: "~/.snip", env:
                                  SNIP_LIBRARY_DIR)
  -d, --debug                     extra logging for troubleshooting (default:
                                  false, env: SNIP_DEBUG)
  -h, --help                      display help for command

Commands:
  add [filename]                  add a snippet
  cd                              launch a shell in the snippets directory
  list                            list all snippets
  setup                           set up snip
  sync-to-editors [editors...]    sync snippets to editors
  sync-from-editors [editors...]  sync snippets from editors (not yet
                                  implemented)
  help [command]                  display help for command

Examples

TK

Background

Snip is a fork of Jared Hanstra's snipster.

Modifications include:

  • A monosyllabic name 😅.
  • Migration from JavaScript → TypeScript + Zod.
  • Migration from CommonJS → ES Modules.
  • Migration from Yarn → PNPM.
  • Added .ignore file support.
  • Added $EDITOR support for creating new snippets.
  • Added support for ~ in paths.
  • Implemented a new automated language ID aggregation approach based on scraping plugin manifests from the VSCode marketplace.
  • Added support for snippet descriptions — stored in the snippet file name itself.

The future

  • Explore Amazon Q (née Fig) auto-complete generation and integration
  • Additional editor adapters
  • Sync-from-editor migration fixes
  • Cosmiconfig

Maintainers

@kitschpatrol

Acknowledgments

Jared Hanstra is the author of the original snipster project on which Snip is based.

Contributing

Issues and pull requests are welcome.

License

MIT © Eric Mika