string_scanner 1.0.0 string_scanner: ^1.0.0 copied to clipboard
A class for parsing strings using a sequence of patterns.
1.0.0 #
-
Breaking change:
StringScanner.error()
'slength
argument now defaults to0
rather than1
when no match data is available. -
Breaking change:
StringScanner.lastMatch
and related methods are now reset when the scanner's position changes without producing a new match.
Note: While the changes in 1.0.0
are user-visible, they're unlikely to
actually break any code in practice. Unless you know that your package is
incompatible with 0.1.x, consider using 0.1.5 as your lower bound rather
than 1.0.0. For example, string_scanner: ">=0.1.5 <2.0.0"
.
0.1.5 #
-
Add
new SpanScanner.within()
, which scans within a existingFileSpan
. -
Add
StringScanner.scanChar()
andStringScanner.expectChar()
.
0.1.4+1 #
- Remove the dependency on
path
, since we don't actually import it.
0.1.4 #
- Add
new SpanScanner.eager()
for creating aSpanScanner
that eagerly computes its current line and column numbers.
0.1.3+2 #
- Fix
LineScanner
's handling of carriage returns to match that ofSpanScanner
.
0.1.3+1 #
- Fixed the homepage URL.
0.1.3 #
- Add an optional
endState
argument toSpanScanner.spanFrom
.
0.1.2 #
- Add
StringScanner.substring
, which returns a substring of the source string.
0.1.1 #
-
Declare
SpanScanner
's exposedSourceSpan
s andSourceLocation
s to beFileSpan
s andFileLocation
s. They always were underneath, but callers may now rely on it. -
Add
SpanScanner.location
, which returns the scanner's currentSourceLocation
.
0.1.0 #
-
Switch from
source_maps
'Span
class tosource_span
'sSourceSpan
class. -
new StringScanner()
'ssourceUrl
parameter is now named to make it clear that it can be safelynull
. -
new StringScannerException()
takes different arguments in a different order to matchSpanFormatException
. -
StringScannerException.string
has been renamed toStringScannerException.source
to match theFormatException
interface.
0.0.3 #
- Make
StringScannerException
inherit from source_map's [SpanFormatException
][].
0.0.2 #
-
new StringScanner()
now takes an optionalsourceUrl
argument that provides the URL of the source file. This is used for error reporting. -
Add
StringScanner.readChar()
andStringScanner.peekChar()
methods for doing character-by-character scanning. -
Scanners now throw
StringScannerException
s which provide more detailed access to information about the errors that were thrown and can provide terminal-colored messages. -
Add a
LineScanner
subclass ofStringScanner
that automatically tracks line and column information of the text being scanned. -
Add a
SpanScanner
subclass ofLineScanner
that exposes matched ranges as [source map][]Span
objects.