docs(cli): input and shell commands - #406
Conversation
Replace the cli/input-and-editing.mdx stub with full content covering editing basics, the slash command menu with argument hints, up-arrow prompt history, shell tab completions, mouse support, selection and clipboard behavior (incl. OSC 52 over SSH), image attachments, voice input, and the contextual keyboard hints plus the ? shortcuts menu. Dropped from the outline after verifying against warp master: Vim mode (not merged), inline-menu mouse clicks (not shipped), and configurable keybinding claims (the CLI does not load keybinding overrides yet). Co-Authored-By: Oz <oz-agent@warp.dev>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
I'm starting a first review of this pull request. You can view the conversation on Warp. I completed the review and no human review was requested for this pull request. Comment Powered by Oz |
There was a problem hiding this comment.
Overview
This PR expands the Warp CLI input and editing page from a stub into a full feature document covering editing, slash commands, history, shell completions, mouse support, clipboard behavior, image attachments, voice input, and keyboard hints. I reviewed the changed docs against the annotated diff, the security checklist, and the provided spec context.
Concerns
- No blocking concerns found. The provided spec context states that no approved or repository spec context was found, and the docs-only diff does not introduce security-sensitive code or configuration.
Verdict
Found: 0 critical, 0 important, 0 suggestions
Approve
Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).
Powered by Oz
{{WARP_CLI}} tokens are not substituted in MDX frontmatter (Astro's
content layer parses frontmatter outside Vite), so the built title and
description showed the raw token. Body-prose {VARS.WARP_CLI} is
unchanged. Verified the built dist/cli/input-and-editing <title> now
reads "Input and editing in the Warp CLI".
Co-Authored-By: Oz <oz-agent@warp.dev>
Consolidation: merge the verified content of cli/shell-commands.mdx (PR #403, branch hyc/launch-cli-cli-shell-commands) into cli/input-and-editing.mdx as a single "Input and shell commands in the Warp CLI" page. Adds shell mode, natural language detection, long-running and interactive commands, full-screen apps, and stopping/ exiting sections; merges the two history sections into one (adopting the verified submit-on-Enter semantics); rewires shell-mode links to in-page anchors. File rename to the new slug happens at integration. Co-Authored-By: Oz <oz-agent@warp.dev>
Launch name confirmed as Warp Agent CLI. Base branch merge picks up the WARP_CLI var change (e2aebe3) for body prose; this updates the two literal frontmatter strings (title, description). Verified the built title reads "Input and shell commands in the Warp Agent CLI". Co-Authored-By: Oz <oz-agent@warp.dev>
Reduce product-name density (prefer "the CLI" after the intro; keep the
full name in the intro and Related pages), drop one banned word
("just"), remove a filler wayfinding sentence from the intro, vary a
repeated cross-reference rhythm, dedupe "lands in the input", and use a
plainer verb for the hints section opener. No heading, fact, or link
target changes.
Co-Authored-By: Oz <oz-agent@warp.dev>
|
|
||
| - **Toggle detection** - Run `/natural-language-detection` to turn detection on or off. The statusline confirms the change, and the setting persists across sessions. | ||
| - **Automatic classification** - With detection on, the CLI classifies your input as you type. When the input looks like a shell command (for example, `git status`), the input switches to shell mode, and `Enter` runs it as a command. Everything else is sent to the agent. | ||
| - **Biased toward the agent** - Short or ambiguous input stays in agent mode, and a single word switches to shell mode only when it matches a command available in your shell. |
There was a problem hiding this comment.
no need to mention biased towards the agent
There was a problem hiding this comment.
Done in 62568aa: renamed the bullet lead to "Ambiguous input" so it states the behavior without characterizing the classifier bias.
| When a command keeps running, such as a dev server, a package install, or an interactive prompt, the CLI hands input over to it: | ||
|
|
||
| - **Input passthrough** - Keystrokes and pasted text are forwarded to the running process, so password requests, confirmation prompts, and other interactive programs work as they do in a plain terminal. | ||
| - **Interrupt hint** - While the command owns input, a dimmed `ctrl-c to interrupt` hint replaces the input. Press `Ctrl+C` to stop the command. |
There was a problem hiding this comment.
feels like an implementation detail, does this matter? prob not worth mentioning as well
There was a problem hiding this comment.
Done in 62568aa: removed the interrupt-hint bullet. Ctrl+C interrupt behavior is still covered under "Stopping commands and exiting".
Per editorial direction: cut the slash-menu usage steps, the Submit and six-row-scroll narration in editing basics, the history Filter bullet, completion-menu Enter/Esc narration, cursor-click and scroll-wheel bullets, the attachment-bar arrow/Enter steps (kept Tab focus, Backspace remove, Esc return as one sentence), the "Speak your prompt" voice step, the duplicated long-running interrupt hint, type-and-press- Enter in shell mode, and the output-streams-in sentence. Kept non-obvious keys, defaults, and gotchas (submit-on-Enter history semantics, restore-on-dismiss, OSC 52 note). No heading changes. Co-Authored-By: Oz <oz-agent@warp.dev>
Rename the natural-language-detection bullet lead from "Biased toward the agent" to "Ambiguous input" so it states the behavior without characterizing the classifier, and drop the interrupt-hint bullet from long-running commands (Ctrl+C interrupt is already covered in Stopping commands and exiting). Co-Authored-By: Oz <oz-agent@warp.dev>
Shorten the editing-basics intro, add the verified macOS/Linux Alt keybinding note, sharpen the history Submit/Dismiss bullets and drop the command-history sentence, fold the click-controls bullet into Selection and clipboard and remove the Mouse support section (no inbound #mouse-support links), trim the copied-to-clipboard footer narration, generalize the placeholder-hints bullet, simplify shell-mode step 2, and remove the transcript-styling sentence. Co-Authored-By: Oz <oz-agent@warp.dev>
Pages changed
src/content/docs/cli/input-and-editing.mdx(stub to full draft, now titled "Input and shell commands in the Warp CLI")Features covered
Input and editing:
Ctrl+J/Shift+Enter/Alt+Enter), readline-style editing keys/trigger, filtering, current-state suffixes (e.g./theme,/auto-approve), ghost-text argument hints (e.g./theme <auto|light|dark>), skills in the menu; links to cli/reference for the full table!-prefixed commands (commands-only in shell mode), filter, mode-switching preview, submit-on-Enter, Esc restore/voice,Ctrl+S, footer Voice control, Listening/Transcribing states, Enter-to-transcribe, Esc-to-cancel; cross-links the agent-platform voice page?shortcuts menu with adaptive sectionsShell commands (absorbed from #403):
!prefix to enter,Esc/Backspaceto exit,>vs!prompt marker, Shell mode statusline label,!-prefixed highlighted command rows in the transcript, note that running a command cancels an in-progress agent response/natural-language-detectiontoggle persists across sessions, agent-biased classification (single tokens switch only with command evidence)Ctrl+Don empty input and/exit; pointer to conversations page for resumeDropped/unconfirmed
From this PR's original scope:
warpmaster; no vim wiring or setting in the CLI runtime (only listed as a follow-up in the input-view tech spec). Section removed.keybindings.yamloverrides yet (loading is explicitly a follow-up, and the GUI's keybinding-loading launch path is unreachable for the CLI). DocumentedCtrl+Sas fixed, with no configurability claims.terminal.copy_on_selectis GUI-surfaced only). Documented the actual always-on behavior; flagging for eng review in case an opt-in setting lands before launch.Carried over from #403:
!marker + highlighted row background without naming a color (plan mentioned yellow rows; current master uses a theme-blended tint).Notes for review
/cli/reference/#keyboard-shortcutsand/cli/reference/#slash-commandsassume the reference stub's current H2s keep their names.handle_accepted_prompt_and_command_historycallshandle_submitted). The merged section documents submit-on-Enter.npm run buildpasses (363 pages); built title verified as "Input and shell commands in the Warp CLI".Suggested reviewer(s): Kevin, moira
Co-Authored-By: Oz oz-agent@warp.dev