Add grapheme cluster test button to demo

This commit is contained in:
Daniel Imms
2023-08-02 11:59:30 -07:00
parent 7baff4e249
commit 08a0914a78
2 changed files with 28 additions and 3 deletions
+24
View File
@@ -241,6 +241,7 @@ if (document.location.pathname === '/test') {
document.getElementById('ansi-colors').addEventListener('click', ansiColorsTest); document.getElementById('ansi-colors').addEventListener('click', ansiColorsTest);
document.getElementById('osc-hyperlinks').addEventListener('click', addAnsiHyperlink); document.getElementById('osc-hyperlinks').addEventListener('click', addAnsiHyperlink);
document.getElementById('sgr-test').addEventListener('click', sgrTest); document.getElementById('sgr-test').addEventListener('click', sgrTest);
document.getElementById('add-grapheme-clusters').addEventListener('click', addGraphemeClusters);
document.getElementById('add-decoration').addEventListener('click', addDecoration); document.getElementById('add-decoration').addEventListener('click', addDecoration);
document.getElementById('add-overview-ruler').addEventListener('click', addOverviewRuler); document.getElementById('add-overview-ruler').addEventListener('click', addOverviewRuler);
document.getElementById('weblinks-test').addEventListener('click', testWeblinks); document.getElementById('weblinks-test').addEventListener('click', testWeblinks);
@@ -1096,6 +1097,29 @@ function getRandomSgr(): string {
return randomSgrAttributes[Math.floor(Math.random() * randomSgrAttributes.length)]; return randomSgrAttributes[Math.floor(Math.random() * randomSgrAttributes.length)];
} }
function addGraphemeClusters(): void {
term.write('\n\n\r');
term.writeln('Simple emoji (v6: 10 cells, v15: 20 cells)');
term.writeln('🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣');
term.writeln('baby with emoji modifier fitzpatrick type-6; baby');
term.writeln('\u{1F476}\u{1F3FF}\u{1F476}');
term.writeln('woman+zwj+woman+zwj+boy');
term.writeln('\u{1F469}\u200d\u{1f469}\u200d\u{1f466}');
term.writeln('REGIONAL INDICATOR SYMBOL LETTER N and RI O');
term.writeln('\u{1f1f3}\u{1f1f4}_');
term.writeln('\u{1f1f3}_\u{1f1f4}');
term.writeln('letter a with acute accent');
term.writeln('\u0061\u0301');
term.writeln('Korean Jamo');
term.writeln('{\u1100\u1161\u11a8}');
term.writeln('coffin with text_presentation');
term.writeln('(\u26b0\ufe0e)');
term.writeln('coffin with Emoji_presentation');
term.writeln('(\u26b0\ufe0f)');
term.writeln('Égalité (using separate acute) emoij_presentation');
term.writeln('<E\u0301\ufe0fg\ufe0fa\ufe0fl\ufe0fi\ufe0f\ufe0ft\ufe0fe\u0301\ufe0f>');
}
function addDecoration(): void { function addDecoration(): void {
term.options['overviewRulerWidth'] = 15; term.options['overviewRulerWidth'] = 15;
const marker = term.registerMarker(1); const marker = term.registerMarker(1);
+1
View File
@@ -97,6 +97,7 @@
<dd><button id="ansi-colors" title="Write a wide range of ansi colors">Ansi colors test</button></dd> <dd><button id="ansi-colors" title="Write a wide range of ansi colors">Ansi colors test</button></dd>
<dd><button id="osc-hyperlinks" title="Write some OSC 8 hyperlinks">Ansi hyperlinks test</button></dd> <dd><button id="osc-hyperlinks" title="Write some OSC 8 hyperlinks">Ansi hyperlinks test</button></dd>
<dd><button id="bce" title="Test colored erase">Colored Erase (BCE)</button></dd> <dd><button id="bce" title="Test colored erase">Colored Erase (BCE)</button></dd>
<dd><button id="add-grapheme-clusters" title="Write grapheme cluster test strings">Grapheme clusters</button></dd>
<dt>Decorations</dt> <dt>Decorations</dt>
<dd><button id="add-decoration" title="Add a decoration to the terminal">Decoration</button></dd> <dd><button id="add-decoration" title="Add a decoration to the terminal">Decoration</button></dd>