libikarus/docs/format_fix.js
folling 52580a4382
finalise interface & documentation
Signed-off-by: Folling <mail@folling.io>
2025-04-15 12:10:38 +02:00

68 lines
No EOL
2.1 KiB
JavaScript

// maximum efficiency
function enumFormatFix() {
Array.from(document.getElementsByClassName("memItemRight")).forEach((elem) => {
if (elem.innerHTML.includes("{")) {
let str = elem.innerHTML;
str = str.replaceAll("<br>", "");
str = str.replaceAll("&nbsp;", "");
str = str.replaceAll("{", "{<br>&nbsp;&nbsp;&nbsp;&nbsp;");
str = str.replaceAll("\n,", ",");
str = str.replaceAll(",", ",<br>&nbsp;&nbsp;&nbsp;&nbsp;");
str = str.replaceAll("}", "<br>}");
elem.innerHTML = str
}
});
}
function paramFormatFix() {
Array.from(document.getElementsByClassName("memItemRight")).forEach((elem) => {
if (elem.innerHTML.includes("(")) {
let str = elem.innerHTML;
let res = "";
let bracket_level = 0;
let hit_comma = false;
for (let c of str) {
let new_hit_comma = false;
if (c === '(') {
if (bracket_level === 0) {
res += "(<br>&nbsp;&nbsp;&nbsp;&nbsp;";
} else {
res += '(';
}
bracket_level++;
} else if (c === ')') {
if (bracket_level === 1) {
res += "<br>)";
} else {
res += ')';
}
bracket_level--;
} else if (c === ',') {
if (bracket_level === 1) {
res += ",<br>&nbsp;&nbsp;&nbsp;&nbsp;";
} else {
res += ',';
}
new_hit_comma = true;
} else if (c === ' ' && hit_comma && bracket_level === 1) {
new_hit_comma = false;
// skip this space
} else {
res += c;
}
hit_comma = new_hit_comma;
}
elem.innerHTML = res
}
});
}