Index: gc_core/js/lang_core/gc_engine.js ================================================================== --- gc_core/js/lang_core/gc_engine.js +++ gc_core/js/lang_core/gc_engine.js @@ -822,11 +822,11 @@ lSugg = []; } else { lSugg = this._expand(sSugg, nTokenOffset, nLastToken).split("|"); } if (bCaseSvty && lSugg.length > 0 && this.lToken[iFirstToken]["sValue"].slice(0,1).gl_isUpperCase()) { - lSugg = (this.lToken[iFirstToken]["sValue"].gl_isUpperCase()) ? lSugg.map((s) => s.toUpperCase()) : capitalizeArray(lSugg); + lSugg = (this.sSentence.slice(nStart, nEnd).gl_isUpperCase()) ? lSugg.map((s) => s.toUpperCase()) : capitalizeArray(lSugg); } // Message let sMessage = (sMsg.startsWith("=")) ? oEvalFunc[sMsg.slice(1)](this.lToken, nTokenOffset, nLastToken) : this._expand(sMsg, nTokenOffset, nLastToken); if (bShowRuleId) { sMessage += " #" + sLineId + " / " + sRuleId; Index: gc_core/py/lang_core/gc_engine.py ================================================================== --- gc_core/py/lang_core/gc_engine.py +++ gc_core/py/lang_core/gc_engine.py @@ -703,11 +703,11 @@ elif sSugg == "_": lSugg = [] else: lSugg = self._expand(sSugg, nTokenOffset, nLastToken).split("|") if bCaseSvty and lSugg and self.lToken[iFirstToken]["sValue"][0:1].isupper(): - lSugg = list(map(lambda s: s.upper(), lSugg)) if self.lToken[iFirstToken]["sValue"].isupper() else list(map(lambda s: s[0:1].upper()+s[1:], lSugg)) + lSugg = list(map(lambda s: s.upper(), lSugg)) if self.sSentence[nStart:nEnd].isupper() else list(map(lambda s: s[0:1].upper()+s[1:], lSugg)) # Message sMessage = globals()[sMsg[1:]](self.lToken, nTokenOffset, nLastToken) if sMsg[0:1] == "=" else self._expand(sMsg, nTokenOffset, nLastToken) if bShowRuleId: sMessage += " #" + sLineId + " / " + sRuleId # Index: gc_lang/fr/data/phonet_simil.txt ================================================================== --- gc_lang/fr/data/phonet_simil.txt +++ gc_lang/fr/data/phonet_simil.txt @@ -809,10 +809,11 @@ taie taies tes thé thés tais tait tain teint teints thym thyms tin tins tint teins taira tairas terra terras taire ter terre terres terrent taise taises taisent thèse thèses +tandis tendis tendit tendît tant temps tends tend taon taons tante tantes tente tentes tentent tapir tapirs tapirent tapis tapit tapît tare tares tard Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -2117,10 +2117,21 @@ __da_couleurs_invariables__ *WORD [abricot|acajou|amarante|anthracite|aubergine|brique|caca|café|cannelle|caramel|carmin|carotte|cerise|châtaigne|chocolat|citron|corail|crème|fuchsia|groseille|havane|jonquille|marron|mastic|nacarat|ocre|olive|paille|parme|pastel|pervenche|pie|prune|sable|tabac|vermillon] <<- morph(\1, ":(D.*:p|B)") =>> exclude(\2, ":A:e:i") +__da_noms_propres__ + Concorde + <<- not morph(<1, ":D.*:f") =>> add_morph(\1, ">Concorde/:MP:m:i") + + Mustang + <<- not morph(<1, ":D.*:m") =>> add_morph(\1, ">Mustang/:MP:f:i") + +TEST: le crash du Concorde +TEST: elle a acheté une Mustang + + !!! !!! !!! Étiquettes !! !!! @@ -4340,10 +4351,11 @@ TEST: Il ne connaît pas {{grand chose}} à tout ça. TEST: {{ici bas}}, n’attends rien de bon, à moins que… TEST: {{jusque là}}, tout va bien TEST: {{Là bas}}. ->> Là-bas TEST: elle viendra, {{n’est ce pas}} ? +TEST: {{N’est ce pas}} ->> N’est-ce pas TEST: seulement par {{ouï dire}}. TEST: {{par derrière}} la maison TEST: Tout ce que nous faisons {{par ci, par là}}. TEST: {{par dessus}} ->> par-dessus TEST: Que vas-tu faire {{vis à vis}} d’eux ->> vis-à-vis @@ -9000,10 +9012,24 @@ TEST: {{emballer c’est peser}} TEST: Tu peux emballer, c’est pesé. TEST: il faut emballer, c’est pesé TEST: c’est emballé, c’est pesé. + +# entrée / entrer +__conf_entrée__ + [l’|cet|mon|ton|son|notre|votre|leur|chaque|quel] entré + <<- /conf/ --1>> entrée && Confusion. Écrivez “entrée” pour évoquer l’arrivée ou le passage par lequel on entre. + + [les|des|des|ces|mes|tes|ses|nos|vos|leurs|quels|quelques|plusieurs] entrés + <<- /conf/ --1>> entrées && Confusion. Écrivez “allers” pour évoquer un voyage. Écrivez “allées” pour évoquer une voie de passage. + +TEST: à l’{{entré}} en guerre ->> entrée +TEST: Des {{entrés}} ->> entrées +TEST: à l’{{entré}} de la grotte ->> entrée +TEST: les entrées sont toutes verrouillées + # et / est __conf_et_est1__ entre $:M est $:M <<- /conf/ -3>> et && Entre \2 et \4, il faut la conjonction de coordination “et”… @@ -11319,10 +11345,20 @@ TEST: Elle l’a observé par un miroir sans {{teint}}. TEST: Elle a acheté un nouveau fond de {{tain}}. +# tandis que +__conf_tandis_que__ + tendis [que|qu’] + <<- /conf/ not value(<1, "|je|tu|il|elle|iel|on|ne|n’|le|la|les|l’|me|m’|te|t’|se|s’|") + ->> tandis \2 && Confusion probable. Écrivez “tandis que” s’il s’agit bien de la locution conjonctive exprimant concomitance ou opposition.|https://fr.wiktionary.org/wiki/tandis_que + +TEST: mais {{tendis que}} le policier examinait nos papiers ->> tandis que + + +# taule / tôle __conf_taule_tôle1__ [>taule] [de|d’|en] [>acier|>alu|>aluminium|>bardage|>cuivre|>étanchéité|>fer|>festonnage|inox|>laiton|>métal|>trapèze|>zinc|>éverite|>fibrociment|>fibro-ciment|>plastique|>polycarbonate|PVC] <<- /conf/ -1>> =\1.replace("au", "ô").replace("AU", "Ô") && Confusion. La taule est la forme argotique pour évoquer la prison, le bordel ou toute forme d’habitation. TEST: une {{taule}} en acier @@ -11422,21 +11458,24 @@ TEST: ce serait, toutes choses égales par ailleurs, la meilleure solution possible. # très / trait __conf_très_trait__ - [un|le|ce|mon|ton|son|notre|votre|leur] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[si]¬:G @:N.*:[me]:[si]¬:(?:G|3[sp]) - <<- /conf/ -2>> très && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que le “\4” est beaucoup “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s + [un|le|ce|mon|ton|son|notre|votre|leur] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[si]¬:G @:N.*:[me]:[si]¬:(?:G|3[sp]|A) + <<- /conf/ not (morph(\2, ">trait/") and morph(\3, ">(?:facial|vertical|horizontal|oblique|diagonal)/")) -2>> très + && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que le “\4” est fort “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s - [des|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[pi]¬:G @:N.*:[me]:[pi]¬:(?:G|3[sp]) - <<- /conf/ -2>> très && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que les “\4” sont beaucoup “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s + [des|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[pi]¬:G @:N.*:[me]:[pi]¬:(?:G|3[sp]|A) + <<- /conf/ not (morph(\2, ">trait/") and morph(\3, ">(?:facial|vertical|horizontal|oblique|diagonal)/")) -2>> très + && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que les “\4” sont fort “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s TEST: un {{trait}} petit homme TEST: les {{traits}} mauvais choix du patron nous ont conduits à la ruine. TEST: je ne les trais pas, mais il le faudrait. TEST: un trait mal dessiné TEST: je lui lançais un trait bien piquant +TEST: La jeune femme en noir avait des traits faciaux froids et anguleux # un tant soit peu __conf_un_tant_soit_peu__ !! un tant soit peu ¡¡ @@ -15707,10 +15746,14 @@ <<- ~-2:0>> * [>bébé|fils|>fille|>enfant|>neveu|>nièce|>frère|>sœur] [de|d’] $:B:e:p [mois|ans] [>grand-père|>grand-mère|>père|>mère|>papa|>maman|>oncle|>tante|>frère|>sœur|beau-frère|belle-sœur|>nièce|>neveu|>cousin] [de|d’] $:B:e:p ans <<- ~2:0>> * + + [>homme|>femme|>garçon|>garçonnet|>fille|>fillette] d’ un mètre [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf|soixante|soixante-et-un|soixante-deux|soixante-trois|soixante-quatre|soixante-cinq|soixante-six|soixante-sept|soixante-huit|soixante-neuf|soixante-dix|soixante-et-onze|soixante-douze|soixante-treize|soixante-quatorze|soixante-quinze|soixante-seize|soixante-dix-sept|soixante-dix-huit|soixante-dix-neuf|quatre-vingt-un|quatre-vingt-deux|quatre-vingt-trois|quatre-vingt-quatre|quatre-vingt-cinq|quatre-vingt-six|quatre-vingt-sept|quatre-vingt-huit|quatre-vingt-neufquatre-vingt-dix|quatre-vingt-onze|quatre-vingt-douze|quatre-vingt-treize|quatre-vingt-quatorze|quatre-vingt-quinze|quatre-vingt-seize|quatre-vingt-dix-sept|quatre-vingt-dix-huit|quatre-vingt-dix-neuf] + [>homme|>femme|>garçon|>garçonnet|>fille|>fillette] [de|d’] deux mètres [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf|soixante|soixante-et-un|soixante-deux|soixante-trois|soixante-quatre|soixante-cinq|soixante-six|soixante-sept|soixante-huit|soixante-neuf|soixante-dix|soixante-et-onze|soixante-douze|soixante-treize|soixante-quatorze|soixante-quinze|soixante-seize|soixante-dix-sept|soixante-dix-huit|soixante-dix-neuf|quatre-vingt-un|quatre-vingt-deux|quatre-vingt-trois|quatre-vingt-quatre|quatre-vingt-cinq|quatre-vingt-six|quatre-vingt-sept|quatre-vingt-huit|quatre-vingt-neufquatre-vingt-dix|quatre-vingt-onze|quatre-vingt-douze|quatre-vingt-treize|quatre-vingt-quatorze|quatre-vingt-quinze|quatre-vingt-seize|quatre-vingt-dix-sept|quatre-vingt-dix-huit|quatre-vingt-dix-neuf] + <<- ~2:0>> * >calibre . *NUM ?[acp|auto|brenneke|browning|british|colt|court|H&K|magnum|mauser|otan|remington|parabellum|russian|S&W|sig|soviet|special|wcf|wsm|winchester]¿ >calibre . *NUM long rifle >calibre *NUM ?[mm|in]¿ >calibre *NUM [*|×] *NUM ?[mm|in]¿ @@ -16733,17 +16776,29 @@ [>venir|>revenir] je [ne|n’] sais ?pas¿ ?trop¿ d’ où [>venir|>revenir] on [ne|n’] sait ?pas¿ ?trop¿ d’ où <<- ~2:0>> ␣ <<- =>> define(\2, ":LV") + +__passer_temps_adj__ + >passer ?toute¿ [la|cette|ma|ta|sa] [journée|semaine] @:A¬:A.*:[fe]:[si] + >passer ?toute¿ [l’|cette|mon|ton|son] [heure|année] @:A¬:A.*:[fe]:[si] + >passer ?toutes¿ [ces|ses|nos|vos|leurs] [heures|journées|semaines|années] @:A¬:A.*:[fe]:p + <<- ~2:-2>> * + +TEST: il avait passé toutes ces années enterré dans son appartement +TEST: Il passe toutes ses journées couché. +TEST: Les visiteurs passent donc leurs journées agglutinés… +TEST: il avait passé toute l’heure avachi sur sa chaise. + __da_participe_passé__ >avoir $:Q - <<- not value(\1, "|avoirs|") and not value(<1, "|de|d’|un|") =>> rewrite(\2, ":A", "") + <<- not value(\1, "|avoir|avoirs|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") >être $:Q - <<- not value(\1, "|êtres|") and not value(<1, "|de|d’|un|l’|") =>> rewrite(\2, ":A", "") + <<- not value(\1, "|être|êtres|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") __purge_vite__ vite <<- not (morph(<1, ":V0a") and value(>1, "|fait|")) ~>> * @@ -16952,10 +17007,13 @@ TEST: On peut sans doute laisser sans grand problème toutes les baskets à la mode être produites à l’autre bout du monde TEST: Faire cours avec un bâillon m’indique assez bien l’importance qu’on accorde à ce que je peux bien vouloir dire en classe. TEST: le rejet de l’État-providence est plus élevé dans les régions où les immigrants se trouvent en plus grand nombre TEST: les délices nouvelles TEST: il lui faut composer avec un électorat bête à manger du foin +TEST: l’homme d’un mètre soixante-dix appelé “général” +TEST: tout mon être tendu vers la victoire +TEST: Pierre et elle n’étaient plus mari et femme @@@@ @@@@ @@@@ @@ -21710,15 +21768,17 @@ # voir clair __sgpl_voir_clair__ >voir >clair - <<- /sgpl/ \2 != "clair" and \2 != "Claire" -2>> clair && Dans la locution “voir clair”, “clair” est un adverbe, donc invariable. (Mais peut-être confondez-vous “voire” et “voir” ?) + <<- /sgpl/ \2 != "clair" and \2 != "Claire" and morph(\1, ":(?:[123][sp]|P|Y)") + -2>> clair && Dans la locution “voir clair”, “clair” est un adverbe, donc invariable. (Mais peut-être confondez-vous “voire” et “voir” ?) TEST: Ils y voient {{clairs}}. TEST: Il vit Claire au théâtre. TEST: J’y vois clair, mec. +TEST: rendant leur vue peu claire # vu / vue __sgpl_vue_vu__ >point de [vu|vus|vues] @@ -22671,11 +22731,11 @@ [>adorer|>aimer|>compter|>désirer|>détester|>entendre|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M") and not value(<1, "|le|la|l’|les|") -2>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. [>aller|>envoyer|>venir|>revenir|>partir] ~..(?:ée?s?|ez)$ - <<- /infi/ morph(\1, ":", ":[GN]") and morph(\-1, ":V", ":M|>(?:accompagner|armer|armurer|casquer|déguiser)/") and not value(>1, "|par|") + <<- /infi/ morph(\1, ":", ":[GN]") and morph(\-1, ":V", ":M|>(?:accompagner|armer|armurer|casquer|débrailler|déguiser|épuiser)/") and not value(>1, "|par|") --1>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. TEST: elle préférait {{mangée}} seule. ->> manger TEST: Il venait, comme d’habitude, {{discuté}} avec son ami. ->> discuter TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches. ->> manger @@ -22697,10 +22757,13 @@ TEST: Il vint déguisé en mousquetaire. TEST: D’ailleurs j’irai armé. TEST: J’irai armé de mon épée. TEST: Si possible, venez accompagné. TEST: Elle vint accompagnée de son père. +TEST: Ils étaient venus débraillés comme leurs aînés les vaincus. +TEST: Il était venu poussé par la curiosité. + __infi_avoir_beau__ >avoir beau ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ @@ -26771,11 +26834,12 @@ TEST: un homme humble et doux, quel être le deviendrait en de telles circonstances ? __vmode_l_eût_suj_voulu_que__ l’ [eut-il|eut-elle|eut-on] [désiré|envisagé|exigé|demandé|imaginé|rêvé|souhaité|voulu] [que|qu’] - <<- /vmode/ -2>> =\2.replace("ut", "ût").replace("UT", "ÛT") && Mode verbal. Dans cette locution (comme “l’eût-il voulu que…”), utilisez le subjonctif, car il s’agit d’une spéculation sur ce qui est “\-2”. + <<- /vmode/ -2>> =\2.replace("ut", "ût").replace("UT", "ÛT") + && Mode verbal. Dans cette locution (comme “l’eût-il voulu que…”), utilisez le subjonctif, car il s’agit d’une spéculation sur ce qui est “\-2”. TEST: l’{{eut-il}} voulu que ça n’aurait rien changé ->> eût-il @@ -28773,10 +28837,26 @@ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 que”, ce verbe devrait être au subjonctif. [il|ça|cela] [peut|pouvait] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 se peut que”, le verbe devrait être au subjonctif. + il [arrive|arriva|arrivait] [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If|V0) + il [est|était] arrivé [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If|V0) + <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) + && Après “il arrive que”, le verbe se met au subjonctif s’il s’agit d’une éventualité (mais la construction à l’indicatif est aussi possible s’il y a certitude). + + il [est|était] possible [que|qu’] @:(?:Os|M) @:I¬:[GYS] + si tant est [que|qu’] @:(?:Os|M) @:I¬:[GYS] + <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 \2 \3 que”, ce verbe devrait être au subjonctif. + + peu [est|était] fallu [que|qu’] @:(?:Os|M) @:I¬:[GYS] + <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “peu s’en est fallu que”, ce verbe devrait être au subjonctif. + + >valoir mieux [que|qu’] @:(?:Os|M) @:I¬:[GYS] + mieux >valoir [que|qu’] @:(?:Os|M) @:I¬:[GYS] + <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “mieux valoir que”, ce verbe devrait être au subjonctif. + TEST: Il suffit qu’il {{court}} plus TEST: j’attends que tu {{viens}}. TEST: Je veux qu’il {{finit}} son repas. TEST: Je ne veux pas que tu {{es}} des ennuis TEST: je doute qu’il {{vient}} demain. @@ -28785,13 +28865,18 @@ TEST: peu s’en est fallu qu’il {{devient}} estropié. TEST: je m’étonne qu’il {{est}} aussi fragile TEST: elle a envie qu’il {{est}} intelligent. TEST: il importera que nous {{devenons}} prêts. TEST: prends garde que vous {{revenez}} en un seul morceau. +TEST: ça ira, si tant est que Paul {{comprend}} ce qui se passe. TEST: faites attention à ce qu’elle ne {{devient}} pas timorée. TEST: je tiens à ce que vous {{devenez}} grands. TEST: Veille à ce qu’il y {{est}} des gâteaux. +TEST: il arrive qu’il {{vient}}, mais rarement +TEST: Vaudrait mieux qu’elle {{meurt}} +TEST: il aurait mieux valu qu’elle {{meurt}} +TEST: il est possible qu’il {{est}} parti TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: Je me doutais bien qu’elle me détestait TEST: Je veux que tu sois prudent. TEST: Je souhaitais que tu fusses présent. @@ -28804,10 +28889,12 @@ TEST: C’est cet interdit qu’il faut lever. TEST: pas grand-chose à proposer à part faire attention à ce qu’on fait. TEST: La crainte que nous nourrissons à l’égard d’une société libre tient à notre méconnaissance des vertus de l’action individuelle TEST: Je sais qu’il nous faut l’aide de mon ami. TEST: cela tient sans doute à ce qu’ils n’ont pas acquis une connaissance suffisante de la doctrine +TEST: J’irai si tant est que je puisse. +TEST: J’irai si tant est que je le puisse. __vmode_qqch_que_subjonctif__ [quoique|quoiqu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -3>> =suggVerbMode(\3, ":S", \2) && Après “quoique”, ce verbe devrait être au subjonctif. @@ -28847,25 +28934,13 @@ # <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5) && Après “\2 \3 que”, ce verbe devrait être au subjonctif. [|,|(] encore [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If) <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4) && Après « \2 que », le verbe s’emploie au subjonctif. - il arrive [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If|V0) - <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “il arrive que”, le verbe se met au subjonctif s’il s’agit d’une éventualité (mais la construction à l’indicatif est aussi possible s’il y a certitude). - - il est possible [que|qu’] @:(?:Os|M) @:I¬:[GYS] jusqu’ à ce [que|qu’] @:(?:Os|M) @:I¬:[GYS] - si tant est [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 \2 \3 que”, ce verbe devrait être au subjonctif. - peu [est|était] fallu [que|qu’] @:(?:Os|M) @:I¬:[GYS] - <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “peu s’en est fallu que”, ce verbe devrait être au subjonctif. - - >valoir mieux [que|qu’] @:(?:Os|M) @:I¬:[GYS] - mieux >valoir [que|qu’] @:(?:Os|M) @:I¬:[GYS] - <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “mieux valoir que”, ce verbe devrait être au subjonctif. - TEST: Quoiqu’il {{est}} parti il y a longtemps, on pense encore beaucoup à lui. TEST: quoi qu’il en {{conclut}} TEST: Avant que tu {{pars}}, je voudrais qu’on discute. TEST: Sans qu’elle {{prend}} le temps d’analyser le problème. TEST: il est possible qu’il {{vient}} demain. @@ -28876,23 +28951,20 @@ TEST: à condition qu’il {{finit}} son boulot. TEST: pour peu qu’il {{prend}} son devoir sérieux… TEST: Fais en sorte qu’elle {{court}} à sa perte TEST: Nous œuvrons silencieusement de crainte qu’il nous {{entend}}. TEST: En admettant qu’il {{devient}} juste. -TEST: ça ira, si tant est que Paul {{comprend}} ce qui se passe. TEST: à condition qu’elle l’{{est}} jamais été TEST: non qu’il {{prend}} son temps TEST: si tant est que nous {{prenons}} notre temps TEST: moyennant qu’elle {{vient}} demain TEST: en attendant qu’il {{devient}} plus raisonnable -TEST: il arrive qu’il {{vient}}, mais rarement TEST: {{où}} qu’il {{est}}, on le trouvera TEST: Il ne le savait pas, bien qu’il en {{avait}} entendu parler. TEST: Bien que je {{prends}} mon mal en patience. TEST: encore qu’il {{sait}} s’y prendre -TEST: Vaudrait mieux qu’elle {{meurt}} -TEST: il aurait mieux valu qu’elle {{meurt}} +TEST: jusqu’à ce qu’elle {{vient}} avec nous TEST: C’est un joli bien. Bien qu’il a hérité de son oncle, notez bien. TEST: Bien qu’il avait donné à ses enfants. TEST: si bien que je me suis toujours demandée si cela ne m’avait pas un peu bousillé les yeux TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard. TEST: Tu vivras plus sereinement en admettant que tu ne peux pas être la meilleure en toutes choses. @@ -28913,12 +28985,10 @@ TEST: Je travaille de façon que nous puissions vivre. TEST: Je travaille de façon qu’il puisse vivre. TEST: En admettant qu’il soit allé TEST: Demander jusqu’à ce qu’il réponde. TEST: Demander jusqu’à ce qu’il me réponde. -TEST: J’irai si tant est que je puisse. -TEST: J’irai si tant est que je le puisse. TEST: Quoique je dise. TEST: Quoique je te dise. TEST: Ça signifie qu’il est parti ou qu’il est mort. TEST: Ça ne signifie qu’une seule chose : soit qu’il est con, soit qu’il est totalement con. TEST: Si bien que l’on se dit : « Ce mode de vie où je travaille moins en ayant beaucoup plus de disponibilités sensibles, n’est-ce pas le bon équilibre à trouver ? » @@ -29188,10 +29258,13 @@ TEST: C’est pure folie. TEST: Du côté de ceux sans qui le cinéma se réduirait à pas grand-chose TEST: Il commence à monter sur scène au Club Méditerranée TEST: Je n’en avais cure. TEST: À toute chose malheur est bon. +TEST: Les 5 outils sont fixés sur le porte-outils. +TEST: Pourquoi s’était-elle laissé emporter ? +TEST: elle s’était laissé emporter !!! Tests historiques !! Index: js_extension/string.js ================================================================== --- js_extension/string.js +++ js_extension/string.js @@ -22,17 +22,17 @@ }; String.prototype.gl_isAlpha = function () { return (this.search(/^[a-zà-öA-Zø-ÿÀ-ÖØ-ßĀ-ʯff-stᴀ-ᶿ]+$/) !== -1); }; String.prototype.gl_isLowerCase = function () { - return (this.search(/^[a-zà-öø-ÿff-st0-9'’-]+$/) !== -1); + return (this.search(/^[a-zà-öø-ÿff-st0-9 '’-]+$/) !== -1); }; String.prototype.gl_isUpperCase = function () { - return (this.search(/^[A-ZÀ-ÖØ-ߌ0-9'’-]+$/) !== -1 && this.search(/^[0-9]+$/) === -1); + return (this.search(/^[A-ZÀ-ÖØ-ߌ0-9 '’-]+$/) !== -1 && this.search(/^[0-9]+$/) === -1); }; String.prototype.gl_isTitle = function () { - return (this.search(/^[A-ZÀ-ÖØ-ߌ][a-zà-öø-ÿff-st'’-]+$/) !== -1); + return (this.search(/^[A-ZÀ-ÖØ-ߌ][a-zà-öø-ÿff-st '’-]+$/) !== -1); }; String.prototype.gl_toCapitalize = function () { return this.slice(0,1).toUpperCase() + this.slice(1).toLowerCase(); }; String.prototype.gl_expand = function (oMatch) {