From 9a567f494de1f42bf614f8437ebca7a0a7bfa253 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 2 Oct 2023 08:18:50 -0500 Subject: [PATCH] feat(dict): September updates - The correction to `usefull` and `becuase` has existed from the initial implementation, as far as I could tell. - `busses` is a valid variation of `buses` - Had to put in a hack so that `aligning` would be preferred over `alining` because of how the preference algorithm works Fixes #823 --- crates/typos-dict/assets/allowed.csv | 1 + crates/typos-dict/assets/words.csv | 74 ++++++++- crates/typos-dict/src/word_codegen.rs | 228 +++++++++++++++++++++++--- crates/typos-dict/tests/verify.rs | 7 + 4 files changed, 277 insertions(+), 33 deletions(-) diff --git a/crates/typos-dict/assets/allowed.csv b/crates/typos-dict/assets/allowed.csv index 53b02908d..5203c583d 100644 --- a/crates/typos-dict/assets/allowed.csv +++ b/crates/typos-dict/assets/allowed.csv @@ -17,3 +17,4 @@ unuseful,adjective contiguities,plural of contiguity bellow,valid word and not just a typo of `below` revered,valid word and not just a typoe of `reversed` +recuse,valid word despite maybe being a typo of recurse diff --git a/crates/typos-dict/assets/words.csv b/crates/typos-dict/assets/words.csv index 114cad654..5795e7a96 100644 --- a/crates/typos-dict/assets/words.csv +++ b/crates/typos-dict/assets/words.csv @@ -1737,6 +1737,7 @@ aggreed,agreed aggreement,agreement aggregatet,aggregated aggregatore,aggregate +aggregatted,aggregated aggregetor,aggregator aggreggate,aggregate aggregious,egregious @@ -2275,7 +2276,7 @@ alimoney,alimony alimunium,aluminium aling,aline,along,ailing,sling alinged,alined -alinging,alining +alinging,aligning alingment,alinement alings,alines,slings alinment,alignment @@ -3588,6 +3589,9 @@ apostropes,apostrophe apostrophie,apostrophe apostrophied,apostrophe apostrophies,apostrophe,apostrophes +appaer,appear +appaered,appeared +appaers,appears appaluse,applause appar,appear apparant,apparent @@ -4988,6 +4992,7 @@ assualt,assault assualted,assaulted assualts,assaults assue,assume,assure +assued,assumed,assured assuembly,assembly assulated,assaulted assum,assume @@ -6562,6 +6567,7 @@ becoz,because bector,vector bectors,vectors becuaes,because +becuase,because becuasse,because becusae,because becuse,because @@ -6877,7 +6883,7 @@ betwween,between betwwen,between beuatiful,beautiful beuatifully,beautifully -beucase,becuase,because +beucase,because beuracracy,bureaucracy beuraucracy,bureaucracy beuraucratic,bureaucratic @@ -7801,11 +7807,13 @@ builded,built buildes,builders buildins,buildings buildning,building +buildnings,buildings buildpackge,buildpackage buildpackges,buildpackages builing,building builings,buildings buillt,built +builr,build buils,builds builter,builder builters,builders @@ -7830,6 +7838,7 @@ buittons,buttons bulagria,bulgaria buld,build bulding,building +buldning,building bulds,builds bulgaia,bulgaria bulgaira,bulgaria @@ -12211,6 +12220,7 @@ concatinate,concatenate concatinated,contaminated,concatenated concatination,contamination,concatenation concatinations,concatenations +concatincate,concatenate concating,concatenating concatonate,concatenate concatonated,concatenated @@ -13830,6 +13840,7 @@ contiunally,continually contiunation,continuation contiuning,containing contiunity,continuity +contnet,content contniue,continue contniued,continued contniues,continues @@ -14083,6 +14094,7 @@ convenietly,conveniently convenince,convenience conveninent,convenient convenion,convention +convenions,conventions convenit,convenient convense,convince convension,convention,conversion @@ -16288,6 +16300,7 @@ decryp,decrypt decryped,decrypted decryptation,decryption decrytion,decryption +decrytpion,decryption decscription,description decsend,descend decsendants,descendants @@ -17468,6 +17481,7 @@ desallocates,deallocates desaster,disaster descallocate,deallocate descallocated,deallocated +descandant,descendant descandants,descendants descchedules,deschedules desccription,description @@ -17919,6 +17933,9 @@ detault,default detaulted,defaulted detaulting,defaulting detaults,defaults +detceting,detecting +detcetion,detection +detcetions,detections detctable,detectable detction,detection detctions,detections @@ -20356,6 +20373,7 @@ drifitng,drifting driftig,drifting drinkes,drinkers drity,dirty +driveable,drivable driveing,driving driveris,drivers drivr,driver @@ -20642,7 +20660,7 @@ eazy,easy ebale,enable ebaled,enabled ebcidc,ebcdic -ebcuase,becuase +ebcuase,because ebedded,embedded eccessive,excessive ecclectic,eclectic @@ -20881,6 +20899,7 @@ eihter,either einfahc,einfach einstance,instance eisntance,instance +eitehr,either eiter,either eith,with eitquette,etiquette @@ -24417,6 +24436,7 @@ extedns,extends extemely,extremely exten,extent extenal,external +extenally,externally extendded,extended extendes,extends extendet,extended @@ -24711,7 +24731,7 @@ faild,failed failded,failed faile,failed,fail failer,failure -failes,fails +failes,fails,failed failicies,facilities failicy,facility failied,failed @@ -24992,6 +25012,7 @@ fedility,fidelity fedorahs,fedoras fedorans,fedoras fedreally,federally +fedreated,federated feeback,feedback feeded,fed feek,feel @@ -25466,6 +25487,7 @@ foler,folder folers,folders folfer,folder folfers,folders +follder,folder folled,followed foller,follower follers,followers @@ -26830,6 +26852,10 @@ georiga,georgia geraff,giraffe geraphics,graphics gerat,great +gerate,generate,gyrate +gerated,generated,gyrated +gerates,generates,gyrates +geration,generation gere,gear,here gereating,generating gerenate,generate @@ -28615,6 +28641,7 @@ hypertropy,hypertrophy hypervior,hypervisor hypethetical,hypothetical hypethetically,hypothetically +hypevisor,hypervisor hyphotesis,hypothesis hypnoss,hypnosis hypocracy,hypocrisy @@ -29278,6 +29305,7 @@ implcit,implicit implcitly,implicitly implct,implicit implecations,implications +impleiment,implement implemantation,implementation implemataion,implementation implemataions,implementations @@ -29472,6 +29500,7 @@ imporsts,imports importamt,important importanly,importantly importantce,importance +importantely,importantly importanty,importantly importas,imports importat,important @@ -31778,6 +31807,7 @@ intelligient,intelligent intelluctuals,intellectuals intemediary,intermediary intenal,internal +intenally,internally intenational,international intenationalism,internationalism intenationalist,internationalist @@ -32031,9 +32061,12 @@ interitance,inheritance interited,inherited interiting,inheriting interits,inherits +interleaed,interleaved interlectual,intellectual interlectually,intellectually interlectuals,intellectuals +interleiive,interleave +interleive,interleave interliveing,interleaving interlly,internally interm,interim,intern @@ -33380,6 +33413,7 @@ karoake,karaoke katastrophic,catastrophic katemine,ketamine kazakstan,kazakhstan +keeo,keep keept,kept keesh,quiche kenel,kernel,kennel @@ -36040,6 +36074,7 @@ messgaes,messages messge,message messges,messages messiach,messiah +messqage,message messsage,message messsages,messages messure,measure @@ -38199,6 +38234,7 @@ neglicting,neglecting negligable,negligible negligance,negligence negligble,negligible +negligeable,negligible negligeble,negligible negligente,negligence negligiable,negligible @@ -39598,6 +39634,7 @@ ofcoure,ofcourse ofcoures,ofcourse ofcousre,ofcourse ofcrouse,ofcourse +offaet,offset offcers,officers offcial,official offcially,officially @@ -39987,6 +40024,7 @@ opinyons,opinions opion,option opional,optional opionally,optionally +opionated,opinionated opions,options opitcal,optical opitional,optional @@ -43802,6 +43840,7 @@ pount,point,pound pounts,points poupular,popular poverful,powerful +povided,provided powderade,powdered powderd,powdered poweful,powerful @@ -44193,6 +44232,7 @@ preinitalize,preinitialize preinitalized,preinitialized preinitalizes,preinitializes preinitalizing,preinitializing +preinted,printed preiod,period preiodic,periodic preipheral,peripheral @@ -44801,6 +44841,7 @@ probabilite,probabilities probabilites,probabilities probabiliy,probability probabillity,probability +probabilties,probabilities probabilty,probability probabily,probability,probably probablay,probably @@ -47764,6 +47805,7 @@ registrato,registration registred,registered registrer,register registrers,registers +registres,registries,registers registring,registering registrs,registers registser,register @@ -48400,7 +48442,9 @@ rendired,rendered rendirer,renderer rendirers,renderers rendiring,rendering +renditioon,rendition rendring,rendering +rendtion,rendition reneagde,renegade renedered,rende,rendered renegae,renegade @@ -51295,8 +51339,10 @@ segement,segment segementation,segmentation segemented,segmented segements,segments +segemnet,segment segemnt,segment segemntation,segmentation +segemnted,segmented segemnts,segments segergation,segregation segfualt,segfault @@ -51737,6 +51783,7 @@ seqeuental,sequential seqeunce,sequence seqeuncer,sequencer seqeuntials,sequentials +sequantial,sequential sequcne,sequence sequece,sequence sequecence,sequence @@ -54406,6 +54453,7 @@ stadnardization,standardization stadnardized,standardized stadnardizing,standardizing stadnards,standards +stads,stats,stands staduim,stadium staduims,stadiums stae,state @@ -54567,6 +54615,7 @@ statiskt,statist statistacally,statistically statistc,statistic statistcal,statistical +statistct,statistic,statistics statisticaly,statistically statistices,statistics statisticly,statistical @@ -55639,7 +55688,7 @@ sudmobules,submodules sudnerland,sunderland sudu,sudo sueful,useful -suefull,usefull +suefull,useful sueprset,superset suface,surface sufaces,surfaces @@ -57230,6 +57279,7 @@ teraform,terraform teraformed,terraformed teraforming,terraforming teraforms,terraforms +tere,there,here terfform,terraform terfformed,terraformed terfforming,terraforming @@ -57559,6 +57609,7 @@ theroists,theorists theromdynamics,thermodynamics theromstat,thermostat therough,through,thorough +thershold,threshold therstat,thermostat therwise,otherwise thes,this,these,the @@ -57799,6 +57850,8 @@ thumbnailers,thumbnails thumbnal,thumbnails,thumbnail thumbnals,thumbnails thumbnial,thumbnail +thumnail,thumbnail +thumnails,thumbnails thunberbolt,thunderbolt thundebird,thunderbird thunderblot,thunderbolt @@ -58346,6 +58399,7 @@ transational,transitional transations,transitions,transactions,translations transcation,transaction transcations,transactions +transcdig,transcoding transcendance,transcendence transcendant,transcendent transcendentational,transcendental @@ -58749,6 +58803,7 @@ traslucency,translucency trasmission,transmission trasmit,transmit trasnaction,transaction +trasncoding,transcoding trasncript,transcript trasncripts,transcripts trasnfer,transfer @@ -58846,6 +58901,7 @@ travesy,travesty travles,travels tre,tree treadet,treated,threaded,treaded +treaeted,treated treak,treat,tweak treasue,treasure treasuers,treasures @@ -59336,7 +59392,7 @@ ues,use,yes uesd,used ueses,uses uesful,useful -uesfull,usefull,useful +uesfull,useful uesfulness,usefulness uesless,useless ueslessness,uselessness @@ -59947,6 +60003,7 @@ unecesary,unnecessary unecessarily,unnecessarily unecessary,unnecessary unechecked,unchecked +unecrypted,unencrypted unedcuated,uneducated unedicated,uneducated uneeded,unneeded,unheeded,needed @@ -60289,6 +60346,7 @@ unknouwn,unknown unknowingy,unknowingly unknowinlgy,unknowingly unknowinly,unknowingly +unknowningly,unknowingly unknwn,unknown unknwns,unknowns unknwoing,unknowing @@ -61040,6 +61098,7 @@ useed,used usees,uses usefl,useful usefule,useful +usefull,useful usefullness,usefulness usefult,useful usefulu,useful @@ -61079,6 +61138,7 @@ usptart,upstart usptarts,upstarts ussage,usage usseful,useful +usses,uses ussual,usual ussuall,usual ussually,usually @@ -61549,6 +61609,7 @@ verbaly,verbally verbatium,verbatim verbatum,verbatim verboase,verbose +verboce,verbose verbode,verbose verbous,verbose verbouse,verbose @@ -62051,6 +62112,7 @@ voif,void voilates,violates voilating,violating voilation,violation +voilations,violations voilently,violently volatage,voltage volatages,voltages diff --git a/crates/typos-dict/src/word_codegen.rs b/crates/typos-dict/src/word_codegen.rs index cfcc33743..2691efe23 100644 --- a/crates/typos-dict/src/word_codegen.rs +++ b/crates/typos-dict/src/word_codegen.rs @@ -4633,6 +4633,7 @@ pub static WORD_VOI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("lates"), dictgen::InsensitiveStr::Ascii("lating"), dictgen::InsensitiveStr::Ascii("lation"), + dictgen::InsensitiveStr::Ascii("lations"), dictgen::InsensitiveStr::Ascii("lently"), ], values: &[ @@ -4641,9 +4642,10 @@ pub static WORD_VOI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["violates"], &["violating"], &["violation"], + &["violations"], &["violently"], ], - range: 1..=6, + range: 1..=7, }; static WORD_VOC_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -6269,6 +6271,7 @@ pub static WORD_VERB_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("atium"), dictgen::InsensitiveStr::Ascii("atum"), dictgen::InsensitiveStr::Ascii("oase"), + dictgen::InsensitiveStr::Ascii("oce"), dictgen::InsensitiveStr::Ascii("ode"), dictgen::InsensitiveStr::Ascii("ous"), dictgen::InsensitiveStr::Ascii("ouse"), @@ -6285,6 +6288,7 @@ pub static WORD_VERB_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["verbose"], &["verbose"], &["verbose"], + &["verbose"], &["verbosely"], &["verbose"], ], @@ -7922,6 +7926,7 @@ pub static WORD_USS_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict keys: &[ dictgen::InsensitiveStr::Ascii("age"), dictgen::InsensitiveStr::Ascii("eful"), + dictgen::InsensitiveStr::Ascii("es"), dictgen::InsensitiveStr::Ascii("ual"), dictgen::InsensitiveStr::Ascii("uall"), dictgen::InsensitiveStr::Ascii("ually"), @@ -7929,11 +7934,12 @@ pub static WORD_USS_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict values: &[ &["usage"], &["useful"], + &["uses"], &["usual"], &["usual"], &["usually"], ], - range: 3..=5, + range: 2..=5, }; static WORD_USP_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -8015,6 +8021,7 @@ pub static WORD_USE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("es"), dictgen::InsensitiveStr::Ascii("fl"), dictgen::InsensitiveStr::Ascii("fule"), + dictgen::InsensitiveStr::Ascii("full"), dictgen::InsensitiveStr::Ascii("fullness"), dictgen::InsensitiveStr::Ascii("fult"), dictgen::InsensitiveStr::Ascii("fulu"), @@ -8046,6 +8053,7 @@ pub static WORD_USE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["uses"], &["useful"], &["useful"], + &["useful"], &["usefulness"], &["useful"], &["useful"], @@ -10458,6 +10466,7 @@ pub static WORD_UNK_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("nowingy"), dictgen::InsensitiveStr::Ascii("nowinlgy"), dictgen::InsensitiveStr::Ascii("nowinly"), + dictgen::InsensitiveStr::Ascii("nowningly"), dictgen::InsensitiveStr::Ascii("nwn"), dictgen::InsensitiveStr::Ascii("nwns"), dictgen::InsensitiveStr::Ascii("nwoing"), @@ -10484,6 +10493,7 @@ pub static WORD_UNK_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["unknowingly"], &["unknowingly"], &["unknowingly"], + &["unknowingly"], &["unknown"], &["unknowns"], &["unknowing"], @@ -10500,7 +10510,7 @@ pub static WORD_UNK_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["unknowns"], &["unknown"], ], - range: 3..=8, + range: 3..=9, }; static WORD_UNJ_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -11654,6 +11664,7 @@ pub static WORD_UNEC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("essarily"), dictgen::InsensitiveStr::Ascii("essary"), dictgen::InsensitiveStr::Ascii("hecked"), + dictgen::InsensitiveStr::Ascii("rypted"), ], values: &[ &["unnecessary"], @@ -11663,6 +11674,7 @@ pub static WORD_UNEC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["unnecessarily"], &["unnecessary"], &["unchecked"], + &["unencrypted"], ], range: 5..=9, }; @@ -13963,7 +13975,7 @@ pub static WORD_UE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictg &["used"], &["uses"], &["useful"], - &["usefull", "useful"], + &["useful"], &["usefulness"], &["useless"], &["uselessness"], @@ -15551,6 +15563,7 @@ static WORD_TRE_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen:: pub static WORD_TRE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ dictgen::InsensitiveStr::Ascii("adet"), + dictgen::InsensitiveStr::Ascii("aeted"), dictgen::InsensitiveStr::Ascii("ak"), dictgen::InsensitiveStr::Ascii("asue"), dictgen::InsensitiveStr::Ascii("asuers"), @@ -15600,6 +15613,7 @@ pub static WORD_TRE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict ], values: &[ &["treated", "threaded", "treaded"], + &["treated"], &["treat", "tweak"], &["treasure"], &["treasures"], @@ -15889,6 +15903,7 @@ static WORD_TRASN_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen pub static WORD_TRASN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ dictgen::InsensitiveStr::Ascii("action"), + dictgen::InsensitiveStr::Ascii("coding"), dictgen::InsensitiveStr::Ascii("cript"), dictgen::InsensitiveStr::Ascii("cripts"), dictgen::InsensitiveStr::Ascii("fer"), @@ -15928,6 +15943,7 @@ pub static WORD_TRASN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di ], values: &[ &["transaction"], + &["transcoding"], &["transcript"], &["transcripts"], &["transfer"], @@ -17139,6 +17155,7 @@ pub static WORD_TRANSC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = d keys: &[ dictgen::InsensitiveStr::Ascii("ation"), dictgen::InsensitiveStr::Ascii("ations"), + dictgen::InsensitiveStr::Ascii("dig"), dictgen::InsensitiveStr::Ascii("endance"), dictgen::InsensitiveStr::Ascii("endant"), dictgen::InsensitiveStr::Ascii("endentational"), @@ -17191,6 +17208,7 @@ pub static WORD_TRANSC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = d values: &[ &["transaction"], &["transactions"], + &["transcoding"], &["transcendence"], &["transcendent"], &["transcendental"], @@ -19096,6 +19114,8 @@ pub static WORD_THU_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("mbnal"), dictgen::InsensitiveStr::Ascii("mbnals"), dictgen::InsensitiveStr::Ascii("mbnial"), + dictgen::InsensitiveStr::Ascii("mnail"), + dictgen::InsensitiveStr::Ascii("mnails"), dictgen::InsensitiveStr::Ascii("nberbolt"), dictgen::InsensitiveStr::Ascii("ndebird"), dictgen::InsensitiveStr::Ascii("nderblot"), @@ -19129,6 +19149,8 @@ pub static WORD_THU_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["thumbnails", "thumbnail"], &["thumbnails"], &["thumbnail"], + &["thumbnail"], + &["thumbnails"], &["thunderbolt"], &["thunderbird"], &["thunderbolt"], @@ -19960,9 +19982,12 @@ static WORD_THERS_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen }; pub static WORD_THERS_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { - keys: &[dictgen::InsensitiveStr::Ascii("tat")], - values: &[&["thermostat"]], - range: 3..=3, + keys: &[ + dictgen::InsensitiveStr::Ascii("hold"), + dictgen::InsensitiveStr::Ascii("tat"), + ], + values: &[&["threshold"], &["thermostat"]], + range: 3..=4, }; static WORD_THERO_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -20672,7 +20697,7 @@ static WORD_TER_CHILDREN: [Option<&dictgen::DictTrieNode<&'static [&'static str] None, None, None, - None, + Some(&WORD_TERE_NODE), Some(&WORD_TERF_NODE), None, None, @@ -21024,6 +21049,17 @@ pub static WORD_TERF_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic range: 4..=7, }; +static WORD_TERE_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { + children: dictgen::DictTrieChild::Flat(&WORD_TERE_CHILDREN), + value: Some(&["there", "here"]), +}; + +pub static WORD_TERE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { + keys: &[], + values: &[], + range: 0..=0, +}; + static WORD_TERA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { children: dictgen::DictTrieChild::Flat(&WORD_TERA_CHILDREN), value: None, @@ -26508,7 +26544,7 @@ pub static WORD_SUE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("full"), dictgen::InsensitiveStr::Ascii("prset"), ], - values: &[&["useful"], &["usefull"], &["superset"]], + values: &[&["useful"], &["useful"], &["superset"]], range: 3..=5, }; @@ -30072,6 +30108,7 @@ pub static WORD_STATI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di dictgen::InsensitiveStr::Ascii("stacally"), dictgen::InsensitiveStr::Ascii("stc"), dictgen::InsensitiveStr::Ascii("stcal"), + dictgen::InsensitiveStr::Ascii("stct"), dictgen::InsensitiveStr::Ascii("sticaly"), dictgen::InsensitiveStr::Ascii("stices"), dictgen::InsensitiveStr::Ascii("sticly"), @@ -30105,6 +30142,7 @@ pub static WORD_STATI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di &["statistically"], &["statistic"], &["statistical"], + &["statistic", "statistics"], &["statistically"], &["statistics"], &["statistical"], @@ -30536,6 +30574,7 @@ pub static WORD_STAD_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("nardized"), dictgen::InsensitiveStr::Ascii("nardizing"), dictgen::InsensitiveStr::Ascii("nards"), + dictgen::InsensitiveStr::Ascii("s"), dictgen::InsensitiveStr::Ascii("uim"), dictgen::InsensitiveStr::Ascii("uims"), ], @@ -30550,10 +30589,11 @@ pub static WORD_STAD_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["standardized"], &["standardizing"], &["standards"], + &["stats", "stands"], &["stadium"], &["stadiums"], ], - range: 3..=11, + range: 1..=11, }; static WORD_STAC_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -39138,6 +39178,7 @@ pub static WORD_SEQ_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("eunce"), dictgen::InsensitiveStr::Ascii("euncer"), dictgen::InsensitiveStr::Ascii("euntials"), + dictgen::InsensitiveStr::Ascii("uantial"), dictgen::InsensitiveStr::Ascii("ucne"), dictgen::InsensitiveStr::Ascii("uece"), dictgen::InsensitiveStr::Ascii("uecence"), @@ -39185,6 +39226,7 @@ pub static WORD_SEQ_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["sequence"], &["sequencer"], &["sequentials"], + &["sequential"], &["sequence"], &["sequence"], &["sequence"], @@ -40466,8 +40508,10 @@ pub static WORD_SEG_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("ementation"), dictgen::InsensitiveStr::Ascii("emented"), dictgen::InsensitiveStr::Ascii("ements"), + dictgen::InsensitiveStr::Ascii("emnet"), dictgen::InsensitiveStr::Ascii("emnt"), dictgen::InsensitiveStr::Ascii("emntation"), + dictgen::InsensitiveStr::Ascii("emnted"), dictgen::InsensitiveStr::Ascii("emnts"), dictgen::InsensitiveStr::Ascii("ergation"), dictgen::InsensitiveStr::Ascii("fualt"), @@ -40515,7 +40559,9 @@ pub static WORD_SEG_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["segmented"], &["segments"], &["segment"], + &["segment"], &["segmentation"], + &["segmented"], &["segments"], &["segregation"], &["segfault"], @@ -50633,7 +50679,9 @@ pub static WORD_REND_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("irer"), dictgen::InsensitiveStr::Ascii("irers"), dictgen::InsensitiveStr::Ascii("iring"), + dictgen::InsensitiveStr::Ascii("itioon"), dictgen::InsensitiveStr::Ascii("ring"), + dictgen::InsensitiveStr::Ascii("tion"), ], values: &[ &["rendezvous"], @@ -50662,7 +50710,9 @@ pub static WORD_REND_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["renderer"], &["renderers"], &["rendering"], + &["rendition"], &["rendering"], + &["rendition"], ], range: 3..=8, }; @@ -52882,6 +52932,7 @@ pub static WORD_REGI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("stred"), dictgen::InsensitiveStr::Ascii("strer"), dictgen::InsensitiveStr::Ascii("strers"), + dictgen::InsensitiveStr::Ascii("stres"), dictgen::InsensitiveStr::Ascii("string"), dictgen::InsensitiveStr::Ascii("strs"), dictgen::InsensitiveStr::Ascii("stser"), @@ -52932,6 +52983,7 @@ pub static WORD_REGI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["registered"], &["register"], &["registers"], + &["registries", "registers"], &["registering"], &["registers"], &["register"], @@ -62364,6 +62416,7 @@ pub static WORD_PROB_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("abilites"), dictgen::InsensitiveStr::Ascii("abiliy"), dictgen::InsensitiveStr::Ascii("abillity"), + dictgen::InsensitiveStr::Ascii("abilties"), dictgen::InsensitiveStr::Ascii("abilty"), dictgen::InsensitiveStr::Ascii("abily"), dictgen::InsensitiveStr::Ascii("ablay"), @@ -62422,6 +62475,7 @@ pub static WORD_PROB_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["probabilities"], &["probability"], &["probability"], + &["probabilities"], &["probability"], &["probability", "probably"], &["probably"], @@ -64243,6 +64297,7 @@ pub static WORD_PREI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("nitalized"), dictgen::InsensitiveStr::Ascii("nitalizes"), dictgen::InsensitiveStr::Ascii("nitalizing"), + dictgen::InsensitiveStr::Ascii("nted"), dictgen::InsensitiveStr::Ascii("od"), dictgen::InsensitiveStr::Ascii("odic"), dictgen::InsensitiveStr::Ascii("pheral"), @@ -64265,6 +64320,7 @@ pub static WORD_PREI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["preinitialized"], &["preinitializes"], &["preinitializing"], + &["printed"], &["period"], &["periodic"], &["peripheral"], @@ -65562,9 +65618,12 @@ static WORD_POV_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen:: }; pub static WORD_POV_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { - keys: &[dictgen::InsensitiveStr::Ascii("erful")], - values: &[&["powerful"]], - range: 5..=5, + keys: &[ + dictgen::InsensitiveStr::Ascii("erful"), + dictgen::InsensitiveStr::Ascii("ided"), + ], + values: &[&["powerful"], &["provided"]], + range: 4..=5, }; static WORD_POU_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -78568,6 +78627,7 @@ pub static WORD_OPI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("on"), dictgen::InsensitiveStr::Ascii("onal"), dictgen::InsensitiveStr::Ascii("onally"), + dictgen::InsensitiveStr::Ascii("onated"), dictgen::InsensitiveStr::Ascii("ons"), dictgen::InsensitiveStr::Ascii("tcal"), dictgen::InsensitiveStr::Ascii("tional"), @@ -78597,6 +78657,7 @@ pub static WORD_OPI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["option"], &["optional"], &["optionally"], + &["opinionated"], &["options"], &["optical"], &["optional"], @@ -79548,7 +79609,7 @@ static WORD_OFF_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen:: }; static WORD_OFF_CHILDREN: [Option<&dictgen::DictTrieNode<&'static [&'static str]>>; 26] = [ - None, + Some(&WORD_OFFA_NODE), None, Some(&WORD_OFFC_NODE), None, @@ -79813,6 +79874,17 @@ pub static WORD_OFFC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic range: 3..=5, }; +static WORD_OFFA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { + children: dictgen::DictTrieChild::Flat(&WORD_OFFA_CHILDREN), + value: None, +}; + +pub static WORD_OFFA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { + keys: &[dictgen::InsensitiveStr::Ascii("et")], + values: &[&["offset"]], + range: 2..=2, +}; + static WORD_OFC_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { children: dictgen::DictTrieChild::Flat(&WORD_OFC_CHILDREN), value: None, @@ -84826,6 +84898,7 @@ pub static WORD_NEGL_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("igable"), dictgen::InsensitiveStr::Ascii("igance"), dictgen::InsensitiveStr::Ascii("igble"), + dictgen::InsensitiveStr::Ascii("igeable"), dictgen::InsensitiveStr::Ascii("igeble"), dictgen::InsensitiveStr::Ascii("igente"), dictgen::InsensitiveStr::Ascii("igiable"), @@ -84846,6 +84919,7 @@ pub static WORD_NEGL_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["negligence"], &["negligible"], &["negligible"], + &["negligible"], &["negligence"], &["negligible"], ], @@ -91771,6 +91845,7 @@ pub static WORD_MES_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("sge"), dictgen::InsensitiveStr::Ascii("sges"), dictgen::InsensitiveStr::Ascii("siach"), + dictgen::InsensitiveStr::Ascii("sqage"), dictgen::InsensitiveStr::Ascii("ssage"), dictgen::InsensitiveStr::Ascii("ssages"), dictgen::InsensitiveStr::Ascii("sure"), @@ -91821,6 +91896,7 @@ pub static WORD_MES_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["messages"], &["messiah"], &["message"], + &["message"], &["messages"], &["measure"], &["measured"], @@ -100404,11 +100480,12 @@ static WORD_KEE_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen:: pub static WORD_KEE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ + dictgen::InsensitiveStr::Ascii("o"), dictgen::InsensitiveStr::Ascii("pt"), dictgen::InsensitiveStr::Ascii("sh"), ], - values: &[&["kept"], &["quiche"]], - range: 2..=2, + values: &[&["keep"], &["kept"], &["quiche"]], + range: 1..=2, }; static WORD_KA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -104834,16 +104911,22 @@ static WORD_INTERL_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictge pub static WORD_INTERL_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ + dictgen::InsensitiveStr::Ascii("eaed"), dictgen::InsensitiveStr::Ascii("ectual"), dictgen::InsensitiveStr::Ascii("ectually"), dictgen::InsensitiveStr::Ascii("ectuals"), + dictgen::InsensitiveStr::Ascii("eiive"), + dictgen::InsensitiveStr::Ascii("eive"), dictgen::InsensitiveStr::Ascii("iveing"), dictgen::InsensitiveStr::Ascii("ly"), ], values: &[ + &["interleaved"], &["intellectual"], &["intellectually"], &["intellectuals"], + &["interleave"], + &["interleave"], &["interleaving"], &["internally"], ], @@ -105583,6 +105666,7 @@ static WORD_INTEN_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen pub static WORD_INTEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ dictgen::InsensitiveStr::Ascii("al"), + dictgen::InsensitiveStr::Ascii("ally"), dictgen::InsensitiveStr::Ascii("ational"), dictgen::InsensitiveStr::Ascii("ationalism"), dictgen::InsensitiveStr::Ascii("ationalist"), @@ -105614,6 +105698,7 @@ pub static WORD_INTEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di ], values: &[ &["internal"], + &["internally"], &["international"], &["internationalism"], &["internationalist"], @@ -113150,6 +113235,7 @@ pub static WORD_IMPOR_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di dictgen::InsensitiveStr::Ascii("tamt"), dictgen::InsensitiveStr::Ascii("tanly"), dictgen::InsensitiveStr::Ascii("tantce"), + dictgen::InsensitiveStr::Ascii("tantely"), dictgen::InsensitiveStr::Ascii("tanty"), dictgen::InsensitiveStr::Ascii("tas"), dictgen::InsensitiveStr::Ascii("tat"), @@ -113192,6 +113278,7 @@ pub static WORD_IMPOR_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di &["importantly"], &["importance"], &["importantly"], + &["importantly"], &["imports"], &["important"], &["imported"], @@ -113427,7 +113514,7 @@ static WORD_IMPLE_CHILDREN: [Option<&dictgen::DictTrieNode<&'static [&'static st None, None, None, - None, + Some(&WORD_IMPLEI_NODE), None, None, None, @@ -113951,6 +114038,17 @@ pub static WORD_IMPLEMA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = range: 5..=7, }; +static WORD_IMPLEI_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { + children: dictgen::DictTrieChild::Flat(&WORD_IMPLEI_CHILDREN), + value: None, +}; + +pub static WORD_IMPLEI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { + keys: &[dictgen::InsensitiveStr::Ascii("ment")], + values: &[&["implement"]], + range: 4..=4, +}; + static WORD_IMPLEC_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { children: dictgen::DictTrieChild::Flat(&WORD_IMPLEC_CHILDREN), value: None, @@ -116431,6 +116529,7 @@ pub static WORD_HYPE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("rvior"), dictgen::InsensitiveStr::Ascii("thetical"), dictgen::InsensitiveStr::Ascii("thetically"), + dictgen::InsensitiveStr::Ascii("visor"), ], values: &[ &["hyphen"], @@ -116458,6 +116557,7 @@ pub static WORD_HYPE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["hypervisor"], &["hypothetical"], &["hypothetically"], + &["hypervisor"], ], range: 1..=10, }; @@ -122581,6 +122681,10 @@ pub static WORD_GER_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("aff"), dictgen::InsensitiveStr::Ascii("aphics"), dictgen::InsensitiveStr::Ascii("at"), + dictgen::InsensitiveStr::Ascii("ate"), + dictgen::InsensitiveStr::Ascii("ated"), + dictgen::InsensitiveStr::Ascii("ates"), + dictgen::InsensitiveStr::Ascii("ation"), dictgen::InsensitiveStr::Ascii("e"), dictgen::InsensitiveStr::Ascii("eating"), dictgen::InsensitiveStr::Ascii("enate"), @@ -122619,6 +122723,10 @@ pub static WORD_GER_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["giraffe"], &["graphics"], &["great"], + &["generate", "gyrate"], + &["generated", "gyrated"], + &["generates", "gyrates"], + &["generation"], &["gear", "here"], &["generating"], &["generate"], @@ -126752,7 +126860,7 @@ static WORD_FOLL_CHILDREN: [Option<&dictgen::DictTrieNode<&'static [&'static str None, None, None, - None, + Some(&WORD_FOLLD_NODE), Some(&WORD_FOLLE_NODE), Some(&WORD_FOLLF_NODE), None, @@ -127132,6 +127240,17 @@ pub static WORD_FOLLE_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di range: 1..=5, }; +static WORD_FOLLD_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { + children: dictgen::DictTrieChild::Flat(&WORD_FOLLD_CHILDREN), + value: None, +}; + +pub static WORD_FOLLD_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { + keys: &[dictgen::InsensitiveStr::Ascii("er")], + values: &[&["folder"]], + range: 2..=2, +}; + static WORD_FOLF_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { children: dictgen::DictTrieChild::Flat(&WORD_FOLF_CHILDREN), value: None, @@ -128833,6 +128952,7 @@ pub static WORD_FED_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("orahs"), dictgen::InsensitiveStr::Ascii("orans"), dictgen::InsensitiveStr::Ascii("really"), + dictgen::InsensitiveStr::Ascii("reated"), ], values: &[ &["fidelity"], @@ -128842,6 +128962,7 @@ pub static WORD_FED_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["fedoras"], &["fedoras"], &["federally"], + &["federated"], ], range: 5..=7, }; @@ -129600,7 +129721,7 @@ pub static WORD_FAI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["failed"], &["failed", "fail"], &["failure"], - &["fails"], + &["fails", "failed"], &["facilities"], &["facility"], &["failed"], @@ -130589,6 +130710,7 @@ static WORD_EXTEN_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen pub static WORD_EXTEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ dictgen::InsensitiveStr::Ascii("al"), + dictgen::InsensitiveStr::Ascii("ally"), dictgen::InsensitiveStr::Ascii("dded"), dictgen::InsensitiveStr::Ascii("des"), dictgen::InsensitiveStr::Ascii("det"), @@ -130619,6 +130741,7 @@ pub static WORD_EXTEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di ], values: &[ &["external"], + &["externally"], &["extended"], &["extends"], &["extended"], @@ -141960,6 +142083,7 @@ pub static WORD_EI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictg dictgen::InsensitiveStr::Ascii("nfahc"), dictgen::InsensitiveStr::Ascii("nstance"), dictgen::InsensitiveStr::Ascii("sntance"), + dictgen::InsensitiveStr::Ascii("tehr"), dictgen::InsensitiveStr::Ascii("ter"), dictgen::InsensitiveStr::Ascii("th"), dictgen::InsensitiveStr::Ascii("tquette"), @@ -141977,6 +142101,7 @@ pub static WORD_EI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictg &["instance"], &["instance"], &["either"], + &["either"], &["with"], &["etiquette"], ], @@ -142596,7 +142721,7 @@ pub static WORD_EB_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictg &["enable"], &["enabled"], &["ebcdic"], - &["becuase"], + &["because"], &["embedded"], ], range: 3..=5, @@ -143696,6 +143821,7 @@ pub static WORD_DRI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("ftig"), dictgen::InsensitiveStr::Ascii("nkes"), dictgen::InsensitiveStr::Ascii("ty"), + dictgen::InsensitiveStr::Ascii("veable"), dictgen::InsensitiveStr::Ascii("veing"), dictgen::InsensitiveStr::Ascii("veris"), dictgen::InsensitiveStr::Ascii("vr"), @@ -143716,6 +143842,7 @@ pub static WORD_DRI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["drifting"], &["drinkers"], &["dirty"], + &["drivable"], &["driving"], &["drivers"], &["driver"], @@ -152147,12 +152274,22 @@ static WORD_DETC_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen: pub static WORD_DETC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ + dictgen::InsensitiveStr::Ascii("eting"), + dictgen::InsensitiveStr::Ascii("etion"), + dictgen::InsensitiveStr::Ascii("etions"), dictgen::InsensitiveStr::Ascii("table"), dictgen::InsensitiveStr::Ascii("tion"), dictgen::InsensitiveStr::Ascii("tions"), ], - values: &[&["detectable"], &["detection"], &["detections"]], - range: 4..=5, + values: &[ + &["detecting"], + &["detection"], + &["detections"], + &["detectable"], + &["detection"], + &["detections"], + ], + range: 4..=6, }; static WORD_DETA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -153738,10 +153875,16 @@ pub static WORD_DESCA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di keys: &[ dictgen::InsensitiveStr::Ascii("llocate"), dictgen::InsensitiveStr::Ascii("llocated"), + dictgen::InsensitiveStr::Ascii("ndant"), dictgen::InsensitiveStr::Ascii("ndants"), ], - values: &[&["deallocate"], &["deallocated"], &["descendants"]], - range: 6..=8, + values: &[ + &["deallocate"], + &["deallocated"], + &["descendant"], + &["descendants"], + ], + range: 5..=8, }; static WORD_DESA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen::DictTrieNode { @@ -157742,6 +157885,7 @@ pub static WORD_DECR_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("yped"), dictgen::InsensitiveStr::Ascii("yptation"), dictgen::InsensitiveStr::Ascii("ytion"), + dictgen::InsensitiveStr::Ascii("ytpion"), ], values: &[ &["decreasing", "deceasing"], @@ -157787,6 +157931,7 @@ pub static WORD_DECR_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["decrypted"], &["decryption"], &["decryption"], + &["decryption"], ], range: 2..=9, }; @@ -165423,6 +165568,7 @@ pub static WORD_CONVEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = d dictgen::InsensitiveStr::Ascii("ince"), dictgen::InsensitiveStr::Ascii("inent"), dictgen::InsensitiveStr::Ascii("ion"), + dictgen::InsensitiveStr::Ascii("ions"), dictgen::InsensitiveStr::Ascii("it"), dictgen::InsensitiveStr::Ascii("se"), dictgen::InsensitiveStr::Ascii("sion"), @@ -165453,6 +165599,7 @@ pub static WORD_CONVEN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = d &["convenience"], &["convenient"], &["convention"], + &["conventions"], &["convenient"], &["convince"], &["convention", "conversion"], @@ -166230,12 +166377,19 @@ static WORD_CONTN_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen pub static WORD_CONTN_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ + dictgen::InsensitiveStr::Ascii("et"), dictgen::InsensitiveStr::Ascii("iue"), dictgen::InsensitiveStr::Ascii("iued"), dictgen::InsensitiveStr::Ascii("iues"), dictgen::InsensitiveStr::Ascii("t"), ], - values: &[&["continue"], &["continued"], &["continues"], &["content"]], + values: &[ + &["content"], + &["continue"], + &["continued"], + &["continues"], + &["content"], + ], range: 1..=4, }; @@ -171891,6 +172045,7 @@ pub static WORD_CONCA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di dictgen::InsensitiveStr::Ascii("tinated"), dictgen::InsensitiveStr::Ascii("tination"), dictgen::InsensitiveStr::Ascii("tinations"), + dictgen::InsensitiveStr::Ascii("tincate"), dictgen::InsensitiveStr::Ascii("ting"), dictgen::InsensitiveStr::Ascii("tonate"), dictgen::InsensitiveStr::Ascii("tonated"), @@ -171915,6 +172070,7 @@ pub static WORD_CONCA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = di &["contaminated", "concatenated"], &["contamination", "concatenation"], &["concatenations"], + &["concatenate"], &["concatenating"], &["concatenate"], &["concatenated"], @@ -185828,6 +185984,7 @@ pub static WORD_BUL_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("agria"), dictgen::InsensitiveStr::Ascii("d"), dictgen::InsensitiveStr::Ascii("ding"), + dictgen::InsensitiveStr::Ascii("dning"), dictgen::InsensitiveStr::Ascii("ds"), dictgen::InsensitiveStr::Ascii("gaia"), dictgen::InsensitiveStr::Ascii("gaira"), @@ -185865,6 +186022,7 @@ pub static WORD_BUL_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["bulgaria"], &["build"], &["building"], + &["building"], &["builds"], &["bulgaria"], &["bulgaria"], @@ -185925,11 +186083,13 @@ pub static WORD_BUI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("ldes"), dictgen::InsensitiveStr::Ascii("ldins"), dictgen::InsensitiveStr::Ascii("ldning"), + dictgen::InsensitiveStr::Ascii("ldnings"), dictgen::InsensitiveStr::Ascii("ldpackge"), dictgen::InsensitiveStr::Ascii("ldpackges"), dictgen::InsensitiveStr::Ascii("ling"), dictgen::InsensitiveStr::Ascii("lings"), dictgen::InsensitiveStr::Ascii("llt"), + dictgen::InsensitiveStr::Ascii("lr"), dictgen::InsensitiveStr::Ascii("ls"), dictgen::InsensitiveStr::Ascii("lter"), dictgen::InsensitiveStr::Ascii("lters"), @@ -185970,11 +186130,13 @@ pub static WORD_BUI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["builders"], &["buildings"], &["building"], + &["buildings"], &["buildpackage"], &["buildpackages"], &["building"], &["buildings"], &["built"], + &["build"], &["builds"], &["builder"], &["builders"], @@ -189337,7 +189499,7 @@ pub static WORD_BEU_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict values: &[ &["beautiful"], &["beautifully"], - &["becuase", "because"], + &["because"], &["bureaucracy"], &["bureaucracy"], &["bureaucratic"], @@ -190406,6 +190568,7 @@ pub static WORD_BEC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("tor"), dictgen::InsensitiveStr::Ascii("tors"), dictgen::InsensitiveStr::Ascii("uaes"), + dictgen::InsensitiveStr::Ascii("uase"), dictgen::InsensitiveStr::Ascii("uasse"), dictgen::InsensitiveStr::Ascii("usae"), dictgen::InsensitiveStr::Ascii("use"), @@ -190454,6 +190617,7 @@ pub static WORD_BEC_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["because"], &["because"], &["because"], + &["because"], ], range: 2..=8, }; @@ -195741,6 +195905,7 @@ pub static WORD_ASSU_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("alted"), dictgen::InsensitiveStr::Ascii("alts"), dictgen::InsensitiveStr::Ascii("e"), + dictgen::InsensitiveStr::Ascii("ed"), dictgen::InsensitiveStr::Ascii("embly"), dictgen::InsensitiveStr::Ascii("lated"), dictgen::InsensitiveStr::Ascii("m"), @@ -195796,6 +195961,7 @@ pub static WORD_ASSU_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic &["assaulted"], &["assaults"], &["assume", "assure"], + &["assumed", "assured"], &["assembly"], &["assaulted"], &["assume"], @@ -200239,6 +200405,9 @@ static WORD_APPA_NODE: dictgen::DictTrieNode<&'static [&'static str]> = dictgen: pub static WORD_APPA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dictgen::DictTable { keys: &[ + dictgen::InsensitiveStr::Ascii("er"), + dictgen::InsensitiveStr::Ascii("ered"), + dictgen::InsensitiveStr::Ascii("ers"), dictgen::InsensitiveStr::Ascii("luse"), dictgen::InsensitiveStr::Ascii("r"), dictgen::InsensitiveStr::Ascii("rant"), @@ -200265,6 +200434,9 @@ pub static WORD_APPA_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dic dictgen::InsensitiveStr::Ascii("tures"), ], values: &[ + &["appear"], + &["appeared"], + &["appears"], &["applause"], &["appear"], &["apparent"], @@ -204684,7 +204856,7 @@ pub static WORD_ALI_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["aluminium"], &["aline", "along", "ailing", "sling"], &["alined"], - &["alining"], + &["aligning"], &["alinement"], &["alines", "slings"], &["alignment"], @@ -206268,6 +206440,7 @@ pub static WORD_AGG_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict dictgen::InsensitiveStr::Ascii("reement"), dictgen::InsensitiveStr::Ascii("regatet"), dictgen::InsensitiveStr::Ascii("regatore"), + dictgen::InsensitiveStr::Ascii("regatted"), dictgen::InsensitiveStr::Ascii("regetor"), dictgen::InsensitiveStr::Ascii("reggate"), dictgen::InsensitiveStr::Ascii("regious"), @@ -206314,6 +206487,7 @@ pub static WORD_AGG_CHILDREN: dictgen::DictTable<&'static [&'static str]> = dict &["agreement"], &["aggregated"], &["aggregate"], + &["aggregated"], &["aggregator"], &["aggregate"], &["egregious"], diff --git a/crates/typos-dict/tests/verify.rs b/crates/typos-dict/tests/verify.rs index c40476888..b661c5fcd 100644 --- a/crates/typos-dict/tests/verify.rs +++ b/crates/typos-dict/tests/verify.rs @@ -224,6 +224,13 @@ fn find_best_match<'c>( word_variants: &HashSet<&'static str>, ) -> Option<&'c str> { assert!(!word_variants.contains(correction)); + match (typo, correction) { + // Picking the worst option due to a letter swap being an edit distance of two + ("alinging", "aligning") => { + return None; + } + _ => {} + } let current = edit_distance::edit_distance(typo, correction); let mut matches: Vec<_> = word_variants .iter()