Split Shell Buffer
Splitting shell strings while preserving SGR escape sequences
When I was creating
catls, I needed to spawn a program and prints output (stdout and/or stderr) of said program to
process.stdout with some prefix (e.g. indentation, bullets, numbers, etc.) whilst preserving some of UNIX control sequences (specifically, sequences that control colors).
Run one of the commands below (in top-level folder of this repository):
pnpx execute runPreloadedNode test/split-shell-buffer/preview.ts
pnpx execute runPreloadedNode test/split-shell-buffer/preview.discrete.ts
NOTE: Documentation is lacking (because I'm lazy), pull requests are welcomed.
NOTE: The following code snippets are executed in async context.
The code below spawns a program and prints output (stdout + stderr) of said program with indent.
const stdout =const spawn =const fromChildProcess writeln =const cp =const splitter =await