build-number
duration-label: 38m 47s
started-label-colon: time-days-ago
Let callers ask the speller whether a string is an entry
When a word is misspelled, LibreOffice re-checks it joined with a
neighbour ("okta okta") to find multi-word dictionary entries, and drops
the underline if that comes back valid. Running the pipeline cannot
answer that: it tokenises the string and only reports that each token is
spelled correctly. So the extension rejects any input with whitespace in
it, which underlines the first word of real multi-word entries
(divvunspell-libreoffice#13).
The cgspell acceptor can answer it directly. Add Cgspell::is_correct,
which looks the string up with is_correct_with_config under cgspell's own
config, so recasing behaves as it does in the pipeline, and expose it as
DRT_Bundle_isCorrect. cffi's BoolMarshaler has no fallible form, so a
small BoolResultMarshaler reports errors through the callback and returns
false.
A character outside the acceptor's alphabet maps to its unknown symbol,
or to epsilon when it has none, so a space could match where the acceptor
has no space at all. Refuse strings with a space outright when " " is not
in the alphabet, and refuse any other whitespace always: LibreOffice joins
with a plain space.
Against se.drb, whose acceptor has " " as a symbol: "sápmelaš", "dan
dihte", "juohke sajis", "New York" and "Sri Lanka" are entries;
"sápmelas", "okta okta", "Mun Mun", "dihte dan", "dan dihte" and "dan
dihte" with a no-break space are not. The cgspell_is_correct example
runs the same lookup from the command line.
jobs-heading
divvun-actions cidivvun-actions ci
ran-in▶
build-x86_64-unknown-linux-gnu./x build --target x86_64-unknown-linux-gnu
mv target/x86_64...
ran-in▶
build-x86_64-pc-windows-msvcuv venv --python 3.12; uv pip install pyyaml setuptools; $en...
ran-in▶
lib-build-x86_64-pc-windows-msvcuv venv --python 3.12; uv pip install pyyaml setuptools; $en...
ran-in▶
lib-build-x86_64-unknown-linux-gnu./x build-lib --target x86_64-unknown-linux-gnu
mkdir -p lib...
ran-in▶
aarch64-apple-darwin - Build./x build --target aarch64-apple-darwin
mv target/aarch64-ap...
ran-in▶
lib-build-aarch64-apple-darwin./x build-lib --target aarch64-apple-darwin
mkdir -p libdivv...
ran-in▶
aarch64-apple-darwin - Signecho '--- Downloading unsigned binary'
buildkite-agent artif...
ran-in▶
Publish (Dev)divvun-actions run divvun-runtime-publish
ran-in▶