mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Set unicode.activeVersion when loading UnicodeGraphemeProvider.
This commit is contained in:
@@ -19,7 +19,4 @@ import { UnicodeGraphemeAddon } from 'xterm-addon-unicode-graphemes';
|
||||
const terminal = new Terminal();
|
||||
const unicodeGraphemeAddon = new UnicodeGraphemeAddon();
|
||||
terminal.loadAddon(unicodeGraphemeAddon);
|
||||
|
||||
// activate the new version
|
||||
terminal.unicode.activeVersion = '15';
|
||||
```
|
||||
|
||||
@@ -5,13 +5,29 @@
|
||||
* UnicodeVersionProvider for V15 with grapeme cluster handleing.
|
||||
*/
|
||||
|
||||
import { Terminal, ITerminalAddon } from 'xterm';
|
||||
import { Terminal, ITerminalAddon, IUnicodeHandling } from 'xterm';
|
||||
import { UnicodeGraphemeProvider } from './UnicodeGraphemeProvider';
|
||||
|
||||
|
||||
export class UnicodeGraphemesAddon implements ITerminalAddon {
|
||||
private _provider?: UnicodeGraphemeProvider;
|
||||
private _unicode?: IUnicodeHandling;
|
||||
private _oldVersion: string = '';
|
||||
|
||||
public activate(terminal: Terminal): void {
|
||||
terminal.unicode.register(new UnicodeGraphemeProvider());
|
||||
if (! this._provider) {
|
||||
this._provider = new UnicodeGraphemeProvider();
|
||||
}
|
||||
const unicode = terminal.unicode;
|
||||
this._unicode = unicode;
|
||||
unicode.register(this._provider);
|
||||
this._oldVersion = unicode.activeVersion;
|
||||
unicode.activeVersion = '15-graphemes';
|
||||
}
|
||||
|
||||
public dispose(): void {
|
||||
if (this._unicode) {
|
||||
this._unicode.activeVersion = this._oldVersion;
|
||||
}
|
||||
}
|
||||
public dispose(): void { }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user