charWidth function

int charWidth(
  1. int codePoint
)

Returns the display width (number of terminal columns) of a single codePoint.

Wide characters (e.g. CJK, emoji) return 2; control characters return 0.

Implementation

int charWidth(int codePoint) {
  if (codePoint < 32) return 0;
  if (codePoint < 127) return 1;
  if (codePoint < 0xA0) return 0;

  if (_isWide(codePoint)) return 2;

  return 1;
}