Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    cli-truncatepublic

    cli-truncate Build Status

    Truncate a string to a specific width in the terminal

    Gracefully handles ANSI escapes. Like a string styled with chalk. It also supports Unicode surrogate pairs and fullwidth characters.

    Install

    $ npm install cli-truncate
    

    Usage

    const cliTruncate = require('cli-truncate');
     
    cliTruncate('unicorn', 4);
    //=> 'uni…'
     
    // Truncate at different positions
    cliTruncate('unicorn', 4, {position: 'start'});
    //=> '…orn'
     
    cliTruncate('unicorn', 4, {position: 'middle'});
    //=> 'un…n'
     
    cliTruncate('\u001B[31municorn\u001B[39m', 4);
    //=> '\u001B[31muni\u001B[39m…'
     
    // Truncate Unicode surrogate pairs
    cliTruncate('uni\uD83C\uDE00corn', 5);
    //=> 'uni\uD83C\uDE00…'
     
    // Truncate fullwidth characters
    cliTruncate('안녕하세요', 3);
    //=> '안…'
     
    // Truncate the paragraph to the terminal width
    const paragraph = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.';
    cliTruncate(paragraph, process.stdout.columns));
    //=> 'Lorem ipsum dolor sit amet, consectetuer adipiscing…'

    API

    cliTruncate(input, columns, [options])

    input

    Type: string

    Text to truncate.

    columns

    Type: number

    Columns to occupy in the terminal.

    options

    Type: Object

    position

    Type: string
    Default: end
    Values: start middle end

    Position to truncate the string.

    Related

    • wrap-ansi - Wordwrap a string with ANSI escape codes
    • slice-ansi - Slice a string with ANSI escape codes

    License

    MIT © Sindre Sorhus

    install

    npm i cli-truncate

    Downloadsweekly downloads

    477,160

    version

    1.1.0

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar