User:Guywan/Scripts/RefCruncher.js

// // $(function {	if(mw.config.get("wgAction") !== "edit") return;	const debug = false;	if(debug) console.log("Running");	rc_refsCrunched = false;	rc_refs = [];	// Add key handler.	window.addEventListener("keydown", e => {		if(e.ctrlKey && e.altKey && e.which == 82) {			run; }	});	function run	{		if(debug) console.log("Activate");		if(rc_refsCrunched)		{			rc_refsCrunched = uncrunchRefs;		}		else		{			rc_refsCrunched = crunchRefs;		}	}	function crunchRefs	{			const txtarea = document.getElementById("wpTextbox1");		var text = txtarea.value;		var counter = 0;		text = text.replace(/()|((.|\s)*?<\/ref>)/g, match => {			if(debug) console.log(match); rc_refs.push(match); return ` `; });		txtarea.value = text;		return true;	}	function uncrunchRefs	{		const txtarea = document.getElementById("wpTextbox1");		var text = txtarea.value;		text = text.replace(/ /g, (match, p1) => {			if(debug) console.log(match); return rc_refs[Number(p1)]; });		window.rc_refs = [];		txtarea.value = text;		return false;	} }); //