Skip to content

checkline is a Unix command line interface (CLI) terminal user interface (TUI) that prompts you to check each line of stdin, to pick each line to output to stdout

Notifications You must be signed in to change notification settings

SixArm/checkline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

checkline: checkbox line picker from stdin to stdout

Example:

printf "%s\n%s\n%s\n" alpha bravo charlie > example.txt
cat example.txt | checkline

You should see each line with a checkbox and text:

[ ] alpha
[ ] bravo
[ ] charlie

Move up and down in the list by typing arrow keys.

Check or uncheck any checkbox by typing space or return, such as:

[x] alpha
[ ] bravo
[x] charlie

Check each line that you want, then type ESC to finish.

The command outputs each line that you checked:

alpha
charlie

Install

Install checkline as a typical Rust crate:

cargo install checkline

If people want other ways, such as with package managers, we welcome help to create these ways.

Purpose

The purpose of this command is a simple picker, that is easy to use, and that work wells in on the command line such as within a pipe.

The purpose isn't intended to handle very long lines, or very long inputs.

Projects with similarities

markline that's the same kind of tool plus markers: https://github.com/sixarm/markline

vipe that can pipe in and out of $EDITOR: https://github.com/juliangruber/vipe

peco simplistic interactive filtering tool: https://github.com/peco/peco

percol adds interactive selection to the traditional pipe concept. https://github.com/mooz/percol

canything interactive grep tools: https://github.com/keiji0/canything

zaw zsh-friendly interactive grep tool: https://github.com/zsh-users/zaw

fzf interactive grep tool written in Go language. https://github.com/junegunn/fzf

Settings

On some systems, you may need to set your localization environment variables.

Example:

export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Feedback

We welcome constructive criticism and ideas for improvements.

Tracking

About

checkline is a Unix command line interface (CLI) terminal user interface (TUI) that prompts you to check each line of stdin, to pick each line to output to stdout

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages