Author image 歌代 和正 (Kaz Utashiro)
and 1 contributors

NAME

Text::ANSI::Tabs - Tab expand and unexpand with ANSI sequence

SYNOPSIS

    use Text::ANSI::Tabs qw(:all);
    use Text::ANSI::Tabs qw(ansi_expand ansi_unexpand);
    ansi_expand($text);
    ansi_unexpand($text);

    use Text::ANSI::Tabs;
    Text::ANSI::Tabs::expand($text);
    Text::ANSI::Tabs::unexpand($text);

VERSION

Version 0.07

DESCRIPTION

ANSI sequence and Unicode wide characters aware version of Text::Tabs.

FUNCTION

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

expand(text, ...)
ansi_expand(text, ...)

Expand tabs. Interface is compatible with Text::Tabs::expand().

Default tabstop is 8, and can be accessed through $Text::ANSI::Tabs::tabstop variable.

Option for the underlying Text::ANSI::Fold object can be passed by first parameter as an array reference, as well as Text::ANSI::Tabs->configure call.

    my $opt = [ tabhead => 'T', tabspace => '_' ];
    ansi_expand($opt, @text);

    Text::ANSI::Tabs->configure(tabstyle => 'bar');
    ansi_expand(@text);

See Text::ANSI::Fold for detail.

unexpand(text, ...)
ansi_unexpand(text, ...)

Unexpand tabs. Interface is compatible with Text::Tabs::unexpand(). Default tabstop is same as ansi_expand.

Please be aware that, current implementation may add and/or remove some redundant color designation code.

METHODS

configure

Confiugre Text::ANSI::Fold object. Related parameters are those:

tabhead => char
tabspace => char

Tab character is converted to tabhead and following tabspace characters. Both are white space by default.

tabstyle => style

Set tab expansion style. This parameter set both tabhead and tabspace at once according to the given style name. Each style has two values for tabhead and tabspace.

If two style names are combined, like symbol,space, use symbols's tabhead and space's tabspace.

See Text::ANSI::Fold for detail.

SEE ALSO

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

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

Text::Tabs

LICENSE

Copyright 2021 Kazumasa Utashiro.

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

AUTHOR

Kazumasa Utashiro <kaz@utashiro.com>