-
-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Sindre Sorhus <sindresorhus@gmail.com>
- Loading branch information
1 parent
99ada39
commit bafa535
Showing
3 changed files
with
60 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
export type Options = { | ||
/** | ||
By default the wrap is soft, meaning long words may extend past the column width. Setting this to `true` will make it hard wrap at the column width. | ||
@default false | ||
*/ | ||
readonly hard?: boolean; | ||
|
||
/** | ||
By default, an attempt is made to split words at spaces, ensuring that they don't extend past the configured columns. If wordWrap is `false`, each column will instead be completely filled splitting words as necessary. | ||
@default true | ||
*/ | ||
readonly wordWrap?: boolean; | ||
|
||
/** | ||
Whitespace on all lines is removed by default. Set this option to `false` if you don't want to trim. | ||
@default true | ||
*/ | ||
readonly trim?: boolean; | ||
}; | ||
|
||
/** | ||
Wrap words to the specified column width. | ||
@param string - String with ANSI escape codes. Like one styled by [`chalk`](https://github.com/chalk/chalk). Newline characters will be normalized to `\n`. | ||
@param columns - Number of columns to wrap the text to. | ||
@example | ||
``` | ||
import chalk from 'chalk'; | ||
import wrapAnsi from 'wrap-ansi'; | ||
const input = 'The quick brown ' + chalk.red('fox jumped over ') + | ||
'the lazy ' + chalk.green('dog and then ran away with the unicorn.'); | ||
console.log(wrapAnsi(input, 20)); | ||
``` | ||
*/ | ||
export default function wrapAnsi(string: string, columns: number, options?: Options): string; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import {expectType} from 'tsd'; | ||
import wrapAnsi from './index.js'; | ||
|
||
expectType<string>(wrapAnsi('input', 80)); | ||
expectType<string>(wrapAnsi('input', 80, {})); | ||
expectType<string>(wrapAnsi('input', 80, {hard: true})); | ||
expectType<string>(wrapAnsi('input', 80, {hard: false})); | ||
expectType<string>(wrapAnsi('input', 80, {trim: true})); | ||
expectType<string>(wrapAnsi('input', 80, {trim: false})); | ||
expectType<string>(wrapAnsi('input', 80, {wordWrap: true})); | ||
expectType<string>(wrapAnsi('input', 80, {wordWrap: false})); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters