robinojw and Chris Biscardi
94ce64470a
markdown_preview: Independent font family and theme ( #54003 )
...
## Summary
Adds two user-facing settings that let the markdown preview render with
a font family and theme independent from the editor. Both are optional
and fall back to the editor defaults when unset.
```json
{
"markdown_preview_font_family": "Georgia",
"markdown_preview_theme": "Solarized Light"
}
```
## Details
- New `MarkdownFont::Preview` variant, used only by the preview surface.
- New `MarkdownStyle::themed_with_overrides()` that accepts explicit
`ThemeColors` and `SyntaxTheme` so the preview can render with a theme
other than the active editor theme. Existing `themed()` callers are
unchanged.
- The preview pane background adopts the chosen theme's
`editor_background`.
- Follows the pattern already used by `agent_ui_font_size` /
`agent_buffer_font_size`.
## Scope
Sizing-related changes (`markdown_preview_font_size`,
`markdown_preview_line_height`, typography tweaks, responsive max-width
container) were in an earlier revision of this PR and have been removed
per review feedback — they interact with the Cmd+/- zoom behavior in
ways that still need design work, and will land in a follow-up.
## Files Changed
- `crates/settings_content/src/theme.rs` — schema
- `crates/theme_settings/src/settings.rs` — runtime + accessor
- `crates/markdown/src/markdown.rs` — `MarkdownFont::Preview` +
`themed_with_overrides()`
- `crates/markdown_preview/src/markdown_preview_view.rs` — theme
resolution, style selection, background
- `crates/markdown_preview/Cargo.toml` — `theme` dependency
- `crates/settings/src/vscode_import.rs` — new fields in struct literal
Release Notes:
- Added `markdown_preview_font_family` and `markdown_preview_theme`
settings to customize the markdown preview independently from the
editor.
Co-authored-by: Chris Biscardi <chris@christopherbiscardi.com >
2026-04-23 23:41:07 +00:00
..
2026-04-23 18:26:44 +00:00
2026-04-22 14:57:12 -07:00
2026-04-16 12:54:17 +00:00
2026-04-21 09:01:42 +00:00
2026-04-23 18:26:44 +00:00
2026-04-22 15:02:57 +00:00
2026-04-22 15:02:57 +00:00
2026-04-23 18:26:44 +00:00
2026-04-15 21:51:15 -03:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-03-24 00:58:09 +01:00
2026-03-18 21:31:20 -04:00
2026-03-03 17:47:35 +01:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-03-13 08:00:22 +00:00
2026-04-16 12:54:17 +00:00
2026-04-20 09:29:51 +00:00
2026-03-30 13:07:13 +00:00
2026-04-20 18:03:26 -07:00
2026-04-23 18:26:44 +00:00
2026-02-25 08:12:04 +01:00
2026-04-07 12:28:19 -03:00
2026-04-10 10:15:28 -04:00
2026-04-22 13:39:48 +00:00
2026-04-02 17:06:57 -03:00
2026-04-23 18:26:44 +00:00
2026-04-21 09:01:42 +00:00
2026-03-27 18:06:56 -07:00
2026-04-22 11:12:32 -06:00
2026-04-15 21:51:15 -03:00
2026-04-21 08:06:40 +00:00
2026-04-05 23:05:35 +01:00
2026-04-20 14:33:18 +02:00
2026-03-27 14:56:46 -07:00
2026-03-11 03:08:39 +00:00
2026-04-02 17:06:57 -03:00
2026-04-21 07:25:22 +00:00
2026-03-30 09:06:59 +00:00
2026-03-16 16:29:24 +00:00
2026-04-15 23:25:44 +00:00
2026-01-14 07:19:13 +00:00
2026-04-21 19:54:02 +00:00
2026-04-21 19:25:21 +00:00
2026-04-09 10:42:21 -03:00
2026-04-23 07:36:36 +00:00
2026-04-20 08:53:15 +00:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-04-22 10:40:37 +00:00
2026-04-23 18:26:44 +00:00
2026-04-20 14:03:26 +03:00
2026-04-10 13:27:04 -04:00
2026-04-21 09:01:42 +00:00
2026-04-23 21:21:45 +00:00
2026-04-01 17:25:32 +00:00
2026-04-07 12:28:19 -03:00
2026-02-28 21:47:30 -05:00
2026-04-22 15:02:57 +00:00
2026-02-19 18:57:49 +01:00
2026-02-28 22:42:19 -05:00
2026-04-21 17:32:54 -04:00
2026-03-24 19:11:30 -04:00
2026-04-21 17:32:54 -04:00
2026-04-21 17:32:54 -04:00
2026-04-21 09:01:42 +00:00
2026-04-21 09:43:44 -07:00
2026-04-18 06:34:19 +00:00
2026-04-16 07:45:38 +00:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-02-19 18:57:49 +01:00
2026-04-03 11:00:13 +00:00
2026-04-21 11:01:20 +02:00
2026-04-23 19:51:57 +00:00
2026-04-22 16:11:51 -04:00
2026-01-31 21:56:34 +00:00
2026-04-23 19:51:57 +00:00
2026-04-01 17:25:32 +00:00
2026-04-22 13:39:48 +00:00
2026-04-23 18:41:52 +00:00
2026-04-23 18:26:44 +00:00
2026-04-21 07:25:22 +00:00
2026-04-16 10:37:05 -04:00
2026-03-24 11:05:12 +00:00
2026-04-21 07:25:22 +00:00
2026-04-14 18:14:31 +02:00
2026-04-23 18:26:44 +00:00
2026-03-31 13:16:53 +00:00
2026-04-21 09:55:14 +02:00
2026-04-21 13:35:13 -04:00
2026-04-23 18:26:44 +00:00
2026-04-07 11:19:21 +05:30
2026-04-17 13:54:43 +02:00
2026-03-28 18:41:33 -04:00
2026-04-22 22:22:10 +00:00
2026-04-17 13:54:43 +02:00
2026-02-12 00:28:17 +00:00
2026-03-12 15:34:09 -07:00
2026-04-22 15:09:09 +01:00
2026-04-21 09:01:42 +00:00
2026-04-23 18:26:44 +00:00
2026-04-18 00:55:44 +02:00
2026-04-02 12:52:42 +00:00
2026-04-22 13:39:48 +00:00
2026-04-15 10:11:44 +02:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-03-25 12:07:34 -06:00
2026-04-01 17:25:32 +00:00
2026-04-21 19:54:02 +00:00
2026-04-23 18:26:44 +00:00
2026-04-01 17:25:32 +00:00
2026-02-03 15:51:40 -05:00
2026-03-24 00:58:09 +01:00
2026-03-06 16:49:55 +00:00
2026-03-17 08:36:37 +01:00
2026-04-23 23:41:07 +00:00
2026-04-23 23:41:07 +00:00
2026-04-22 15:43:53 +05:30
2026-04-23 18:41:52 +00:00
2026-04-09 10:42:21 -03:00
2026-04-22 02:42:11 +00:00
2026-02-17 10:41:10 +00:00
2026-02-20 13:36:04 +00:00
2026-04-14 11:10:31 +00:00
2026-04-15 21:51:15 -03:00
2026-04-15 02:21:56 -04:00
2026-04-21 09:27:12 -03:00
2026-04-22 13:39:48 +00:00
2026-03-27 14:41:25 +01:00
2026-04-07 12:28:19 -03:00
2026-04-17 10:51:32 -04:00
2026-04-01 17:25:32 +00:00
2026-04-21 09:01:42 +00:00
2026-03-13 14:13:12 -03:00
2026-04-21 07:57:35 +02:00
2026-04-23 18:26:44 +00:00
2026-04-08 00:34:54 +00:00
2026-03-31 12:48:22 +03:00
2026-04-23 22:20:16 +00:00
2026-02-19 18:57:49 +01:00
2026-04-23 05:46:58 +00:00
2026-04-09 16:38:07 +00:00
2026-03-26 13:48:18 +00:00
2026-04-22 20:26:43 -04:00
2026-04-23 18:26:44 +00:00
2026-04-15 23:25:44 +00:00
2026-04-21 07:44:24 +00:00
2026-04-16 16:36:09 -07:00
2026-04-22 20:02:45 +03:00
2026-04-21 23:39:53 +00:00
2026-03-09 13:22:12 +01:00
2026-03-21 14:05:30 +01:00
2026-04-13 09:07:09 +00:00
2026-04-22 13:39:48 +00:00
2026-03-07 04:11:45 +00:00
2026-03-27 14:41:25 +01:00
2026-04-23 18:26:44 +00:00
2026-03-18 12:05:57 -07:00
2026-04-23 23:41:07 +00:00
2026-04-23 23:41:07 +00:00
2026-03-25 12:07:34 -06:00
2026-04-02 00:44:53 +00:00
2026-04-23 18:41:52 +00:00
2026-03-16 23:49:34 -04:00
2026-04-23 20:24:00 +00:00
2026-01-26 13:49:26 +00:00
2026-02-12 00:28:17 +00:00
2026-03-10 20:25:12 +00:00
2026-03-21 14:05:30 +01:00
2026-03-29 14:43:05 +00:00
2026-03-31 08:06:37 -06:00
2026-04-20 14:41:29 +02:00
2026-04-02 13:09:29 +00:00
2026-04-07 06:14:00 +00:00
2026-01-28 16:36:44 -08:00
2026-04-23 18:26:44 +00:00
2026-04-23 18:26:44 +00:00
2026-04-01 17:25:32 +00:00
2026-04-23 18:26:44 +00:00
2026-03-27 14:41:25 +01:00
2026-03-27 14:41:25 +01:00
2026-04-23 18:26:44 +00:00
2026-04-23 23:41:07 +00:00
2026-02-28 21:47:30 -05:00
2026-04-23 18:26:44 +00:00
2026-04-01 17:25:32 +00:00
2026-04-21 23:16:56 -03:00
2026-03-13 19:37:18 -03:00
2026-03-27 15:31:49 +00:00
2026-03-27 14:41:25 +01:00
2026-04-23 18:26:44 +00:00
2026-04-09 10:42:21 -03:00
2026-04-23 18:45:26 +00:00
2026-03-19 12:53:26 -04:00
2026-03-09 13:22:12 +01:00
2026-04-07 12:28:19 -03:00
2026-03-27 14:41:25 +01:00
2026-04-23 22:20:16 +00:00
2026-04-23 18:26:44 +00:00
2026-02-19 18:57:49 +01:00
2026-04-22 13:39:48 +00:00
2026-04-22 22:22:10 +00:00
2026-04-21 19:54:02 +00:00
2026-04-02 17:06:57 -03:00
2026-04-02 17:06:57 -03:00
2026-04-22 12:48:01 +00:00
2026-03-03 08:37:58 +00:00
2026-02-11 11:24:04 +00:00