Spellless 0.1.4
Eleven commits since 0.1.3. Two of them are bugs you would have noticed; the rest is vocabulary and a new way to argue with the capitalisation.
qq mid-word, then a key, is an instruction
Capitalisation is otherwise inferred — from what you typed, from whether a sentence just ended, from what you have picked before — and inference is right most of the time and unarguable-with when it is not. This is the argument:
wndows qqf |
Windows — first letter, for a name the dictionary reads as an ordinary word |
api qqc |
API — all caps, for an acronym |
but qql |
but — lower case, defeating an automatic sentence capital |
qqd |
forget the highlighted candidate, as Ctrl+Shift+D does |
qq because no English word contains it. Arming costs nothing: the letters stay in the composition until a key that is a command arrives, so zzxxqq still commits as itself and anything unrecognised is ordinary text. The one cost of the whole feature is that qqc cannot be typed literally.
Two capitalisation fixes
Shouting a word once is not a statement about how it is spelled. Writing MATHEMATICS in a heading made mathe offer MATHEMATICS and nothing else, for ever — not demoted but gone, the two spellings deduplicating to one candidate. The guard covered a leading capital and not all of them. The deliberate route still works: pick the capitalised candidate by its number twice and it leads, with the ordinary spelling right behind.
Familiarity settles a tie; it does not overturn the evidence. immsn gave the literal first and immersion third, because sixteen commits of instead were worth enough to cover a full extra point of edit cost — and then, the leader being that loose, nothing was trustworthy and the literal was promoted over the good reading behind it. The bonus now applies only within one edit of the best reading on offer.
195 words the corpus was too old for
Google Books knows docker, python and linux — all of which had other lives — and had never heard of macOS, JSON, kubectl or numpy. Measured before writing anything: 4 of 32 tech acronyms present, 2 of 11 libraries — but 18 of 18 UK cities and 15 of 15 Chinese cities, because a books corpus has read about places. What was missing there was acronyms (NHS, HMRC, EPSRC) and provinces (Guangdong, Shaanxi).
Nothing was bulk-imported. Every entry is checked against the dictionary first, because giving a key a written form applies it everywhere — adding RAM would make ram commit as RAM, including when you meant the animal. Out went REST, POP, CD, ARM, CAD, Bash, React, Notion and Fedora (a hat). And ML, which is not a word but is millilitres.
Also
Contractions the base list lost, you've among them — the corpus contains you'v, a truncated token the build correctly rejects, leaving a hole where you'd, you'll and you're all exist.
83,364 words. Held out over five fresh seeds: 89.3% / 99.2%. 2,158 + 64 assertions.
Downloads
| you are | take |
|---|---|
| already using Rime, any platform | spellless-0.1.4.zip — python3 scripts/install.py |
| on Windows, not using Rime | spellless-0.1.4-installer.exe — schema and frontend in one |
| on macOS, not using Rime | Spellless-Squirrel, then the zip |
Both frontends are unsigned, as upstream Squirrel's own releases are: right-click → Open the first time.