Skip to content

Slicing seems to be wrong #12

@ChALkeR

Description

@ChALkeR

See pnpm/pnpm#9642

Test:

const str = `\x1B[4m${'ABC'}\x1B[24m${'\n'}\x1B[4m${'DEF'}\x1B[24m`

for (let i = 4; i < 12; i++) {
  console.log([i, i + 3, require('@arcanis/slice-ansi')(str, i, i + 3)])
}

None of that contains valid formatted DEF. I would have expected the very first (4, 7) to contain it

Instead, it outputs:

[ 4, 7, { slice: '\x1B[4m\x1B[24m\x1B[4', visible: 3 } ]
[ 5, 8, { slice: '\x1B[4m\x1B[24m[4m', visible: 3 } ]
[ 6, 9, { slice: '\x1B[4m\x1B[24m4mD', visible: 3 } ]
[ 7, 10, { slice: '\x1B[4m\x1B[24mmDE', visible: 3 } ]
[ 8, 11, { slice: '\x1B[4m\x1B[24mDEF', visible: 3 } ]
[ 9, 12, { slice: '\x1B[4m\x1B[24mEF\x1B', visible: 3 } ]
[ 10, 13, { slice: '\x1B[4m\x1B[24mF\x1B[', visible: 3 } ]
[ 11, 14, { slice: '\x1B[4m\x1B[24m\x1B[2', visible: 3 } ]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions