gajus / gajus/table

Emoji break wrapWord

Open
#180 4 comments 0 reactions 1 assignee Claimed by @nam-hle View on GitHub
bug
Dominant language
TypeScript
Stars
973
Forks
81
PR merge metrics
No merged PRs in 30d

Description

Hi there,

If I enable word wrap with columns that have emoji in them, it eats the first letter of the word on the line below... I assume this has something to do with full width calculations.

## Example
```js
const table = require("table");

const works = [
["Name", "Number"],
["Some Text", 24],
["Some more text", 22],
["I am a reallylong name", 19],
["I have a super duperlongname", 18],
];
const doesntwork = [
["Name", "Number"],
["πŸ₯‡ Some Text", 24],
["πŸ₯ˆ Some more text", 22],
["πŸ₯‰ I am a reallylong name", 19],
["I have a super duperlongname", 18],
];

const config = {
columns: [
{ alignment: "left", width: 15, wrapWord: true },
{ alignment: "right", width: 10, wrapWord: true },
],
header: { alignment: "center", content: "My Table", wrapWord: true },
};
console.log(table.table(works, config));
console.log(table.table(doesntwork, config));

```
## Results

```
╔══════════════════════════════╗
β•‘ My Table β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ Name β”‚ Number β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ Some Text β”‚ 24 β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ Some more text β”‚ 22 β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ I am a β”‚ 19 β•‘
β•‘ reallylong name β”‚ β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ I have a super β”‚ 18 β•‘
β•‘ duperlongname β”‚ β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•§β•β•β•β•β•β•β•β•β•β•β•β•β•

╔══════════════════════════════╗
β•‘ My Table β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ Name β”‚ Number β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ πŸ₯‡ Some Text β”‚ 24 β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ πŸ₯ˆ Some more β”‚ 22 β•‘
β•‘ ext β”‚ β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ πŸ₯‰ I am a β”‚ 19 β•‘
β•‘ eallylong name β”‚ β•‘
β•Ÿβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β•’
β•‘ I have a super β”‚ 18 β•‘
β•‘ duperlongname β”‚ β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•§β•β•β•β•β•β•β•β•β•β•β•β•β•
```

Do you have any idea how to remedy this?

Thanks for making this library. It's of great use to me :smile:

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.