seline

0.5.1 • Public • Published

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
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 });
}

/seline/

    Package Sidebar

    Install

    npm i seline

    Weekly Downloads

    3

    Version

    0.5.1

    License

    ISC

    Unpacked Size

    17.8 kB

    Total Files

    3

    Last publish

    Collaborators

    • madlee