Commit 49beee1
authored
feat: add runtime table builder and pretty-csv utility (#73)
* feat: add runtime table builder and pretty-csv utility
Implements `TableBuilder` for dynamic row management during runtime.
Introduces `pretty-csv` binary for rendering text tables from CSV/TSV data.
Updates install script and documentation coverage.
* feat(pretty-table): add DynTable for dynamic tables
Refactor pretty-csv to use the new DynTable module instead of custom rendering logic.
Remove duplicate width detection and truncation implementation to leverage library features. Update documentation to reflect changes in pretty-table and add new packages.
* fmt
* refactor(pretty-table): rename APIs and expand features
Rename API types for semantic clarity:
- Rename `TableBuilder(N)` to `Table(N).Owned`.
- Rename `DynTable` to `RuntimeTable`.
Add support for more complex data representations:
- Add `transpose` mode and row separators to `Table(N)`.
- Add footer support, per-column alignment, and `"{f}"` formatting to `RuntimeTable`.
- Expose `--row-separator` and `--right-columns` flags to CLI tools.
This enables flexible row representations and precise numerical alignment in reports.
* fix(pretty-csv): remove column filtering limit
Remove hardcoded 256 column limit in filtering by utilizing dynamic memory allocation. Previously, columns exceeding this threshold were silently truncated.
Improve visual truncation accuracy by counting UTF-8 code points instead of bytes for accurate alignment and representation of multi-byte characters.1 parent d75a726 commit 49beee1
File tree
10 files changed
+1909
-40
lines changed- docs
- content
- packages
- programs
- static
- src
- bin
- mod
10 files changed
+1909
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
3 | 25 | | |
4 | 26 | | |
5 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| 122 | + | |
122 | 123 | | |
123 | 124 | | |
124 | 125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
57 | 58 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
0 commit comments