| Age | Commit message (Collapse) | Author |
|
|
|
QueuedIterators are iterators that can have other iterators interleaved
into their iteration sequences. This was implemented as a decent idea,
and because it may help get the iterative topDownTransform working again
(if it ever worked in the first place...)
|
|
Add some more testing utilities
|
|
|
|
|
|
Doing more command testing, and introducing coverage testing
|
|
|
|
It would also be fairly easy to convert this to a general splitRX, or
add support for additional expressions. This might be a better interface
than the one in ConfigurableTokenSplitter. (It'd almost certainly be
easier to debug/introspect than the bodged together regex that CTS
uses,)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cleanup files, and add missing comments in places.
|
|
levelSplit/levelContains from the StringUtils class are now instead in
the new LevelSplitter class in ioutils. This is so that new features of
varying sorts can be added to those functions without cluttering up
StringUtils.
|
|
|
|
|
|
|
|
This adds a simple map that uses the unicode bidirectional database to
say whether or not a given character has a mirrored counterpart (e.g, (
and ), < and >, as well as « and »)
|
|
|
|
|
|
This adds both an ability to get the column at which the indent ended,
as well as some basic page control.
|
|
ReportWriter now has support for different indent types at various
levels. This is useful for Word-style bulleted lists
|
|
A DefaultList is a list that returns a given default value for OOB
indexes, instead of an exception
|
|
|
|
A large update, this contains much debugging of the CL FORMAT routines,
as well as a few other minor changes.
|
|
|
|
|
|
|
|
|
|
This is in preparation for implementing the T and < directives
|
|
|
|
Added ReportWriter, which is a writer with support for several things
that make printing formal reports easier, like autoindenting support and
number of lines written/current character position in the line. It also
has support for automatically converting tabs to spaces.
|
|
A MapSet is a set of maps of which one is accessible at a time, indexed
by strings to pick the available one.
|
|
|
|
|
|
levelSplit/levelContains now respects both single and double quoted
strings
Added levelSplitRX that does level splitting based on a regex
|
|
|
|
This allows splitting/contain checking of strings, respecting grouping
delimiters.
Ex: The string "a|b|(a|b)" would be split into "a", "b", "(a|b)" instead
of "a", "b", "(a", "b)"
|
|
This adds a seekTo method, among other things
|
|
|
|
|
|
DoubleSided is now its own interface, and the unnecessary tape classes
have been removed
|
|
WeightedRandom had a bug causing it to be considerably less than random
in some cases
|
|
|
|
Change a few things to use more efficent implementations
|
|
This keeps the last block from a block reader
|
|
This adds some list/set utilities, including an implementation of 'plain
changes' for generating list permutations that I suspect needs some
debugging.
|