0.5.1 • Published 8 years ago
seline v0.5.1
seline
Tool for interactively selecting input lines
![]()
se(lect) line(s)
seline is a command line tool for interactively selecting one (or more) lines from stdin and passing them to stdout. It is intended to be composed with other tools.
Installation
Via npm
npm install -g selineVia yarn
yarn global add selineCLI Examples
Here are some example applications that I have been using
Select and delete multiple git branches
$ git branch | seline -m | xargs git branch -DChecking out a recent git branch.
$ git branch --sort=-committerdate | grep -v '*' | seline | xargs git checkoutSelect a branch, then select commits to cherry-pick
git branch | seline | xargs git log --oneline | seline -m | awk '{print $1}' | tail -r | xargs git cherry-pickProgrammatic Examples
seline can also be required and used programmatically. Results are returned as a promise.
seline(choices, options)
choicesrequired; an array of strings that are presented for selectionoptionsoptional; a dict of configuration options
| option | type | default | description |
|---|---|---|---|
multiline | boolean | false | enable multiple line selection |
outputIndex | boolean | false | output line index instead of line |
hideNumbers | boolean | false | hide selection number prefix |
preserveOrder | boolean | false | output lines in order of selection |
compact | boolean | false | separate options by tabs instead of newlines |
skipBlanks | boolean | false | selection cursor skips empty lines |
skipChar | char | null | selection cursor skips line starting with char |
noColor | boolean | false | use extra characters to show state instead of color |
lockLines | boolean | false | prevent reordering lines with u and d |
const seline = require('seline');
async function main() {
const results = await seline(['a', 'b', 'c'], { multiline: true });
}