NAME¶
textutil::tabify - Procedures to (un)tabify strings
SYNOPSIS¶
package require
Tcl 8.2
package require
textutil::tabify ?0.7?
::textutil::tabify::tabify string ?
num?
::textutil::tabify::tabify2 string ?
num?
::textutil::tabify::untabify string ?
num?
::textutil::tabify::untabify2 string ?
num?
DESCRIPTION¶
The package
textutil::tabify provides commands that convert between
tabulation and ordinary whitespace in strings.
The complete set of procedures is described below.
- ::textutil::tabify::tabify string
?num?
- Tabify the string by replacing any substring of
num space chars by a tabulation and return the result as a new
string. num defaults to 8.
- ::textutil::tabify::tabify2 string
?num?
- Similar to ::textutil::tabify this command tabifies
the string and returns the result as a new string. A different
algorithm is used however. Instead of replacing any substring of
num spaces this command works more like an editor. num
defaults to 8.
Each line of the text in string is treated as if there are tabstops
every num columns. Only sequences of space characters containing
more than one space character and found immediately before a tabstop are
replaced with tabs.
- ::textutil::tabify::untabify string
?num?
- Untabify the string by replacing any tabulation char
by a substring of num space chars and return the result as a new
string. num defaults to 8.
- ::textutil::tabify::untabify2 string
?num?
- Untabify the string by replacing any tabulation char
by a substring of at most num space chars and return the result as
a new string. Unlike textutil::tabify::untabify each tab is not
replaced by a fixed number of space characters. The command overlays each
line in the string with tabstops every num columns instead
and replaces tabs with just enough space characters to reach the next
tabstop. This is the complement of the actions taken by
::textutil::tabify::tabify2. num defaults to 8.
There is one asymmetry though: A tab can be replaced with a single space,
but not the other way around.
BUGS, IDEAS, FEEDBACK¶
This document, and the package it describes, will undoubtedly contain bugs and
other problems. Please report such in the category
textutil of the
Tcllib SF Trackers [
http://sourceforge.net/tracker/?group_id=12883].
Please also report any ideas for enhancements you may have for either package
and/or documentation.
SEE ALSO¶
regexp(3tcl), split(3tcl), string(3tcl)
KEYWORDS¶
formatting, string, tabstops
CATEGORY¶
Text processing