Add wrap-unwrap extension#27655
Conversation
Markdown-aware text reflow with two no-view commands: - Wrap Text: wrap lines at a configurable column width, prefix-aware for blockquotes and list items. - Unwrap Text: reflow wrapped text into continuous paragraphs, preserving Markdown structure (code fences, lists, blockquotes, tables, links, hyphenation, hard breaks). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
Greptile SummaryThis PR introduces the Wrap Unwrap extension with two Confidence Score: 5/5This is a brand-new, self-contained extension with no changes to existing extensions; it is safe to merge. All changed files are net-new additions for a single extension. The core reflow logic is well-tested, the Raycast API surface is used correctly (auto-generated preference types, no unused dependencies, correct no-view mode), and the ESLint/CHANGELOG/manifest conventions are all followed. No logic errors or correctness issues were found in the wrapping, unwrapping, or classification paths. No files require special attention. Important Files Changed
Reviews (2): Last reviewed commit: "fix(wrap-unwrap): address review feedbac..." | Re-trigger Greptile |
- Drop unused @raycast/utils dependency - Hoist samePrefixStack from unwrap.ts to classify.ts; reuse in wrap.ts so both transforms apply the same depth + spaceAfter check on blockquote prefix continuity Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@greptile could you take another look? |
Description
Adds Wrap Unwrap, a new extension with two
no-viewcommands for Markdown-aware text reflow:>) and list-item markers (-, hang indent) count toward the line budget so wrapped output stays within the chosen column width including its prefix.inter-+esting→interesting) and blank-line preservation.Shared preferences follow the Change Case extension's conventions: Preferred Source (selection vs clipboard, with fallback), Primary Action (paste vs copy), Hide HUD, Pop to Root.
The extension also exposes a cross-extension provider interface (LitoMore convention) using only built-in Raycast SDK primitives — other extensions can launch wrap/unwrap with a
launchContext.textand acallbackLaunchOptionsto receive the result.Source repo: https://github.com/chrismessina/raycast-wrap-unwrap
Screencast
See
metadata/screenshot-01.png(2000×1250) included in this PR.Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare located outside the metadata folder if they were not generated with our metadata tool