Xterm.js: ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с эмодзи / юникодом (прСдполагаСтся двойная ΡˆΠΈΡ€ΠΈΠ½Π°?)

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 12 ΠΎΠΊΡ‚. 2017  Β·  24ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: xtermjs/xterm.js

Π’ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии 3 смайлики Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π΄Π²Π΅ ячСйки. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ клавиши со стрСлками, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ Π΄Π²Π΅ ячСйки вмСсто ΠΎΠ΄Π½ΠΎΠΉ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Π΄Π²Π΅ ячСйки.

kapture 2017-10-12 at 18 34 05

arerenderer duplicate typbug

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

VSCode 1.31.1 Π² Ubuntu 18.04 испытываСт эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Когда Π²Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш со стрСлками, Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, скорСС всСго, ΠΎΠ½Π° Π½Π΅Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отобраТаСтся, отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² памяти Π² xterm.

Π¨Π°Π³ΠΈ:

Π’ мою подсказку Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ смайлик:
screenshot from 2019-02-21 11-10-15
НаТмитС ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· стрСлку Π²Π²Π΅Ρ€Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ npm i
screenshot from 2019-02-21 11-10-55

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ n ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅.

Π£Π΄Π°Π»ΠΈΡ‚Π΅ смайлик ΠΈΠ· ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π² .bashrc ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΈ ошибка исчСзнСт.

ВсС 24 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ воспроизвСсти это Π½Π° macOS / bash. Π― Π±Ρ‹ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π», Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΌΡ‹ Π½Π΅ попытаСмся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ эмодзи (ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ Π½Π΅ Ρ€Π°Π²Π½ΠΎΠΉ 1). Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС подробностСй ΠΎ ΡˆΠ°Π³Π°Ρ… воспроизвСдСния.

ВоспроизвСсти (OSX, MacOS High Sierra)

  • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ v3
  • Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ πŸ˜€ нСсколько Ρ€Π°Π·
  • Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ со стрСлкой Π²Π»Π΅Π²ΠΎ нСсколько Ρ€Π°Π·, посмотритС, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· пСрСскакиваСт Π½Π° Π΄Π²Π΅ ячСйки ΠΈ сталкиваСтся с Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ячССк.

Π’Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ MacOS High Sierra, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ я? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Ρ‚Π°ΠΊΠΆΠ΅ связано с node-pty - я Π²ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ вставкС смайлика Π² Terminal.app ΠΎΠ½ автоматичСски добавляСт ΠΏΡ€ΠΎΠ±Π΅Π» послС смайлика, ΠΈ Π΄Π°ΠΆΠ΅ большС, я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ это пространство, это ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΡƒΠ³Ρ€ΠΎΠ·Ρƒ High Sierra это ΠΊΠ°ΠΊ символ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ...

Terminal.app Π½Π° MacOS High Sierra
kapture 2017-10-13 at 22 55 32

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ высококлассная Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Emojis Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅? Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСйчас, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π² прилоТСниях Electron.

НСнавиТу Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ я обновился, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ мСня ΠΊΡƒΡ‡Π° сбоСв Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π²ΠΎ всСх этих прилоТСниях Π½Π° основС Ρ…Ρ€ΠΎΠΌΠ° 😀

Π”Π°, я Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ слСдил Π·Π° ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, Π΄ΡƒΠΌΠ°ΡŽ, с Sierra происходили ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π²Π΅Ρ‰ΠΈ.

Π― Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽ, Ρ‡Ρ‚ΠΎ Π² Terminal.app приятный ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с эмодзи, Π³Π΄Π΅ ΠΎΠ½ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ символы, ΠΌΡ‹, вСроятно, смоТСм это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΎΠ½ΠΈ смогут πŸ˜„

UAX # 11 East Asian Width, Revision 31 ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» эмодзи _East Asian Wide_ (двойная ΡˆΠΈΡ€ΠΈΠ½Π°), Π° wcswidth Π² wchar.h Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ строк. Π”ΡƒΠΌΠ°ΡŽ, macOS High Sierra ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π»Π° Π±Ρ‹ это ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
wcwidth Π² src/CharWidth.ts xterm.js Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ.

@ mandel59 спасибо Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ!

@ mandel59 Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° спСцифична для эмодзи, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ символы CJK Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ отнСсСны ΠΊ символам Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Ρ‹, хотя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, https://github.com/xtermjs/xterm.js/issues/1387)

Бсылка: https://github.com/gnachman/iTerm2/blob/master/sources/NSCharacterSet+iTerm.m Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для сопоставлСния.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠ΄ΠΎΠΌ VS: https://github.com/Microsoft/vscode/issues/59145

По-Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌΡƒ, ΠΏΡ€ΠΎΠ±Π΅Π³ с Ρ„Π»Π°Ρ‚Ρ‚Π΅Ρ€ΠΎΠΌ дСмонстрируСт Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

Π’ΠΎΡ‚ нСбольшая рСпродукция Dart для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, для Ρ‡Π΅Π³ΠΎ Π½Π΅ трСбуСтся Flutter (хотя ΠΈ трСбуСтся Dart):

import 'dart:async';

import 'dart:io';

