diff options
| author | cashmere <cashmere@autistici.org> | 2026-04-26 20:36:04 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-04-26 20:36:04 +0200 |
| commit | baa6cf8cc43ce676b806db01e390668dc4aa6790 (patch) | |
| tree | 103e8d459f7f3a79dd7985f9b36f8ff263a672ad /tests/test-typst.typ | |
| parent | 7e4faffa32d6f0ef885fceb0a9ecd93b3fe5c43f (diff) | |
| download | kitty-graphics-baa6cf8cc43ce676b806db01e390668dc4aa6790.tar.gz | |
feat: add typst inline equation preview
Mirrors the existing LaTeX fragment integration but uses the `typst`
CLI to compile `$...$' math fragments into PNGs that are then displayed
inline through the existing kitty-graphics overlay pipeline.
- New section in kitty-graphics.el: customs (typst-command, ppi,
text-size, preamble), SHA-1 cached PNGs under /tmp/kitty-gfx-typst,
Emacs face-foreground -> typst rgb() hex conversion.
- Two autoloaded commands: `kitty-gfx-typst-preview' and
`kitty-gfx-typst-clear-preview', region-aware.
- Regex skips backslash-escaped dollars (\\$not math\\$).
- justfile with recipes: compile/lint/load + per-feature test-* and
headless typst-render / typst-show.
- tests/test-typst.typ fixture with inline, display, mixed and
edge-case fragments.
- AGENTS.md updated: test instructions, dependency note, issue marked
done.
Closes #7. Parent #5.
Diffstat (limited to 'tests/test-typst.typ')
| -rw-r--r-- | tests/test-typst.typ | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test-typst.typ b/tests/test-typst.typ new file mode 100644 index 0000000..a28fcbf --- /dev/null +++ b/tests/test-typst.typ @@ -0,0 +1,31 @@ +// Test fixture for kitty-graphics.el typst inline equation preview. +// +// Usage: +// TERM=xterm-256color emacs -nw -Q -l kitty-graphics.el \ +// --eval "(kitty-graphics-mode 1)" tests/test-typst.typ +// M-x kitty-gfx-typst-preview +// M-x kitty-gfx-typst-clear-preview +// +// Inline math fragments below should each be replaced by a rendered +// PNG overlay. Escaped dollar signs (\$ ... \$) must be ignored. + += Inline samples + +Pythagoras: $a^2 + b^2 = c^2$, classic. + +Euler: $e^(i pi) + 1 = 0$ -- the famous identity. + +Display style with surrounding spaces: +$ integral_(-oo)^(+oo) e^(-x^2) dif x = sqrt(pi) $ + +Mixed line: $x = 1$ and $y = 2$ on the same line. + +Escaped dollar signs should be skipped: \$not math\$ here. + += Edge cases + +Sum: $sum_(k=0)^n binom(n, k) = 2^n$. + +Matrix: $mat(1, 2; 3, 4)$. + +Greek: $alpha + beta = gamma$. |
