JSFiddle - React, Tailwind, and code Playground
by XTREME104
JavaScript
/*
addRule (rule:String):void
addRuleAt (rule:String, index:uint):void
addRules (rulesarray:String[]):void
addRulesAt (rulesarray:String[], index:uint):void
addRegexRules (rule:String):void
addRegexRuleAt (rule:String, index:uint):void
addRegexRules (rulesarray:String[]):void
addRegexRulesAt (rule:String[], index:uint):void
*/
var rules = [];
var regex = "";
function addRegexRule (rule) {
rules.push(rule);
}
function addRegexRuleAt (rule, index) {
rules.splice(index, 0, rule);
}
function addRegexRules (rulesarray) {
rules = rules.concat(rulesarray);
}
function addRegexRulesAt (rulesarray, index) {
for (var i = 0; i < rulesarray.length; i++) {
addRegexRuleAt(rulesarray[i], index + i);
}
}
function addRule (rule) {
addRegexRule("\\" + rule);
}
function addRuleAt (rule, index) {
addRegexRuleAt("\\" + rule, index);
}
function addRules (rulesarray, index) {
for (var i = 0; i < rulesarray.length; i++) {
addRule(rulesarray[i]);
}
}
function addRulesAt (rulesarray, index) {
for (var i = 0; i < rulesarray.length; i++) {
addRuleAt(rulesarray[i], index + i);
}
}
function tokenize (input) {
var lines = input.replace(/\/\/(.*)\n/g, "").replace(/\/\*(.*)\*\//g, "").split(/[;\{\}]/);
var result = [];
var regexp = new RegExp(rules.join("|"), "g");
for (var i = 0; i < lines.length; i++) {
var match = lines[i].match(regexp);
if (match != null) {
result = result.concat(match);
lines[i] = lines[i].replace(regexp, "");
}
}
return...