// Windows console font has a limited set of Unicode characters.
final _animation = Platform.isWindows
    ? <String>[r'-', r'\', r'|', r'/']
    : <String>['πŸŒ•', 'πŸŒ–', 'πŸŒ—', '🌘', 'πŸŒ‘', 'πŸŒ’', 'πŸŒ“', 'πŸŒ”'];
final _backspace = '\b' * _animation[0].length;

main() {
  int ticks = 0;
  void update(Timer timer) {
    if (ticks % 50 == 0) {
      stdout.write('\nDoing thing... ');
    }
    stdout.write('$_backspace${_animation[ticks++ % _animation.length]}');
  }

  new Timer.periodic(const Duration(milliseconds: 100), update);
}

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» .dart Π° Π·Π°Ρ‚Π΅ΠΌ запуститС Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dart xxx.dart . Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ здСсь Π²Ρ‹Π΄Π°Π΅Ρ‚ Π΄Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»Π° для этого символа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² стандартном Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ macOS ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ символ. Однако Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ VS Code ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ смайлик, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ. Если смайлик Π±Ρ‹Π» Π² Π½Π°Ρ‡Π°Π»Π΅ строки, это Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π½ΠΎ Ссли это Π½Π΅ Ρ‚Π°ΠΊ, Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ пСрСмСщаСтся Π²Π»Π΅Π²ΠΎ ΠΏΠΎ символу (ΠΈ оставляСт послС сСбя ΠΏΡ€Π°Π²ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ Π·Π½Π°Ρ‡ΠΊΠ°).

Если Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ * _animation[0].length ΠΈΠ· backspace, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ всСгда Π΄Π΅Π»Π°Π» ΠΎΠ΄ΠΈΠ½ backspace, ΠΎΠ½ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ VS Code, Π½ΠΎ большС Π½Π΅ выполняСт backspace Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ macOS (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π»ΡƒΠ½Ρ‹ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»Π·ΡƒΡ‚ Π²ΠΏΡ€Π°Π²ΠΎ !).

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ ΠΈΠ²Ρ€ΠΈΡ‚Ρƒ / арабскому языку, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² https://github.com/Microsoft/vscode/issues/60470

VSCode 1.31.1 Π² Ubuntu 18.04 испытываСт эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Когда Π²Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π²Π΅Ρ€Ρ… ΠΈΠ»ΠΈ Π²Π½ΠΈΠ· с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш со стрСлками, Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, скорСС всСго, ΠΎΠ½Π° Π½Π΅Ρ€Π°Π·Π±ΠΎΡ€Ρ‡ΠΈΠ²Π°.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отобраТаСтся, отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² памяти Π² xterm.

Π¨Π°Π³ΠΈ:

Π’ мою подсказку Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ смайлик:
screenshot from 2019-02-21 11-10-15
НаТмитС ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· стрСлку Π²Π²Π΅Ρ€Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ npm i
screenshot from 2019-02-21 11-10-55

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡˆΠ΅Π½Π½ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ n ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅.

Π£Π΄Π°Π»ΠΈΡ‚Π΅ смайлик ΠΈΠ· ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ Π² .bashrc ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΈ ошибка исчСзнСт.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, я Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ вас, рСбята, Π·Π° Π²Π°ΡˆΡƒ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

VSCode 1.31.1 Π² macOS Mojave 10.14.3 испытываСт Ρ‚ΠΎ ΠΆΠ΅ самоС. Π’ΠΎ, Ρ‡Ρ‚ΠΎ n , упомянутоС @juliusecker, случаСтся ΠΈ со ΠΌΠ½ΠΎΠΉ, Π² точности Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠ½ описал.

Π£ мСня Ρ‚Π° ΠΆΠ΅ ошибка, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» @juliusecker.
VSCode вСрсии 1.33.1 (1.33.1) 51b0b28134d51361cf996d2f0a1c698247aeabd8 2019-04-11T08: 14: 39.158Z
ВСрсия систСмы: macOS 10.14.4 (18E226)
zsh 5.7.1 (x86_64-яблоко-darwin17.7.0)

ΠžΡ‡Π΅Π½ΡŒ просто воспроизвСсти Π² VSCode ΠΈ Powershell.

emojiterminaltest.ps1

"Emoji Normal"
"😊1😊2😊3😊4"
"Emoji with Padding Spaces - What it should look like"
"😊  1😊  2😊  3😊  4"

image

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ рСсурсы для этого элСмСнта? ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… (Hyper ΠΈ Ρ‚. Π”.) ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ мноТСство рСгрСссов, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² этой Ρ‚Π΅ΠΌΠ΅.

@jerch - это Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ https://github.com/xtermjs/xterm.js/issues/1709?

@Tyriar Π”Π°, Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹, это просто ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° люди, скорСС всСго, столкнутся с этим - смайлики: smile_cat:

Π”ΡƒΠΌΠ°ΡŽ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ описываСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π° Π² # 1709 Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, плюс Ρƒ этого Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ².

Он воспроизводится Π² Windows 10 ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии:
image

image
Π’Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΠΎΠ΅ - это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠΆΡƒ Π²ΠΎ встроСнном Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ VS-ΠΊΠΎΠ΄Π°,
image
это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠΆΡƒ, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ тСкст Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ открываСтся Π² ΠΊΠΎΠ΄Π΅ VS.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сущСствуСт ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚, Π΅ΡΡ‚ΡŒ Π»ΠΈ обновлСния?

@jerch Ρ…ΠΎΡ‡Π΅Ρ‚

Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ https://github.com/xtermjs/xterm.js/issues/1709, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΠΎ сути ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»Π°ΡΡŒ.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