Nine Putrid Mangos

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

    Keywords

    none

    Install

    npm i seline

    DownloadsWeekly Downloads

    7

    Version

    0.5.1

    License

    ISC

    Unpacked Size

    17.8 kB

    Total Files

    3

    Last publish

    Collaborators

    • madlee