Skip to content

Commit 8121e4f

Browse files
committed
fix(site): render variable width unicode characters in terminal
Previously, characters such as 🟢 were given insufficient space, leading to mangled output.
1 parent 31ffb56 commit 8121e4f

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

site/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
"xterm": "5.2.1",
104104
"xterm-addon-canvas": "0.4.0",
105105
"xterm-addon-fit": "0.7.0",
106+
"xterm-addon-unicode11": "0.5.0",
106107
"xterm-addon-web-links": "0.8.0",
107108
"yup": "1.2.0"
108109
},

site/pnpm-lock.yaml

+11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

site/src/pages/TerminalPage/TerminalPage.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import * as XTerm from "xterm"
1010
import { CanvasAddon } from "xterm-addon-canvas"
1111
import { FitAddon } from "xterm-addon-fit"
1212
import { WebLinksAddon } from "xterm-addon-web-links"
13+
import { Unicode11Addon } from "xterm-addon-unicode11"
1314
import "xterm/css/xterm.css"
1415
import { MONOSPACE_FONT_FAMILY } from "../../theme/constants"
1516
import { pageTitle } from "../../utils/page"
@@ -176,6 +177,7 @@ const TerminalPage: FC<TerminalPageProps> = ({ renderer }) => {
176177
return
177178
}
178179
const terminal = new XTerm.Terminal({
180+
allowProposedApi: true,
179181
allowTransparency: true,
180182
disableStdin: false,
181183
fontFamily: MONOSPACE_FONT_FAMILY,
@@ -191,6 +193,8 @@ const TerminalPage: FC<TerminalPageProps> = ({ renderer }) => {
191193
const fitAddon = new FitAddon()
192194
setFitAddon(fitAddon)
193195
terminal.loadAddon(fitAddon)
196+
terminal.loadAddon(new Unicode11Addon())
197+
terminal.unicode.activeVersion = "11"
194198
terminal.loadAddon(
195199
new WebLinksAddon((_, uri) => {
196200
handleWebLink(uri)

0 commit comments

Comments
 (0)