substr-ansi

Get the `String#substr` correctly handling ansi escape codes.

Usage no npm install needed!

<script type="module">
  import substrAnsi from 'https://cdn.skypack.dev/substr-ansi';
</script>

README

substr-ansi Build Status

Get the String#substr correctly handling ansi escape codes.

Install

$ npm install --save substr-ansi

Usage

var substrAnsi = require('substr-ansi');

console.log(substrAnsi('\u001b[47mHi\u001b[49m', 0, 2));
//=> Hi
Note that the ansi code are preserved: \u001b[47mHi\u001b[49m

'\u001b[47mHi\u001b[49m'.substr(0, 2) results in a broken string:
//=> \u001b[


substrAnsi('\u001b[0m\u001b[31m\u001b[47mHello', 0, 5);
//=> Hello (visible text)
Complete string: `\u001b[0m\u001b[31m\u001b[47mHello`

API

substrAnsi(str, start[, length])

str

Required
Type: string

The original string that will be used to extract a section from it.

start

Type: integer
Default: 0

Location at which to begin extracting characters.

length

Type: integer
Default: str.length

Optional. The number of characters to extract.

License

MIT © Danilo Sampaio