Utilisateur:Reptilien.19831209BE1/js/scanilles.js

La bibliothèque libre.

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
// Test pour ajouter des erreurs communes 
// voir MediaWiki:Gadget-Erreurs-communes.js
// et Utilisateur:Acélan/Scanilles
function scanilles_user_select() {
	// on désactive pour cette page
	if (/scanilles\.js$/.test(mw.config.get("wgPageName")))
		return false;
	
	// On devrait pouvoir se débarasser de cette partie répétitive
	var char_min = 'a-zéèàùâêîôûŷäëïöüÿçœæſñ';
	var char_maj = 'A-ZÉÈÀÂÙÊÎÔÛŶÄËÏÖÏŸÇŒÆÑ';
	var char = char_min + char_maj;
	
	var bw = '([^' + char + ']|^)';
	var ew = '([^' + char + ']|$)';
	var ch = '[' + char + ']';
	var ch2 = '[' + char + ']+';
	
	select_multiple_text.exec(/.*/,[
		bw + "arec", // avec
		bw + "aorte", // sorte (ou porte), l'artère est plutôt rare
		bw + "atout (prix|prendre)", // à tout ...
		//bw + "an (coin|moins|(mi)?lieu|fond|nombre|soleil|sud|nord|dessus|dessous|midi|centre|bout|point|pays|sol|feu)", // au...
		bw + "an" +ew,
		bw + "avals", // avais
		
		bw + "bât(a|e|es|ent)" +ew, // ???
		bw + "bêles", // bêtes
		
		bw + "cardans", // car dans
		bw + "celai", // celui
		bw + "Celte" + ew, // Cette ...
		bw + "[Cc]elle fois", // Cette/cette fois
		bw + "clames", // dames
		bw + "(au|son|mon|ton|un|le) cour( |\\.)", //... cours
		bw + "cloute(r|s)?", // douter, doute(s)
		bw + "cotte", // cette
		
		bw + "dé" + ew, // de
		bw + "dés" + ew, // des
		bw + "déplus", // de plus
		bw + "dévoient", // devoient
		bw + "dupasse", // du passé
		
		bw +  "([Ii]l|[Ee]lle) écoulait" + ew, // il écoutait (« il écoulait » du verbe écouler est plutôt rare)
		bw + "éludes?", // étude, faux positif pour « je/tu/il/elle/on élude(s) la question »
		bw + "en roule", // en route
		bw + "épouvantait", // épouvantail,
		bw + "étalent", // étaient
		bw + "élai(en)?t", // étai(en)t (erreur courante malgré le correcteur orthographique)
		bw + "[Ee]u (proie|effet|hiver|automne|terre|général|route|marche|est|("+ ch2 +"ant)|[A-ZÉÈ]"+ ch2 +")" + ew, // en...
		
		bw + "Fart", // l’art
		bw + "Fauteur", // l’auteur
		bw + "fiançais", // français
		bw + "fondions", // fonctions
		bw + "fouie", // foule
		bw + "fout", // font, faut, tout
		bw + "([Ii]l|[Ee]lle|[Oo]n) fui" + ew, // Il/il fut
		
		bw + "générai", // général
		bw + "Ge" +ew, // Ce (pas besoin en min. « ge » est facile à détecter)
		
		"([iuo]Il|[iuo]lI|IlI|IIl)", // viIle, vilIe, VIlI (chif. rom. 8), IIlustrons ou VIIl (chif. rom. 8), uIlage, oIlignois 
		bw + "incuite", // inculte
		bw + "inonde" +ew, // monde
		
		bw + "lâcheuses?", //fâcheuse(s)
		bw + "([^a][^c][^i][^d][^e]|[^f][^e][^r][^m][^e][^n][^t]([^a][^t][^i][^o][^n])?) lactique", // !(acide/ferment(ation)) tactique
		bw + "lait(s|es?)" +ew, // faits ou faite(s)
		bw + "(plus|trop) lard" + ew, // plus/trop tard
		bw + "laveur", // plus rare que faveur
		bw + "lemmes?", // femme(s)
		bw + "lé" + ew, // le
		bw + "lés" + ew, // les
		bw + "lésa", // les a
		bw + "la lin" +ew, // la fin
		bw + "eu lien", // eu lieu
		bw + "!(e|es|a|'|’)", // !e, !a, !es, !’envie, ... 
		"\\|", // | à la place d'un L min. (i|, e||e, etc.)
		// une lois, cette lois, première lois, la lois ???
		
		bw + "malin" + ew, // matin ?
		bw + "médians", // méchans
		bw + "se mil" + ew, // se mit
		// moyeu -roues -roue ???
		bw + "moulons?" +ew, // plus rare que mouton(s) et les verbes moudre/mouler 1er p.p
		bw + "[^ ’]+meut" + ew, // -ment (faux positif pour « émeut » et variantes)
		
		bw + "niasse", // masse
		
		bw + "on (avant|arrière|ces?|haut|bas|l’air)"+ ew, // en avant/arrière + en ce(s) moment(s)/jour(s)/temps... (pas besoin de mettre en maj. O qu'on distingue facilement de E)
		bw + "((dont|comme|si) ou|(qu|l)['’]ou)" + ew, // dont on
		bw + "ou "+ ch2 + "ait" +ew, // on <verbe>ait (faux positifs pour « il dit ou fait ceci », etc.)
		bw + "[Aa]vec on" + ew, //avec ou sans toi
		bw + "ôtes-vous" + ew, // êtes-vous (pas besoin de mettre en maj. Ô qu'on distingue facilement de Ê)
		bw + "[Vv]ous ôtes" + ew, // Vous/vous êtes
		
		bw + "paisse" + ew, // puisse
		bw + "parce (temps|moyen)", // par ce ...
		bw + "par exempte", // par exemple
		bw + "parues?", // ???
		bw + "Pavons", // l’avons
		bw + "pondant", // pendant
		bw + "prèle", // prête
		bw + "prêt atout", // prêt à tout
		bw + "profilé", // profité
		bw + "[^s][^e] profil(er|a|èrent)", // !(se) profiler, profila, profilèrent, 
		
		bw + "quanta", // quant à
		
		bw + "raill(e|ions)" + ew, // mille/millions
		bw + "relirait", // retirait
		bw + "rembarras", // l’embarras
		bw + "à rencontre" +ew, // à l’encontre
		bw + "rengagement", // l’engagement
		bw + "à rentrée", // à l’entrée
		bw + "retendue", // l’étendue
		//---
		// BUG Negative Lookbehind ne fontionne pas (chez moi) en Javascript
		// (?<!le|les|du|des)( rétablissement)
		// http://www.regular-expressions.info/lookaround.html 
		bw + "[Dd]ans rétablissement", // Dans/dans l’établissement
		//---
		bw + "rivai" +ew, // rival
		bw + "roules", // routes
		bw + "(r|R)ouie", // route, roule, l’ouïe et Rome
		
		bw + "saris", // sans
		bw + "soldais", // soldats
		bw + "sons (la|le)" +ew, // sous la, sons le, 
		bw + "sou (père|frère|chemin|fils)", // son ...
		bw + "(dans|avec|de|pour|par) sou" +ew, // ... son (idéalement, il faudrait une exception pour « sou par sou »)
		
		bw + "taudis que?", // tandis qu(e)
		bw + "tomme", // ???
		bw + "[Tt]on(s|tes?)" + ew, // tous, toute(s) (très peu de faux positifs au pluriel)
		bw + "tout à lait", // tout à fait
		bw + "Tune", // l’une
		bw + "[a-z][^ ]+[au]lion" + ew, // terminaison en a/ulion -> a/ution
		bw + "[^ ]+enls?" + ew, // terminaison en enl(s) -> ent(s)
		
		bw + "Us (sont|étaient|ont|se|ne)", // Ils ...
		
		bw + "vêlement", // vêtement
		
		//bw + "[Ii]l v a" + ew, // ... il v a
		bw + "(n’)?v" + ew, // ... il y a, n'y va pas, nous y avons, il y joue, etc.
		bw + "(je|tu|ne) yeux", // ... veux
		bw + "[LlDd]es veux[^-]", // les/des yeux (ne doit pas détecter « les veux-tu »)
		
		bw + "[bcdjlmnrst]{2,4}" + ew, // double consonne ou triple : cc/ce ; cl/et ; rr ; mm ; nn/un ; ll/Il ; dcs/des , dcns/dans ; scs/ses
		"(!\\s+!)+", // (! !)+ (BUG à chaque fois qu'on clique sur le bouton Typo, un espace insécable est ajouté avant !, du coup !! est transformé en ! !)
	]);
	
	// détecte les s qui devraient être des ſ
	// TODO devrait être (dés)activable selon le livre
	var book_reg = new RegExp('Encyclopédie_méthodique');
	if (book_reg.test(mw.config.get("wgPageName"))){
		console.log("détection des s qui devraient être des ſ");
		select_multiple_text.exec(/.*/,[
			"((^| )s["+char_min+"]|["+char_min+"]s["+char_min+"])"
		]);
	}
  
	// Détection du caractère invisible SOFT HYPHEN &shy; ...
	// Voir http://www.fileformat.info/info/unicode/char/00ad/index.htm
	// exemple : //fr.wikisource.org/w/index.php?title=Page:Clerget_-_Louis-Xavier_de_Ricard,_1906.djvu/13&diff=prev&oldid=6300905
	// Détection du caractère de controle DELETE (U+007F)
  
	if($('#wpTextbox1').length){
		var txt = $('#wpTextbox1').text();
		//$('#wpTextbox1').text(txt.replace(/[\u00AD\u007F]/g, "[???]"));
		$('#wpTextbox1').text(txt.replace(/[\u00AD\u007F]/g, ""));
	}else{
		var bodyContent = $('#bodyContent').html();
		$('#bodyContent').html(bodyContent.replace(/[\u00AD\u007F]/g, '<span style="background:#000;color:#fff;cursor:help;" title="caractère invisible">[?]</span>'));
	}
  	
}
$(document).ready(scanilles_user_select());