This is a library for displaying document differences in Typst. “Palimset” is a coined word combining the terms ‘palimpsest’ and ‘set’.
Usage
diff-string
Compares two strings and highlights the differences.
#import "@preview/palimset:0.1.0": *
#let a = "hello, workd. こんばんは"
#let b = "hello, world. こんにちは"
#diff-string(a, b)
The output will look like this:
diff-content
Compares two Typst contents and highlights the differences, preserving styles.
#import "@preview/palimset:0.1.0": *
#diff-content(
include "diff-a.typ",
include "diff-b.typ"
)
Functions
diff-string(a, b, format-plus, format-minus, split-regex)
a,b: The two strings to compare.format-plus: A function to format added text. (Default:x => text(x, fill: blue, weight: "bold"))format-minus: A function to format removed text. (Default:x => strike(text(x, fill: red, size: 0.75em)))split-regex: A regular expression string to split the strings for comparison. (Default:"[^A-Za-z0-9]")
diff-content(a, b, format-plus, format-minus, split-regex)
a,b: The two Typst contents to compare.format-plus: A function to format added text. (Default:x => text(x, fill: blue, weight: "bold"))format-minus: A function to format removed text. (Default:x => strike(text(x, fill: red, size: 0.75em)))split-regex: A regular expression string to split the contents for comparison. (Default:"[^A-Za-z0-9]")
License
This project is licensed under the MIT License.