Move through the list.
Use the interactive picker
Pick extensions visually, with every option one keystroke away, instead of typing flags.
Prerequisites
reserveinstalled. See Install reserve.- A real terminal. The picker needs a terminal to draw to, at least 40 columns by 10 rows.
Open the picker
Run reserve with just a name, at a terminal, and nothing else:
reserve example┌ Groups - active ─────────────┐┌ Extensions (3 chosen) ───────────────────┐
│ By popularity ││ [x] .com business, tech, shop │
│ > Top 10 3/10 ││ [x] .net tech, business │
│ Top 25 0/22 ││ [x] .xyz tech, creative, crypto │
│ Hand-picked ││ [ ] .top business │
│ Popular 0/22 ││ [ ] .nl Netherlands - business │
└──────────────────────────────┘└──────────────────────────────────────────┘
Up/Down move Tab pane Space toggle / search a all n none o settings Enter run ? helpTo refine a selection you already made instead of starting blank, add
--interactive alongside the extensions you named, and the picker opens with
those already ticked:
reserve example --tld com,net --interactiveMove around and pick extensions
Up / Down, k / jkeyPageUp / PageDownkeyMove 10 rows at a time.
Home / EndkeyJump to either end of the list.
TabkeySwitch between the group pane and the extension pane.
SpacekeyPick or unpick: one extension in the right pane, or an entire group in the left pane.
akeyPick everything currently shown.
nkeyUnpick everything. The first press asks Press n again to unpick everything, or any other key to keep it., so a stray keystroke can't wipe a selection.
Search
/ opens a search box and filters as you type, by extension, country, or
industry, within the highlighted group:
┌ Groups ──────────────────────┐┌ Extensions (0 chosen) ────────────────────┐
│ By popularity ││ [ ] .band creative, media │
│ Top 10 0/10 ││ [ ] .bd Bangladesh - business │
│ Top 25 0/22 ││ │
└──────────────────────────────┘└────────────────────────────────────────────┘
/ ba█ Esc cancel Enter confirmEnter or Tab keeps the filter and closes the box; Esc clears it. The
search bar stays visible while a filter is active, so you can see why the list
is narrowed.
Open the settings screen
Press o to reach every option that shapes the run, so nothing on the command
line is out of reach at the terminal:
┌ Settings 1 of 37 - Left/Right change Esc back Enter run ──────────┐
│> names to check example │
│ read names from a file no file │
│ search by name, country, or … everything in the group │
│ read extensions from a file no file │
│ include restricted zones no │
│ ... │
└─────────────────────────────────────────────────────────────────────────┘Up / DownkeyMove between rows.
Left / Right, SpacekeyChange the row under the cursor.
Esc / TabkeyReturn to the panes.
Backspace, Delete, Home/End, Ctrl-A/Ctrl-E, Ctrl-U/Ctrl-K, Ctrl-WkeyNormal line-editing keys, on a text row.
EnterkeyOn a text row, moves to the next row rather than starting the run. Press
Enter on any other row to run from there.
A number row refuses letters at the keystroke, so a value that couldn't be read
never reaches the run. A row that narrows the extension list narrows the pane
behind it immediately, and anything it hides also leaves the chosen set rather
than being checked in silence. Nothing in the picker can replace the report on
screen: save the files as JSON changes only what gets written to disk.
Run the sweep
Press Enter on the panes (or on a non-text settings row) to run. q or Esc
leaves without checking anything.
$ reserve example --tld com,net,xyz
# ... picker opens, you press Space on .com, .net, .xyz, then Enter ...
DOMAIN STATUS SOURCE TIME NOTE
- example.com TAKEN registry 1104ms
+ example.net AVAILABLE registry 842ms
+ example.xyz AVAILABLE registry 917ms
2 available 1 taken 0 unknown (3 checked)The picker closes and reserve runs the sweep against whatever you picked,
printing the same result table a flag-driven run would. If you leave without
picking anything, reserve says so and exits without checking. Pass --group
or --tld next time to skip the picker instead.
Enter refuses to run and tells you why, on the hint line, when there's nothing
to check yet: no name has been given, nothing is picked, every pick is hidden by
the current search filter, or a file/output row names something that can't work.
When the picker doesn't open
The picker only opens when there's a person at the terminal to answer it. All of these skip it automatically:
- Piped input, or a redirected messages stream
- A continuous-integration run
- A terminal that can't draw a frame, or can't draw box characters (see
RESERVE_PLAINin Environment variables) --no-input(orRESERVE_NO_INPUTin the environment)- Any flag that shapes what gets checked:
--tld,--group,--json, and the rest. Naming one means the run is already decided; asking again would second-guess a choice already made. Flags that only change how the answer looks, such as--color,--progress,--width,-v, and-q, leave the picker open - Every name given already carries its extension (
reserve example.com), since there's nothing left to select, unless--interactiveis given
$ reserve example.com
DOMAIN STATUS SOURCE TIME NOTE
- example.com TAKEN registry 1104ms
0 available 1 taken 0 unknown (1 checked)--interactive asks for the picker directly; when the terminal can't take it,
reserve says so and carries on without it:
$ reserve example --interactive
note: the picker cannot open here: the messages stream is not a terminal. Carrying on without it.Run reserve doctor to see whether your terminal can open the picker, and why
not when it can't.