gajus / gajus/table

Add option to expand one column to fill console

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

Description

In node I can get the width of the console from process.stdout.columns. So I can get the available rest width for one column with the following formula:
```
const fixedColumnsWidth = [ w1, w2, ..., wn-1];
const fixedColumnsCount = fixedColumnsWidth.length; // n - 1
const consoleWidth = process.stdout.columns; // Other environments could not have process
// calculate width of column n
const wn = consoleWidth
- fixedColumnsWidth.reduce((sum, width) => sum + width, 0) // get the sum of all fixed column widths
- (fixedColumnsCount + 1) * 3 // add 1 for the variable width column, each column has three extra chars
- 1; // subtract one char for the first vertical line
```
I have only to make sure that `wn` does not get smaller than zero. So we should also define a `minWidth` for this column. I am using this on my tables with the help of a little manual calculation and a ternary expression.

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.