From c96eda59db5234a449bcc7ce24b309308613ecaa Mon Sep 17 00:00:00 2001 From: Nate Moore Date: Sun, 5 Mar 2023 17:39:55 -0600 Subject: [PATCH] fix(#99): enable hard wrapping for long words --- .changeset/purple-lions-doubt.md | 6 ++++++ packages/core/src/prompts/prompt.ts | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/purple-lions-doubt.md diff --git a/.changeset/purple-lions-doubt.md b/.changeset/purple-lions-doubt.md new file mode 100644 index 00000000..3f83e4a7 --- /dev/null +++ b/.changeset/purple-lions-doubt.md @@ -0,0 +1,6 @@ +--- +'@clack/core': patch +'@clack/prompts': patch +--- + +Enable hard line-wrapping behavior for long words without spaces diff --git a/packages/core/src/prompts/prompt.ts b/packages/core/src/prompts/prompt.ts index 9e461048..6faeb874 100644 --- a/packages/core/src/prompts/prompt.ts +++ b/packages/core/src/prompts/prompt.ts @@ -205,15 +205,14 @@ export default class Prompt { this.unsubscribe(); } - // TODO: handle wrapping private restoreCursor() { - const lines = wrap(this._prevFrame, process.stdout.columns).split('\n').length - 1; + const lines = wrap(this._prevFrame, process.stdout.columns, { hard: true }).split('\n').length - 1; this.output.write(cursor.move(-999, lines * -1)); } private _prevFrame = ''; private render() { - const frame = wrap(this._render(this) ?? '', process.stdout.columns); + const frame = wrap(this._render(this) ?? '', process.stdout.columns, { hard: true }); if (frame === this._prevFrame) return; if (this.state === 'initial') {