<commit_before>.Dd August 17, 2014
.Dt PICK 1
.Os
.Sh NAME
.Nm pick
.Nd fuzzy select anything
.Sh SYNOPSIS
.Nm
.Op Fl hvS
.Op Fl d Op Fl o
.Op Fl x | Fl X
.Op Fl q Ar query
.Sh DESCRIPTION
The
.Nm
utility allows users to select from a set of choices using an
.Xr curses 3
interface with fuzzy search functionality.
.Pp
The choices are read from
.Pa stdin ,
and the selected choice written to
.Pa stdout .
.Pp
The options are as follows:
.Bl -tag -width "-q query"
.It Fl d
Read and display descriptions.
Input lines will be split into two parts by the last occurrence of
.Ev IFS .
Both parts will be displayed but only the first part will be used when
searching.
.It Fl h
Output a help message and exit.
.It Fl o
Output description of selected choice on exit.
.It Fl q Ar query
Supply an initial search query.
.It Fl S
Disable sorting.
Only filter the choices instead of additionally sorting by score.
.It Fl v
Output the version and exit.
.It Fl x
Enable the use of the alternate screen terminal feature.
.It Fl X
Disable the use of the alternate screen terminal feature.
.El
.Sh COMMANDS
.Bl -tag -width XXXX
.It Ic Ctrl-C
Exit with a erroneous status without outputting the selected choice.
.It Ic Up/Down | Ctrl-P/Ctrl-N
Select between choices matching the current search query.
.It Ic Page-Down/Page-Up
Move the selection to the choice located one page down/up from the currently
selected choice.
.It Ic Enter
Output the currently selected choice and exit.
.It Ic Alt-Enter
Output the current input query and exit.
.It Ic Left/Right | Ctrl-B/Ctrl-F
Move the cursor left and right in the search query input field.
.It Ic Ctrl-A
Move the cursor to the beginning of the line in the search query input field.
.It Ic Ctrl-E
Move the cursor to the end of the line in the search query input field.
.It Ic Backspace
Delete one character to the left of the cursor in the search query input field.
.It Ic Delete | Ctrl-D
Delete the character under the cursor in the search query input field.
.It Ic Ctrl-W
Delete to the beginning of the closest word to the left in the search query
input field.
.It Ic Ctrl-U
Delete to the beginning of the line in the search query input field.
.It Ic Ctrl-K
Delete to the end of the line in the search query input field.
.It Ic Printable characters
Added to the search query and will refine the current search.
.El
.Sh ENVIRONMENT
The following environment variables will affect the execution of
.Nm pick :
.Bl -tag -width IFS
.It Ev IFS
Determines the separator used between choices and descriptions.
.El
.Sh EXAMPLES
Select a file in the current directory to open using
.Xr xdg-open 1 :
.Dl $ find -type f | pick | xargs xdg-open
.Pp
Select a man page to display with
.Xr man 1 :
.Dl $ apropos -l . | fltr | pick -do | tac | xargs man
.Sh DIAGNOSTICS
.Ex -std
.Sh AUTHORS
.An <NAME> Aq Mt <EMAIL>
.An <NAME> Aq Mt <EMAIL>
.An thoughtbot Aq Mt <EMAIL>
<commit_msg>Move thoughtbot to HISTORY<commit_after>.Dd August 17, 2014
.Dt PICK 1
.Os
.Sh NAME
.Nm pick
.Nd fuzzy select anything
.Sh SYNOPSIS
.Nm
.Op Fl hvS
.Op Fl d Op Fl o
.Op Fl x | Fl X
.Op Fl q Ar query
.Sh DESCRIPTION
The
.Nm
utility allows users to select from a set of choices using an
.Xr curses 3
interface with fuzzy search functionality.
.Pp
The choices are read from
.Pa stdin ,
and the selected choice written to
.Pa stdout .
.Pp
The options are as follows:
.Bl -tag -width "-q query"
.It Fl d
Read and display descriptions.
Input lines will be split into two parts by the last occurrence of
.Ev IFS .
Both parts will be displayed but only the first part will be used when
searching.
.It Fl h
Output a help message and exit.
.It Fl o
Output description of selected choice on exit.
.It Fl q Ar query
Supply an initial search query.
.It Fl S
Disable sorting.
Only filter the choices instead of additionally sorting by score.
.It Fl v
Output the version and exit.
.It Fl x
Enable the use of the alternate screen terminal feature.
.It Fl X
Disable the use of the alternate screen terminal feature.
.El
.Sh COMMANDS
.Bl -tag -width XXXX
.It Ic Ctrl-C
Exit with a erroneous status without outputting the selected choice.
.It Ic Up/Down | Ctrl-P/Ctrl-N
Select between choices matching the current search query.
.It Ic Page-Down/Page-Up
Move the selection to the choice located one page down/up from the currently
selected choice.
.It Ic Enter
Output the currently selected choice and exit.
.It Ic Alt-Enter
Output the current input query and exit.
.It Ic Left/Right | Ctrl-B/Ctrl-F
Move the cursor left and right in the search query input field.
.It Ic Ctrl-A
Move the cursor to the beginning of the line in the search query input field.
.It Ic Ctrl-E
Move the cursor to the end of the line in the search query input field.
.It Ic Backspace
Delete one character to the left of the cursor in the search query input field.
.It Ic Delete | Ctrl-D
Delete the character under the cursor in the search query input field.
.It Ic Ctrl-W
Delete to the beginning of the closest word to the left in the search query
input field.
.It Ic Ctrl-U
Delete to the beginning of the line in the search query input field.
.It Ic Ctrl-K
Delete to the end of the line in the search query input field.
.It Ic Printable characters
Added to the search query and will refine the current search.
.El
.Sh ENVIRONMENT
The following environment variables will affect the execution of
.Nm pick :
.Bl -tag -width IFS
.It Ev IFS
Determines the separator used between choices and descriptions.
.El
.Sh EXAMPLES
Select a file in the current directory to open using
.Xr xdg-open 1 :
.Dl $ find -type f | pick | xargs xdg-open
.Pp
Select a man page to display with
.Xr man 1 :
.Dl $ apropos -l . | fltr | pick -do | tac | xargs man
.Sh DIAGNOSTICS
.Ex -std
.Sh HISTORY
The first version of
.Nm
was released on August 18, 2014.
Development was sponsored by
.Lk https://thoughtbot.com thoughtbot
from the start of the project until September 2016.
.Sh AUTHORS
.An <NAME> Aq Mt <EMAIL>
.An <NAME> Aq Mt <EMAIL>

{'fraction_non_alphanumeric': 0.05452105351451099, 'fraction_numerical': 0.0050327126321087065, 'mean_word_length': 3.3806024981631153, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6547814', 'n_tokens_mistral': 1906, 'n_tokens_neox': 1802, 'n_words': 1063}