emoji-space-shim 0.0.0 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,5 +2,8 @@ import type { TerminalChoice } from './TerminalChoice';
|
|
|
2
2
|
/**
|
|
3
3
|
* .what = dictionary of emoji space consumption per terminal
|
|
4
4
|
* .why = terminals disagree on emoji width; this maps emoji → terminal → consumed spaces
|
|
5
|
+
*
|
|
6
|
+
* .note = vscode (xterm.js) only supports unicode 12.1.0, so all unicode 13.0+ emojis
|
|
7
|
+
* need space adjustment. see: https://github.com/microsoft/vscode/issues/251102
|
|
5
8
|
*/
|
|
6
9
|
export declare const EMOJI_SPACE_REGISTRY: Record<string, Partial<Record<TerminalChoice, number>>>;
|
|
@@ -4,13 +4,153 @@ exports.EMOJI_SPACE_REGISTRY = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* .what = dictionary of emoji space consumption per terminal
|
|
6
6
|
* .why = terminals disagree on emoji width; this maps emoji → terminal → consumed spaces
|
|
7
|
+
*
|
|
8
|
+
* .note = vscode (xterm.js) only supports unicode 12.1.0, so all unicode 13.0+ emojis
|
|
9
|
+
* need space adjustment. see: https://github.com/microsoft/vscode/issues/251102
|
|
7
10
|
*/
|
|
8
11
|
exports.EMOJI_SPACE_REGISTRY = {
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
'
|
|
14
|
-
'
|
|
12
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
13
|
+
// unicode 13.0 emojis (2020) - vscode consumes 1 extra space
|
|
14
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
15
|
+
// faces & people
|
|
16
|
+
'🥲': { vscode: 1, default: 0 }, // smiling face with tear
|
|
17
|
+
'🥸': { vscode: 1, default: 0 }, // disguised face
|
|
18
|
+
'🤌': { vscode: 1, default: 0 }, // pinched fingers
|
|
19
|
+
'🫀': { vscode: 1, default: 0 }, // anatomical heart
|
|
20
|
+
'🫁': { vscode: 1, default: 0 }, // lungs
|
|
21
|
+
'🥷': { vscode: 1, default: 0 }, // ninja
|
|
22
|
+
'🫂': { vscode: 1, default: 0 }, // people hugging
|
|
23
|
+
// animals
|
|
24
|
+
'🦬': { vscode: 1, default: 0 }, // bison
|
|
25
|
+
'🦣': { vscode: 1, default: 0 }, // mammoth
|
|
26
|
+
'🦫': { vscode: 1, default: 0 }, // beaver
|
|
27
|
+
'🦤': { vscode: 1, default: 0 }, // dodo
|
|
28
|
+
'🪶': { vscode: 1, default: 0 }, // feather
|
|
29
|
+
'🦭': { vscode: 1, default: 0 }, // seal
|
|
30
|
+
'🪲': { vscode: 1, default: 0 }, // beetle
|
|
31
|
+
'🪳': { vscode: 1, default: 0 }, // cockroach
|
|
32
|
+
'🪰': { vscode: 1, default: 0 }, // fly
|
|
33
|
+
'🪱': { vscode: 1, default: 0 }, // worm
|
|
34
|
+
// plants & food
|
|
35
|
+
'🪴': { vscode: 1, default: 0 }, // potted plant
|
|
36
|
+
'🫐': { vscode: 1, default: 0 }, // blueberries
|
|
37
|
+
'🫒': { vscode: 1, default: 0 }, // olive
|
|
38
|
+
'🫑': { vscode: 1, default: 0 }, // bell pepper
|
|
39
|
+
'🫓': { vscode: 1, default: 0 }, // flatbread
|
|
40
|
+
'🫔': { vscode: 1, default: 0 }, // tamale
|
|
41
|
+
'🫕': { vscode: 1, default: 0 }, // fondue
|
|
42
|
+
'🫖': { vscode: 1, default: 0 }, // teapot
|
|
43
|
+
'🧋': { vscode: 1, default: 0 }, // bubble tea
|
|
44
|
+
// objects & places
|
|
45
|
+
'🪨': { vscode: 1, default: 0 }, // rock
|
|
46
|
+
'🪵': { vscode: 1, default: 0 }, // wood
|
|
47
|
+
'🛖': { vscode: 1, default: 0 }, // hut
|
|
48
|
+
'🛻': { vscode: 1, default: 0 }, // pickup truck
|
|
49
|
+
'🛼': { vscode: 1, default: 0 }, // roller skate
|
|
50
|
+
'🪄': { vscode: 1, default: 0 }, // magic wand
|
|
51
|
+
'🪅': { vscode: 1, default: 0 }, // piñata
|
|
52
|
+
'🪆': { vscode: 1, default: 0 }, // nesting dolls
|
|
53
|
+
'🪡': { vscode: 1, default: 0 }, // sewing needle
|
|
54
|
+
'🪢': { vscode: 1, default: 0 }, // knot
|
|
55
|
+
'🩴': { vscode: 1, default: 0 }, // thong sandal
|
|
56
|
+
'🪖': { vscode: 1, default: 0 }, // military helmet
|
|
57
|
+
'🪗': { vscode: 1, default: 0 }, // accordion
|
|
58
|
+
'🪘': { vscode: 1, default: 0 }, // long drum
|
|
59
|
+
'🪙': { vscode: 1, default: 0 }, // coin
|
|
60
|
+
'🪃': { vscode: 1, default: 0 }, // boomerang
|
|
61
|
+
'🪚': { vscode: 1, default: 0 }, // carpentry saw
|
|
62
|
+
'🪛': { vscode: 1, default: 0 }, // screwdriver
|
|
63
|
+
'🪝': { vscode: 1, default: 0 }, // hook 🎣
|
|
64
|
+
'🪜': { vscode: 1, default: 0 }, // ladder
|
|
65
|
+
'🛗': { vscode: 1, default: 0 }, // elevator
|
|
66
|
+
'🪞': { vscode: 1, default: 0 }, // mirror
|
|
67
|
+
'🪟': { vscode: 1, default: 0 }, // window
|
|
68
|
+
'🪠': { vscode: 1, default: 0 }, // plunger
|
|
69
|
+
'🪤': { vscode: 1, default: 0 }, // mouse trap
|
|
70
|
+
'🪣': { vscode: 1, default: 0 }, // bucket
|
|
71
|
+
'🪥': { vscode: 1, default: 0 }, // toothbrush
|
|
72
|
+
'🪦': { vscode: 1, default: 0 }, // headstone
|
|
73
|
+
'🪧': { vscode: 1, default: 0 }, // placard
|
|
74
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
75
|
+
// unicode 14.0 emojis (2021) - vscode consumes 1 extra space
|
|
76
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
77
|
+
'🫠': { vscode: 1, default: 0 }, // melting face
|
|
78
|
+
'🫢': { vscode: 1, default: 0 }, // face with open eyes and hand over mouth
|
|
79
|
+
'🫣': { vscode: 1, default: 0 }, // face with peeking eye
|
|
80
|
+
'🫤': { vscode: 1, default: 0 }, // face with diagonal mouth
|
|
81
|
+
'🫥': { vscode: 1, default: 0 }, // dotted line face
|
|
82
|
+
'🫡': { vscode: 1, default: 0 }, // saluting face
|
|
83
|
+
'🫦': { vscode: 1, default: 0 }, // biting lip
|
|
84
|
+
'🫧': { vscode: 1, default: 0 }, // bubbles
|
|
85
|
+
'🫰': { vscode: 1, default: 0 }, // hand with index finger and thumb crossed
|
|
86
|
+
'🫱': { vscode: 1, default: 0 }, // rightwards hand
|
|
87
|
+
'🫲': { vscode: 1, default: 0 }, // leftwards hand
|
|
88
|
+
'🫳': { vscode: 1, default: 0 }, // palm down hand
|
|
89
|
+
'🫴': { vscode: 1, default: 0 }, // palm up hand
|
|
90
|
+
'🫵': { vscode: 1, default: 0 }, // index pointing at the viewer
|
|
91
|
+
'🫶': { vscode: 1, default: 0 }, // heart hands
|
|
92
|
+
'🪸': { vscode: 1, default: 0 }, // coral
|
|
93
|
+
'🪷': { vscode: 1, default: 0 }, // lotus
|
|
94
|
+
'🪹': { vscode: 1, default: 0 }, // empty nest
|
|
95
|
+
'🪺': { vscode: 1, default: 0 }, // nest with eggs
|
|
96
|
+
'🫗': { vscode: 1, default: 0 }, // pouring liquid
|
|
97
|
+
'🫘': { vscode: 1, default: 0 }, // beans
|
|
98
|
+
'🛝': { vscode: 1, default: 0 }, // playground slide
|
|
99
|
+
'🛞': { vscode: 1, default: 0 }, // wheel
|
|
100
|
+
'🛟': { vscode: 1, default: 0 }, // ring buoy
|
|
101
|
+
'🪬': { vscode: 1, default: 0 }, // hamsa
|
|
102
|
+
'🪩': { vscode: 1, default: 0 }, // mirror ball
|
|
103
|
+
'🪫': { vscode: 1, default: 0 }, // low battery
|
|
104
|
+
'🩻': { vscode: 1, default: 0 }, // x-ray
|
|
105
|
+
'🩼': { vscode: 1, default: 0 }, // crutch
|
|
106
|
+
'🪪': { vscode: 1, default: 0 }, // identification card
|
|
107
|
+
'🟰': { vscode: 1, default: 0 }, // heavy equals sign
|
|
108
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
109
|
+
// unicode 15.0 emojis (2022) - vscode consumes 1 extra space
|
|
110
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
111
|
+
'🫨': { vscode: 1, default: 0 }, // shaking face
|
|
112
|
+
'🩵': { vscode: 1, default: 0 }, // light blue heart
|
|
113
|
+
'🩶': { vscode: 1, default: 0 }, // grey heart
|
|
114
|
+
'🩷': { vscode: 1, default: 0 }, // pink heart
|
|
115
|
+
'🪻': { vscode: 1, default: 0 }, // hyacinth
|
|
116
|
+
'🫚': { vscode: 1, default: 0 }, // ginger root
|
|
117
|
+
'🫛': { vscode: 1, default: 0 }, // pea pod
|
|
118
|
+
'🪭': { vscode: 1, default: 0 }, // folding hand fan
|
|
119
|
+
'🪮': { vscode: 1, default: 0 }, // hair pick
|
|
120
|
+
'🪇': { vscode: 1, default: 0 }, // maracas
|
|
121
|
+
'🪈': { vscode: 1, default: 0 }, // flute
|
|
122
|
+
'🪯': { vscode: 1, default: 0 }, // khanda
|
|
123
|
+
'🛜': { vscode: 1, default: 0 }, // wireless
|
|
124
|
+
'🫎': { vscode: 1, default: 0 }, // moose
|
|
125
|
+
'🫏': { vscode: 1, default: 0 }, // donkey
|
|
126
|
+
'🪽': { vscode: 1, default: 0 }, // wing
|
|
127
|
+
'🐦⬛': { vscode: 1, default: 0 }, // black bird
|
|
128
|
+
'🪿': { vscode: 1, default: 0 }, // goose
|
|
129
|
+
'🪼': { vscode: 1, default: 0 }, // jellyfish
|
|
130
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
131
|
+
// unicode 16.0 emojis (2024) - vscode consumes 1 extra space
|
|
132
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
133
|
+
'': { vscode: 1, default: 0 }, // face with bags under eyes
|
|
134
|
+
'': { vscode: 1, default: 0 }, // fingerprint
|
|
135
|
+
'': { vscode: 1, default: 0 }, // leafless tree
|
|
136
|
+
'': { vscode: 1, default: 0 }, // root vegetable
|
|
137
|
+
'': { vscode: 1, default: 0 }, // harp
|
|
138
|
+
'': { vscode: 1, default: 0 }, // shovel
|
|
139
|
+
'': { vscode: 1, default: 0 }, // splatter
|
|
140
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
141
|
+
// unicode 17.0 emojis (2025) - vscode consumes 1 extra space
|
|
142
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
143
|
+
'': { vscode: 1, default: 0 }, // distorted face
|
|
144
|
+
'': { vscode: 1, default: 0 }, // fight cloud
|
|
145
|
+
'': { vscode: 1, default: 0 }, // hairy creature
|
|
146
|
+
'': { vscode: 1, default: 0 }, // orca
|
|
147
|
+
'': { vscode: 1, default: 0 }, // landslide
|
|
148
|
+
'': { vscode: 1, default: 0 }, // trombone
|
|
149
|
+
'': { vscode: 1, default: 0 }, // treasure chest
|
|
150
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
151
|
+
// emojis with variation selectors - consume 1 extra space in both terminals
|
|
152
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
153
|
+
'🌩️': { vscode: 1, default: 1 }, // cloud with lightning
|
|
154
|
+
'⛈️': { vscode: 1, default: 1 }, // cloud with lightning and rain
|
|
15
155
|
};
|
|
16
156
|
//# sourceMappingURL=EmojiSpaceRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmojiSpaceRegistry.js","sourceRoot":"","sources":["../../src/domain.objects/EmojiSpaceRegistry.ts"],"names":[],"mappings":";;;AAEA
|
|
1
|
+
{"version":3,"file":"EmojiSpaceRegistry.js","sourceRoot":"","sources":["../../src/domain.objects/EmojiSpaceRegistry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "emoji-space-shim",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "shim console.log to fix emoji space render issues across terminals",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.1.3",
|
|
6
6
|
"repository": "ehmpathy/emoji-space-shim",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/emoji-space-shim",
|
|
8
8
|
"keywords": [
|
|
@@ -24,16 +24,43 @@
|
|
|
24
24
|
"files": [
|
|
25
25
|
"/dist"
|
|
26
26
|
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build:ts": "tsc -p ./tsconfig.build.json",
|
|
29
|
+
"commit:with-cli": "npx cz",
|
|
30
|
+
"fix:format:biome": "biome check --write",
|
|
31
|
+
"fix:format": "npm run fix:format:biome",
|
|
32
|
+
"fix:lint": "biome check --write",
|
|
33
|
+
"fix": "npm run fix:format && npm run fix:lint",
|
|
34
|
+
"build:clean:bun": "rm -f ./bin/*.bc",
|
|
35
|
+
"build:clean:tsc": "(chmod -R u+w dist 2>/dev/null || true) && rm -rf dist/",
|
|
36
|
+
"build:clean": "npm run build:clean:tsc && npm run build:clean:bun",
|
|
37
|
+
"build:compile:tsc": "tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json",
|
|
38
|
+
"build:compile": "npm run build:compile:tsc && npm run build:compile:bun --if-present",
|
|
39
|
+
"build": "npm run build:clean && npm run build:compile && npm run build:complete --if-present",
|
|
40
|
+
"test:commits": "LAST_TAG=$(git describe --tags --abbrev=0 @^ 2> /dev/null || git rev-list --max-parents=0 HEAD) && npx commitlint --from $LAST_TAG --to HEAD --verbose",
|
|
41
|
+
"test:types": "tsc -p ./tsconfig.json --noEmit",
|
|
42
|
+
"test:format:biome": "biome format",
|
|
43
|
+
"test:format": "npm run test:format:biome",
|
|
44
|
+
"test:lint:deps": "npx depcheck -c ./.depcheckrc.yml",
|
|
45
|
+
"test:lint:biome": "biome check --diagnostic-level=error",
|
|
46
|
+
"test:lint:biome:all": "biome check",
|
|
47
|
+
"test:lint": "npm run test:lint:biome && npm run test:lint:deps",
|
|
48
|
+
"test:unit": "jest -c ./jest.unit.config.ts --forceExit --verbose --passWithNoTests $([ -z $THOROUGH ] && echo '--changedSince=main') $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
49
|
+
"test:integration": "jest -c ./jest.integration.config.ts --forceExit --verbose --passWithNoTests $([ -z $THOROUGH ] && echo '--changedSince=main') $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
50
|
+
"test:acceptance:locally": "npm run build && LOCALLY=true jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
51
|
+
"test": "npm run test:commits && npm run test:types && npm run test:format && npm run test:lint && npm run test:unit && npm run test:integration && npm run test:acceptance:locally",
|
|
52
|
+
"test:acceptance": "npm run build && jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
53
|
+
"prepush": "npm run test && npm run build",
|
|
54
|
+
"prepublish": "npm run build",
|
|
55
|
+
"preversion": "npm run prepush",
|
|
56
|
+
"postversion": "git push origin HEAD --tags --no-verify",
|
|
57
|
+
"prepare:husky": "husky install && chmod ug+x .husky/*",
|
|
58
|
+
"prepare:rhachet": "rhachet init --mode upsert && rhachet roles link --repo ehmpathy --role mechanic && rhachet roles link --repo bhuild --role behaver && rhachet roles link --repo bhrain --role reviewer && rhachet roles init --role mechanic && rhachet roles init --role behaver",
|
|
59
|
+
"prepare": "if [ -e .git ] && [ -z $CI ]; then npm run prepare:husky && npm run prepare:rhachet; fi"
|
|
60
|
+
},
|
|
27
61
|
"dependencies": {
|
|
28
|
-
"as-procedure": "1.1.11",
|
|
29
62
|
"domain-objects": "0.31.9",
|
|
30
|
-
"
|
|
31
|
-
"hash-fns": "1.1.0",
|
|
32
|
-
"helpful-errors": "1.5.3",
|
|
33
|
-
"iso-time": "1.10.1",
|
|
34
|
-
"rhachet-artifact": "1.0.3",
|
|
35
|
-
"serde-fns": "1.3.0",
|
|
36
|
-
"type-fns": "1.21.0"
|
|
63
|
+
"helpful-errors": "1.5.3"
|
|
37
64
|
},
|
|
38
65
|
"devDependencies": {
|
|
39
66
|
"@biomejs/biome": "2.3.8",
|
|
@@ -69,37 +96,5 @@
|
|
|
69
96
|
"path": "./node_modules/cz-conventional-changelog"
|
|
70
97
|
}
|
|
71
98
|
},
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
"commit:with-cli": "npx cz",
|
|
75
|
-
"fix:format:biome": "biome check --write",
|
|
76
|
-
"fix:format": "npm run fix:format:biome",
|
|
77
|
-
"fix:lint": "biome check --write",
|
|
78
|
-
"fix": "npm run fix:format && npm run fix:lint",
|
|
79
|
-
"build:clean:bun": "rm -f ./bin/*.bc",
|
|
80
|
-
"build:clean:tsc": "(chmod -R u+w dist 2>/dev/null || true) && rm -rf dist/",
|
|
81
|
-
"build:clean": "npm run build:clean:tsc && npm run build:clean:bun",
|
|
82
|
-
"build:compile:tsc": "tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json",
|
|
83
|
-
"build:compile": "npm run build:compile:tsc && npm run build:compile:bun --if-present",
|
|
84
|
-
"build": "npm run build:clean && npm run build:compile && npm run build:complete --if-present",
|
|
85
|
-
"test:commits": "LAST_TAG=$(git describe --tags --abbrev=0 @^ 2> /dev/null || git rev-list --max-parents=0 HEAD) && npx commitlint --from $LAST_TAG --to HEAD --verbose",
|
|
86
|
-
"test:types": "tsc -p ./tsconfig.json --noEmit",
|
|
87
|
-
"test:format:biome": "biome format",
|
|
88
|
-
"test:format": "npm run test:format:biome",
|
|
89
|
-
"test:lint:deps": "npx depcheck -c ./.depcheckrc.yml",
|
|
90
|
-
"test:lint:biome": "biome check --diagnostic-level=error",
|
|
91
|
-
"test:lint:biome:all": "biome check",
|
|
92
|
-
"test:lint": "npm run test:lint:biome && npm run test:lint:deps",
|
|
93
|
-
"test:unit": "jest -c ./jest.unit.config.ts --forceExit --verbose --passWithNoTests $([ -z $THOROUGH ] && echo '--changedSince=main') $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
94
|
-
"test:integration": "jest -c ./jest.integration.config.ts --forceExit --verbose --passWithNoTests $([ -z $THOROUGH ] && echo '--changedSince=main') $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
95
|
-
"test:acceptance:locally": "npm run build && LOCALLY=true jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
96
|
-
"test": "npm run test:commits && npm run test:types && npm run test:format && npm run test:lint && npm run test:unit && npm run test:integration && npm run test:acceptance:locally",
|
|
97
|
-
"test:acceptance": "npm run build && jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n $RESNAP ] && echo '--updateSnapshot')",
|
|
98
|
-
"prepush": "npm run test && npm run build",
|
|
99
|
-
"prepublish": "npm run build",
|
|
100
|
-
"preversion": "npm run prepush",
|
|
101
|
-
"postversion": "git push origin HEAD --tags --no-verify",
|
|
102
|
-
"prepare:husky": "husky install && chmod ug+x .husky/*",
|
|
103
|
-
"prepare:rhachet": "rhachet init --mode upsert && rhachet roles link --repo ehmpathy --role mechanic && rhachet roles link --repo bhuild --role behaver && rhachet roles link --repo bhrain --role reviewer && rhachet roles init --role mechanic && rhachet roles init --role behaver"
|
|
104
|
-
}
|
|
105
|
-
}
|
|
99
|
+
"packageManager": "pnpm@10.24.0"
|
|
100
|
+
}
|
package/readme.md
CHANGED
|
@@ -6,6 +6,30 @@ shim console.log to fix emoji space render issues across terminals.
|
|
|
6
6
|
|
|
7
7
|
some emojis render incorrectly across different terminals due to character width inconsistencies. for example, the beaver emoji (`🦫`) may appear to "eat" the space after it in VS Code's terminal, while it renders correctly in other terminals.
|
|
8
8
|
|
|
9
|
+
### before (without shim)
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
// vscode terminal - space after emoji is "eaten"
|
|
13
|
+
console.log('🦫 beaver')
|
|
14
|
+
→ 🦫beaver ← space disappeared!
|
|
15
|
+
|
|
16
|
+
// other terminals - renders correctly
|
|
17
|
+
console.log('🦫 beaver')
|
|
18
|
+
→ 🦫 beaver ← space preserved
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### after (with shim)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
// vscode terminal - shim adds extra space to compensate
|
|
25
|
+
console.log('🦫 beaver')
|
|
26
|
+
→ 🦫 beaver ← looks correct!
|
|
27
|
+
|
|
28
|
+
// other terminals - no adjustment needed
|
|
29
|
+
console.log('🦫 beaver')
|
|
30
|
+
→ 🦫 beaver ← still correct
|
|
31
|
+
```
|
|
32
|
+
|
|
9
33
|
## solution
|
|
10
34
|
|
|
11
35
|
this package provides a shim that automatically adjusts space after emojis based on the detected terminal. this ensures consistent visual output.
|