Repository navigation
Stop auto-fix from joining words or typing guesses - #1
Merged
Merged
Conversation
Harper rules join words and some came out S0 or S1: `out side` -> `outside`, `Every one` -> `Everyone`, `had had` -> `had`. Whether they are right depends on words not typed yet, so they become S3 once overlaps are settled (`that that` cannot fall to `that` -> `which`); an edit that changes one word of its span is narrowed to that word. Style lints are S3. Typos under four letters are S0 only with a doubled letter (`soo`): `har`, `anb`, `thw` have several likely fixes. Verified with cargo test -p cc-correct. Claude-Session: https://claude.ai/code/session_01DiRshLaPboWShtRAdGazjy
fixgate::reject now refuses an edit whose original spans several words, that deletes the word, splits it (unless an autocorrect entry such as `alot` -> `a lot` says so) or changes the punctuation around it. Bold (S2) stops typing guesses, of which 26 of 40 were undone or overwritten; it now adds only doubled-letter fixes on capitalised words (`Outllook`). Replaying 22 sentences that make Harper offer joins finds none applied at any level. Verified with cargo test -p cc-app -p cc-tray -p cc-ui. Claude-Session: https://claude.ai/code/session_01DiRshLaPboWShtRAdGazjy
The profile had learned `reeviews, -> reviews`, which deletes the comma every time it fires, and `(iof -> (if`. Entries are now keyed by the bare word, the same punctuation comes off the fix, lookups use the bare word (`(teh` looks up `teh`), and a file with such entries is rewritten when the app starts. Verified with cargo test -p cc-correct -p cc-app. Claude-Session: https://claude.ai/code/session_01DiRshLaPboWShtRAdGazjy
CI failed linking cc-window's `demo` because cc-overlay, cc-ui and cc-window all built `examples/demo.exe` into one directory (cargo issue 6313), and cc-hook and cc-store both built `dump.exe`. cc-tray already used `tray_demo`; the overlay, ui and store examples now follow it. Verified: cargo build --workspace --examples prints no collision warning. Claude-Session: https://claude.ai/code/session_01DiRshLaPboWShtRAdGazjy
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.
Auto-fix joined words and typed guesses. Harper rules such as
everyone,repeated_wordsanddisjoint_prefixesreplace two words with one and were applied even at the default level (Every onebecameEveryone,up datebecameupdate), and Bold typed ambiguous spelling guesses, 26 of 40 of which were undone or overwritten.Now a fix must replace one word with one word and keep its punctuation; edits across words and style rewrites are never automatic; Bold adds only doubled-letter fixes on capitalised words; typos under four letters need a doubled letter; learned autocorrect entries drop the punctuation around the typo. Risk: fewer fixes at Bold and for three-letter typos.
cargo test --workspacepasses, including a replay of 22 sentences that make Harper offer joins.https://claude.ai/code/session_01DiRshLaPboWShtRAdGazjy