A VS Code extension that converts between straight (", ') and curly (“, ”, ‘, ’) quotes and apostrophes in body text, markdown, and prose.
Commands
All three commands operate on the active editor's selection. If no text is selected, they format the entire file.
| Command | Behavior |
|---|---|
Prose Quotes: Curl |
Converts straight quotes/apostrophes to the correct curly variant. Curly characters are left alone. |
Prose Quotes: Straighten |
Converts curly quotes/apostrophes back to straight. Straight characters are left alone. |
Prose Quotes: Toggle |
If the text contains any straight quotes/apostrophes, curls everything. Otherwise straightens everything. Mirrors the bold/italic toggle behavior in text editors. |
Direction rules
When curling:
- A
"becomes“(open) when it follows the start of the document, whitespace, or an opening bracket ((,[,{) or already-emitted opening curly. Otherwise it becomes”(close). - A
'follows the same rule, becoming‘(open) or’(close) — which means apostrophes inside words likedon'talways becomedon’t.
Keybindings
No default keybindings are registered to avoid conflicts. To assign your own:
- Open Preferences: Open Keyboard Shortcuts (
Ctrl+K Ctrl+S/Cmd+K Cmd+S). - Search for
Prose Quotes. - Bind
proseQuotes.curl,proseQuotes.straighten, andproseQuotes.toggleto whatever keys you prefer.
Development
pnpm install
pnpm run watch # esbuild watch mode
# Press F5 in VS Code to launch the Extension Development Host
pnpm test # run the unit test suite
pnpm run typecheck # tsc --noEmit