Skip to content

feat(input-prompt-prefix): IInput.SetPrompt — styled editor prompt prefix#11

Merged
ThatRendle merged 5 commits into
mainfrom
change/input-prompt-prefix
Jun 19, 2026
Merged

feat(input-prompt-prefix): IInput.SetPrompt — styled editor prompt prefix#11
ThatRendle merged 5 commits into
mainfrom
change/input-prompt-prefix

Conversation

@ThatRendle

Copy link
Copy Markdown
Contributor

Summary

  • Adds IInput.SetPrompt(Line) and IInput.SetPrompt(string) to the public surface, letting consumers pin a styled prefix glyph (e.g. ) before the editable region of the input editor
  • Prefix is purely presentational: submitted values, InputChanged payloads, and input history contain only user-typed text
  • First-row wrap capacity is reduced by the prompt width; continuation rows use full width; caret is offset on row 0 to account for the prefix
  • Prompt persists across submissions and Clear() until explicitly changed or cleared
  • Version bumped 0.2.0-rc.50.2.0-rc.6
  • openspec/specs/fixed-region/spec.md updated with the new requirement

Test plan

  • 890 tests pass (dotnet test) — all existing tests green, 6 new integration tests via HeadlessTerminal
  • dotnet build clean (0 warnings, analyzers/warnings-as-errors)
  • dotnet format --verify-no-changes clean
  • Sample updated to exercise SetPrompt("❯ ") end-to-end

🤖 Generated with Claude Code

ThatRendle and others added 5 commits June 19, 2026 01:18
…tions 1+2)

- 1.1 Add SetPrompt(Line) and SetPrompt(string) to IInput; doc null/empty clears, no InputChanged
- 1.2 Implement both overloads on InputSurface via SetPromptCommand
- 1.3 Remove Prompt deferral bullet from InputSurface documented gaps
- 2.1 Add SetPromptCommand : ILoopCommand mirroring SetTextCommand
- 2.2 Add _prompt field and SetPrompt(Line) mutator to TextBuffer
- 2.3 Render prefix on first visual row; caret offset by promptWidth on row 0;
      first-row capacity = width - promptWidth; continuation rows at column 0;
      prefix never enters buffer content

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n 3)

- 3.1 Prefix renders before editable text on the first row
- 3.2 Caret parks after prefix when buffer is empty
- 3.3 No prompt → v1 regression guard
- 3.4 Prompt persists across Clear() calls
- 3.5 InputSubmitted payload excludes prompt prefix
- 3.6 First-row wrapping uses width - promptWidth; continuation row at col 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 4.1 Add SetPrompt("❯ ") to Dcli.Demo tour; clear with SetPrompt("") in finale

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 5.1 dotnet build clean (0 warnings, 0 errors)
- 5.2 dotnet test all green (890 passed)
- 5.3 dotnet format --verify-no-changes clean
- 5.4 openspec validate input-prompt-prefix --strict passes
- 5.5 version bump 0.2.0-rc.5 → 0.2.0-rc.6 in Dcli and Dcli.Testing
- 5.6 CHANGELOG updated with IInput.SetPrompt surface
- 5.7 DEVLOG updated (all sections complete)
- 5.8 dmon coordination noted (informational, no code change)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sync the 'Input editor prompt prefix' requirement (6 scenarios) into
the main openspec/specs/fixed-region/spec.md and move the completed
change to openspec/changes/archive/2026-06-19-input-prompt-prefix/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ThatRendle ThatRendle merged commit 7d1dff5 into main Jun 19, 2026
3 checks passed
@ThatRendle ThatRendle deleted the change/input-prompt-prefix branch June 19, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant