0.5.1 • Published 6 years ago

seline v0.5.1

Weekly downloads
3
License
ISC
Repository
github
Last release
6 years ago

seline

Tool for interactively selecting input lines

Gif showing seline in use

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 seline

Via yarn

yarn global add seline

CLI Examples

Here are some example applications that I have been using

Select and delete multiple git branches

$ git branch | seline -m | xargs git branch -D

Checking out a recent git branch.

$ git branch --sort=-committerdate | grep -v '*' | seline | xargs git checkout

Select 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-pick

Programmatic Examples

seline can also be required and used programmatically. Results are returned as a promise.

seline(choices, options)

  • choices required; an array of strings that are presented for selection
  • options optional; a dict of configuration options
optiontypedefaultdescription
multilinebooleanfalseenable multiple line selection
outputIndexbooleanfalseoutput line index instead of line
hideNumbersbooleanfalsehide selection number prefix
preserveOrderbooleanfalseoutput lines in order of selection
compactbooleanfalseseparate options by tabs instead of newlines
skipBlanksbooleanfalseselection cursor skips empty lines
skipCharcharnullselection cursor skips line starting with char
noColorbooleanfalseuse extra characters to show state instead of color
lockLinesbooleanfalseprevent reordering lines with u and d
const seline = require('seline');

async function main() {
  const results = await seline(['a', 'b', 'c'], { multiline: true });
}
0.5.1

6 years ago

0.5.0

6 years ago

0.4.0

6 years ago

0.3.0

7 years ago

0.2.0

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago