-
Notifications
You must be signed in to change notification settings - Fork 1
feat: add markdown header support and info hints #72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add header support to MarkdownWriter for displaying status messages - Add dimming to truncated top lines in markdown output - Add hint support to Info struct for displaying additional context - Show 'Thinking..' header during AI response generation - Display 'Ctrl+O to view transcript' hint in conversation info - Improve spinner comment clarity Co-Authored-By: Paws <noreply@pawscode.dev>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR enhances the markdown-based UI during AI interactions by adding header support, visual truncation cues, and contextual hints, while simplifying some spinner behavior.
Changes:
- Adds a
headertoMarkdownWriterwithset_header()to show status text (e.g., “Thinking..”) above streamed markdown, and dims top lines when output is truncated bymax_height. - Extends
Infowith an optionalhintand awith_hint()builder method, and displays the hint at the end of rendered info (e.g., “Ctrl+O to view transcript”). - Updates UI call sites to use the new header/info behavior and clarifies spinner comments.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| crates/paws_main/src/ui.rs | Hooks the markdown header into thinking-phase UI and adjusts conversation summary display to use a title instead of a loading spinner. |
| crates/paws_main/src/info.rs | Adds hint support to Info, wires it into metrics summaries, and renders hints at the end of the info display with tests. |
| crates/paws_common/src/spinner/mod.rs | Updates spinner comment to match its actual output (no extra hint in the comment). |
| crates/paws_common/src/display/md/writer.rs | Adds header support, truncation dimming, and new tests to MarkdownWriter, and refactors streaming logic to work on String lines. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| &self.renderer.render(&self.buffer, Some(Attribute::Dim)), | ||
| spn, | ||
| ); | ||
| self.stream(&self.renderer.render(&self.buffer, None), spn); |
Copilot
AI
Jan 26, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The add_chunk_dimmed path no longer applies the Attribute::Dim styling (the render call now passes None), so content that is intended to be dimmed is rendered with normal intensity while last_was_dimmed is still set to true. Either restore the dim attribute in this call or rename the method/flag and update callers if the behavior change is intentional, to keep the implementation and naming consistent.
| self.stream(&self.renderer.render(&self.buffer, None), spn); | |
| self.stream(&self.renderer.render(&self.buffer, Some(Attribute::Dim)), spn); |
…anabc/paws into feat/markdown-header-and-info-hint
This PR adds visual enhancements to improve user experience during AI interactions.
Changes
MarkdownWriter Header Support
set_header()method to display status messages above markdown contentTruncation Improvements
Info Hints
with_hint()method to Info struct for displaying additional contextUI Enhancements
Testing
Co-Authored-By: Paws noreply@pawscode.dev