NAME

ansiexpand, ansiunexpand - ANSI sequences aware tab expand/unexpand command

SYNOPSIS

ansiexpand [ option ] file ...

ansiunexpand [ option ] file ...

-u --unexpand               convert spaces to tabs
-x --minimum=[#]            minimum space count to be converted
-t --tabstop=#              tab stop width
   --tabhead=char           tab head character
   --tabspace=char          tab space character
   --tabstyle=style         tab style
   --ambiguous=wide|narrow  width of Unicode ambiguous character

VERSION

Version 1.05

DESCRIPTION

ansiexpand is an expand(1) compatible command utilizing Text::ANSI::Tabs module, which enables to handle ANSI terminal sequences and Unicode wide characters. Not only expanding tabs to spaces, it can visualize them in various styles.

This is a command line interface for Text::ANSI::Tabs module, which uses Text::ANSI::Fold module as a backend. Consult them for implementation detail.

OPTIONS

-u, --unexpand

Behave as unexpand command.

-a

This option exists only for compatibility with the unexpand command. It can be used but has no effect on the behavior of the command.

-x[#], --minimum=[#]

By default, two or more consecutive whitespace characters are converted by the -u option or ansiunexpand command. This option sets the minimum number of whitespace characters to be converted. If no value is given, a value of 1 is assumed, and all possible whitespace is converted to tabs.

--tabstop=#, -t#

Set tab stop width. Unlike expand(1), takes only single value.

--tabhead=char
--tabspace=char

Set tab head and following space character. If longer than single character, it is considered as a Unicode name.

--tabstyle, --ts
--tabstyle=style, --ts=...
--tabstyle=head-style,space-style --ts=...

Set the style how tab is expanded. Select symbol or shade for example. If two style names are combined, like squat-arrow,middle-dot, use squat-arrow for tabhead and middle-dot for tabspace.

Show available style list if called without parameter. Styles are defined in Text::ANSI::Fold library.

--ambiguous=wide|narrow

Set the width of Unicode ambiguous characters. Default is narrow.

INCOMPATIBILITY

ansiunexpand, with or without the -a option, always converts all possible spaces, not just leading ones. Because there is no point in using the ansiunexpand command to convert only leading spaces, so please use the normal unexpand(1) in that case.

FILES

~/.ansiunexpandrc
~/.ansiexpandrc

Start-up file. See Getopt::EX::Module for format.

INSTALL

CPANMINUS

$ cpanm App::ansiexpand

SEE ALSO

App::ansiexpand, https://github.com/tecolicom/App-ansiexpand

Text::ANSI::Tabs

Text::ANSI::Fold

AUTHOR

Kazumasa Utashiro

LICENSE

Copyright ©︎ 2021-2024 Kazumasa Utashiro

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