Welcome to the Dark Guardian ' + version + '
type: help
'}, { execute: function(cmd, args) { switch (cmd) { case 'theme': { var result = '
theme ' + 'themeParameter'.fontcolor("#4080ff") + ' -- Set theme!
'; if (args && args[0]) { if (args[0].match(/^interlaced|modern|white$/)) { terminal.setTheme(args[0]); localStorage['theme'] = args[0]; result+= ('Set theme: ' + args[0]).fontcolor("#40ff80") + '
'; } else { result+= ('Invalid theme: ' + args[0]).fontcolor("#ff4040") + '
'; } } result+= "Available: interlaced | modern | white
Current: " + terminal.getTheme() + "
"; return result; } case 'clear': case 'cls': { terminal.clear(); return ''; } case 'print': case 'p': { window.print(); return ''; } case 'licenses': case 'license': { return LICENSES; } case 'version': case 'ver': { return '

Dark Guardian [Version ' + version + ']
' + 'Developed by Jean-Sebastien Royer
' + 'More info JSR-Productions
' + 'Special Thanks to Sasa Djolic, Linus Torvalds / Git, Jesse \'Jeaye\' Wilkerson, Malchev, cppreference and Khronos
'.fontcolor("#4080ff"); } case 'book': case 'b': case 'mode': case 'm': case 'switch': case 's': { var result = '
' + cmd + ' ' + 'modeParameter'.fontcolor("#4080ff") + ' -- Switch book / document / reference!
'; result+= '[Available]
' + '[c++] [cpp] : C++ Reference
' + '
' + '[git] : Git Documentation
' + '
' + '[gl4] : OpenGL 4.5 and OpenGL Shading Language 4.50
' + '[gl2.1] : OpenGL 2.1 (ncluding GLX, GLU, and fixed-function GL compatibility profile APIs)
' + '
' + '[es3] : OpenGL ES 3.2 and OpenGL ES Shading Language 3.20
' + '[es3.1] : OpenGL ES 3.1 and OpenGL ES Shading Language 3.10
' + '[es3.0] : OpenGL ES 3.0 and OpenGL ES Shading Language 3.00
' + '[es2.0] : OpenGL ES 2.0
' + '[es1.1] : OpenGL ES 1.1
' + '
' + '[ogl] : OpenGL/ES Registry / Values / Codes
' + '
' + '
Current: ' + currentMode + '
'; if (args && args[0]) { var mode = args[0].toLowerCase(); var found = true; var line = ""; switch(mode) { case 'cpp': case 'c++': { line = 'C++ Reference'; break; } case 'git': { line = 'Git Documentation'; break; } case 'gl4': { line = 'OpenGL 4.5 and OpenGL Shading Language 4.50'; break; } case 'gl2.1': { line = 'OpenGL 2.1 (ncluding GLX, GLU, and fixed-function GL compatibility profile APIs)'; break; } case 'es3': { line = 'OpenGL ES 3.2 and OpenGL ES Shading Language 3.20'; break; } case 'es3.1': { line = 'OpenGL ES 3.1 and OpenGL ES Shading Language 3.10'; break; } case 'es3.0': { line = 'OpenGL ES 3.0 and OpenGL ES Shading Language 3.00'; break; } case 'es2.0': { line = 'OpenGL ES 2.0'; break; } case 'es1.1': { line = 'OpenGL ES 1.1'; break; } case 'ogl': { line = 'OpenGL/ES Registry / Values / Codes'; break; } default: { found = false; result+= ('Invalid mode: ' + args[0]).fontcolor("#ff4040") + '
'; break; } } if (found) { result = ('
Set mode: ' + args[0]).fontcolor("#40ff80") + ' -- ' + line + '
'; currentMode = mode; UpdateMode(); return result; } } return result; } case 'key': case 'list': case 'ls': case 'dir': case 'k': case 'l': case 'd': { var ct = dataMode; for (var index = 0 ; index < args.length ; index++) { const target = args[index].toLowerCase(); ct = ct.filter(d => d.k.toLowerCase().includes(target)); } var result = "
"; for (var x = 0 ; x < ct.length ; x++) { result+=ct[x].k + "
"; } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + "
"; return result; } case 'w': case 'wide': { var ct = dataMode; for (var index = 0 ; index < args.length ; index++) { const target = args[index].toLowerCase(); ct = ct.filter(d => d.k.toLowerCase().includes(target)); } var result = ""; for (var x = 0 ; x < ct.length ; x++) { result+=ct[x].k + ", "; } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + "
"; return result; } case 'type': case 'cat': case 'c': case 't': { if (args.length < 1) { return '
' + cmd + ' ' + 'keyNameParameter'.fontcolor("#4080ff") + ' -- ' + 'Displays the value of a key based on the key name!
'; } const target = args[0].toLowerCase(); const ct = dataMode.filter(d => d.k.toLowerCase() === target); var result = ""; for (var x = 0 ; x < ct.length ; x++) { result+= ct[x].v.replace(/ /g, '\u00a0') + "
"; } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + "
"; return result; } case 'xtype': case 'xcat': case 'x': { if (args.length < 1) { return '
' + cmd + ' ' + 'keyFilterParameters ...'.fontcolor("#4080ff") + ' -- ' + 'Displays the values of a key(s)
'; } var ct = dataMode; for (var index = 0 ; index < args.length ; index++) { const target = args[index].toLowerCase(); ct = ct.filter(d => d.k.toLowerCase().includes(target)); } var bC = 0; var result = ""; var x = 0; for ( ; x < ct.length && (bC <= limit); x++) { bC+=ct[x].v.length; result+= ct[x].v.replace(/ /g, '\u00a0') + "
"; } for (var y = 0 ; y < ct.length ; y++) { result+=((y != 0) ? ", " : "
") + ct[y].k.fontcolor("#ff8040"); } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + (" Display(" + x).fontcolor("#40ff80") + ")
"; return result; } case 'value': case 'val': case 'v': case 'find': case 'f': case 'search': case 's': { if (args.length < 1) { return '
' + cmd + ' ' + 'valueFilterParameters ...'.fontcolor("#4080ff") + ' -- ' + 'Displays the contents / value of a key
'; } var ct = dataMode; for (var index = 0 ; index < args.length ; index++) { const target = args[index].toLowerCase(); ct = ct.filter(d => d.v.toLowerCase().includes(target)); } var bC = 0; var result = ""; var x = 0; for ( ; x < ct.length && (bC <= limit); x++) { bC+=ct[x].v.length; result+= ct[x].v.replace(/ /g, '\u00a0') + "
"; } for (var y = 0 ; y < ct.length ; y++) { result+=((y != 0) ? ", " : "
") + ct[y].k.fontcolor("#ff8040"); } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + (" Display(" + x).fontcolor("#40ff80") + ")
"; return result; } case 'quick': case 'q': case 'z': { if (args.length < 1) { return '
' + cmd + ' ' + 'valueFilterParameters ...'.fontcolor("#4080ff") + ' -- ' + 'Displays the contents / value of a key
'; } var ct = dataMode; for (var index = 0 ; index < args.length ; index++) { const target = args[index].toLowerCase(); ct = ct.filter(d => d.v.toLowerCase().includes(target)); } var result = ""; for (var x = 0 ; x < ct.length ; x++) { result+=((x != 0) ? ", " : "
") + ct[x].k.fontcolor("#ff8040"); } result+= ("
Result(" + ct.length + ")").fontcolor("#4080ff") + "
"; return result; } case 'limit': { var result = '
limit ' + 'limitParameter'.fontcolor("#4080ff") + ' -- Limits the number of characters to display for the values (default: 1000000)!
'; result+= 'Current limit: ' + limit + '
'; if (args && args[0]) { limit = Math.max(parseInt(args[0]), 1); if (isNaN(limit)) { limit = 1000000; } localStorage['limit'] = limit; result+= ('Set limit: ' + limit).fontcolor("#40ff80") + '
'; } else { result+= 'Limit parameter missing '.fontcolor("#ff4040") + '
'; } return result; } default: case 'h': case 'help': { return '
help -- Provides help information for Dark Guardian!
' + '
'+ '
[Commands]
' + '[book] [mode] [switch] [b] [m] [s] ' + 'modeParameter'.fontcolor("#4080ff") + ' : ' + 'Switch book / document / reference'.italics().fontcolor("#ff8040") + '
' + '[cls] [clear] : ' + 'Clears the screen'.italics().fontcolor("#ff8040") + '
' + '[key] [list] [ls] [dir] [k] [l] [d] ' + 'keyFilterParameters(Optional) ...'.fontcolor("#4080ff") + ' : ' + 'Displays a list of keys based on key filters'.italics().fontcolor("#ff8040") + '
' + '[license] [licenses] : ' + 'Displays the licenses'.italics().fontcolor("#ff8040") + '
' + '[limit] : ' + 'Limits the number of characters to display for the values'.italics().fontcolor("#ff8040") + '
' + '[print] [p] : ' + 'Print the result'.italics().fontcolor("#ff8040") + '
' + '[quick] [q] [z] ' + 'valueFilterParameters ...'.fontcolor("#4080ff") + ' : ' + 'Displays keys based on value filters'.italics().fontcolor("#ff8040") + '
' + '[theme] : ' + 'Set theme'.italics().fontcolor("#ff8040") + '
' + '[type] [cat] [t] [c] ' + 'keyNameParameter'.fontcolor("#4080ff") + ' : ' + 'Displays the value of a key based on the key name'.italics().fontcolor("#ff8040") + '
' + '[value] [val] [find] [search] [v] [f] [s] ' + 'valueFilterParameters ...'.fontcolor("#4080ff") + ' : ' + 'Displays values and keys based on value filters'.italics().fontcolor("#ff8040") + '
' + '[version] [ver] : ' + 'Displays current version of Dark Guardian'.italics().fontcolor("#ff8040") + '
' + '[wide] [w] ' + 'keyFilterParameters(Optional) ...'.fontcolor("#4080ff") + ' : ' + 'Displays a list of keys (wide format) based on key filters'.italics().fontcolor("#ff8040") + '
' + '[xtype] [xcat] [x] ' + 'keyFilterParameters ...'.fontcolor("#4080ff") + ' : ' + 'Displays values based on key filters'.italics().fontcolor("#ff8040") + '
' + '
'+ '
Dark Guardian [Version ' + version + ']
' + 'Developed by Jean-Sebastien Royer
' + 'More info JSR-Productions
' + 'Special Thanks to Sasa Djolic, Linus Torvalds / Git, Jesse \'Jeaye\' Wilkerson, Malchev, cppreference and Khronos
'.fontcolor("#4080ff"); } }; } }); function load() { if (localStorage.getItem("theme") !== null) { var currentTheme = localStorage['theme']; terminal.setTheme(currentTheme.match(/^interlaced|modern|white$/) ? currentTheme : "modern"); } currentMode = localStorage['mode']; UpdateMode(); limit = Math.max(parseInt(localStorage['limit']), 1); if (isNaN(limit)) { limit = 1000000; } } load(); function UpdateMode() { switch(currentMode) { case 'cpp': case 'c++': { dataMode = CPP; terminal.setPrompt("[C++]"); break; } case 'gl4': { dataMode = OGL4_5; terminal.setPrompt("[OpenGL 4.5]"); break; } case 'gl2.1': { dataMode = OGL2_1; terminal.setPrompt("[OpenGL 2.1]"); break; } case 'es3': { dataMode = OGLES3_2; terminal.setPrompt("[OpenGL ES 3.2]"); break; } case 'es3.1': { dataMode = OGLES3_1; terminal.setPrompt("[OpenGL ES 3.1]"); break; } case 'es3.0': { dataMode = OGLES3_0; terminal.setPrompt("[OpenGL ES 3.0]"); break; } case 'es2.0': { dataMode = OGLES2_0; terminal.setPrompt("[OpenGL ES 2.0]"); break; } case 'es1.1': { dataMode = OGLES1_1; terminal.setPrompt("[OpenGL ES 1.1]"); break; } case 'ogl': { dataMode = OGL; terminal.setPrompt("[OpenGL]"); break; } default: case 'git': { dataMode = GIT; currentMode = 'git'; terminal.setPrompt("[Git]"); break; } } localStorage['mode'] = currentMode; }