Provide with "15" and "15-graphemes" UnicodeProviders

Th former doesn't support grapheme clusters, except the old-fashioned
kind of simple modifiers.  However, "15-graphemes" (with full
cluster support) is the default.
This commit is contained in:
Per Bothner
2023-08-21 13:03:06 -07:00
parent 2204375788
commit e5a2ebda0e
3 changed files with 21 additions and 8 deletions
@@ -10,17 +10,22 @@ import { UnicodeGraphemeProvider } from './UnicodeGraphemeProvider';
export class UnicodeGraphemesAddon implements ITerminalAddon {
private _provider?: UnicodeGraphemeProvider;
private _provider15Graphemes?: UnicodeGraphemeProvider;
private _provider15?: UnicodeGraphemeProvider;
private _unicode?: IUnicodeHandling;
private _oldVersion: string = '';
public activate(terminal: Terminal): void {
if (! this._provider) {
this._provider = new UnicodeGraphemeProvider();
if (! this._provider15) {
this._provider15 = new UnicodeGraphemeProvider(false);
}
if (! this._provider15Graphemes) {
this._provider15Graphemes = new UnicodeGraphemeProvider(true);
}
const unicode = terminal.unicode;
this._unicode = unicode;
unicode.register(this._provider);
unicode.register(this._provider15);
unicode.register(this._provider15Graphemes);
this._oldVersion = unicode.activeVersion;
unicode.activeVersion = '15-graphemes';
}