Repository navigation
Breaking: code highlighting without HighlighterSwift
MarkdownEngineCodeBlocks now runs a bundled highlight.js 11.11.1 (all 192 languages) through HighlightJSBridge. Colours come from a CodeHighlightTheme, one Swift colour per highlight.js scope, instead of a CSS theme. HighlighterSwift's CSS parser dropped compound selectors, so nested scopes took their parent's colour.
- Replace
HighlighterSwiftBridgewithHighlightJSBridge. Theme names becomeCodeHighlightThemevalues, and the default is now.githubLight/.githubDark(was atom-one). - Names, calls, properties, operators and punctuation that highlight.js leaves unscoped are now lexed in 23 languages, so themes can colour them.
- A fence's language is the info string's first word (
```python title="x.py"). A half-typed or mislabelled block still highlights.
Inline Writing Tools
Rewrites and proofreading morph in place again (.complete, was .limited). Code, formulas, links, embeds and tables stay out of them. On macOS 27 the engine works around four AppKit bugs: rewritten paragraphs going missing, text below the edit showing twice, explanations anchored beside the text, and a crash while stepping through a proofread. A document switch or ⌘Z during a session ends it instead of crashing. Known: on 15.1–26 the text below a mid-document rewrite still dims for the animation.
Changed
- The text view always sits at its container's origin (#205). The header band and the column offset are now the container's bounds origin, so a grammar suggestion no longer jumps on macOS 27. If you read
textView.frame.originas an on-screen position, useconvert(_:to:)instead.
Added
NativeTextViewWrapper(isFocused:), an optional two-way focus binding.CodeBlockButton(onHover:)reports the pointer over the copy button.
Fixed
- Switching documents drops AppKit's blue autocorrection underline.
- A configured bottom safe-area inset survives
recalcOverscroll. - Smart paste keeps tables, lists and headings inside unknown wrapper elements (Gemini,
<section>, Google Docs). - After a proofread the next keystroke reports its
onTextMutationagain.
Full changelog: 0.14.0...0.15.0
Contributors
by @luca-chen198 — highlight.js colouring (#203), inline Writing Tools (#204, #207), the text view at its container's origin (#207), the autocorrection underline on a switch (#198) and smart paste in unknown wrappers (#195).
by @yvos — two-way editor focus (#175).
by @mvanhorn — the bottom safe-area inset across overscroll (#196).