NAME

Text::ANSI::Fold::Util - Text::ANSI::Fold utilities (width, substr)

SYNOPSIS

    use Text::ANSI::Fold::Util qw(:all);
    use Text::ANSI::Fold::Util qw(ansi_width ansi_substr);
    ansi_width($text);
    ansi_substr($text, $offset, $width [, $replacement]);

    use Text::ANSI::Fold::Util;
    Text::ANSI::Fold::Util::width($text);
    Text::ANSI::Fold::Util::substr($text, ...);

VERSION

Version 1.01

DESCRIPTION

This is a collection of utilities using Text::ANSI::Fold module. All functions are aware of ANSI terminal sequence.

FUNCTION

There are exportable functions start with ansi_ prefix, and unexportable functions without them.

width(text)
ansi_width(text)

Returns visual width of given text.

substr(text, offset, width [, replacement])
ansi_substr(text, offset, width [, replacement])

Returns substring just like Perl's substr function, but string position is calculated by the visible width on the screen instead of number of characters.

If an optional replacement parameter is given, replace the substring by the replacement and return the entire string.

It does not cut the text in the middle of multi-byte character, of course. Its behavior depends on the implementation of lower module.

SEE ALSO

Text::ANSI::Fold::Util, https://github.com/kaz-utashiro/Text-ANSI-Fold-Util

Text::ANSI::Tabs, https://github.com/kaz-utashiro/Text-ANSI-Tabs

Text::ANSI::Fold, https://github.com/kaz-utashiro/Text-ANSI-Fold

Text::Tabs

AUTHOR

Kazumasa Utashiro

LICENSE

Copyright 2020-2022 Kazumasa Utashiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.