Conversation
feat: accent-aware spell check, outline-driven page map, template refresh and uninstall (0.9.0)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Six specs from the backlog, plus three fixes that only appeared once the result was installed and used on real documents.
The headline: the spell checker stops inventing errors
texforge checkwas reporting hundreds of words that are not words —violaci,patr,acil. The checker reads the.texbefore LaTeX resolves it and split every word at its accent macro, soviolaci\'onbecameviolaci+onand neither is in any dictionary. On a real thesis document that was 154 of 200 warnings.Accent macros are now resolved to the character they produce before words are split, covering both families — the symbol forms (
\',\`,\^,\",\~) and the letter-named ones (\c,\v,\u,\H,\r,\k), which the tokenizer stores differently and which a first attempt missed entirely.Then using it found the remaining case:
impor\-tanciastill split, because\-is a discretionary hyphen rather than an accent.\-and\/are now transparent — they render no character, and they do not break the word either.The 51 that remain are genuinely unknown:
dataset,softmax,Kepler,Robovetter, Spanish technical terms.The page map now reads the PDF instead of guessing
pdf pagesreports which section opens each page, and it built that by matching heading text against the table of contents — a mechanism that had needed six fixes in three days. The PDF states the answer outright: its outline carries the section number in the destination name (subsection.2.4), so nothing has to be inferred from a title. The text-matching path stays as the fallback for documents that emit no bookmarks, and the output says which path produced the map.Using it found that the new path attributed each page to the last section that opened it instead of the first, contradicting the rule the old one had followed since
4947308. Checked against the document's own table of contents: page 2 opens sections 1 through 2.3, and the answer is 1. Four of five multi-section pages were wrong. A test written alongside the new code asserted the wrong behaviour — it described what the code did rather than what the command promises — and was corrected against the measured ground truth.The rest
texforge template refreshfor when you know it changed.texforge uninstall. Plan first, ask, itemised with sizes. The personal spell dictionary is treated as the user's own writing and preserved unless--include-spell-wordsis passed.curl … | shthe child inherited the pipe and skipped past its own prompt. It now gets/dev/tty, and where there is no terminal — CI, a container without-t— it skips the skill cleanly instead of breaking the install.chunks_exact_to_as_chunkslint in pre-existing rasterization code, unrelated to any spec but fatal to a-D warningsgate.Gate green:
cargo fmt --all,cargo clippy --all-targets -- -D warnings, 732 tests. Verified end to end against a real thesis document and the committed capabilities PDF.