Switch from source_maps' Span class to source_span's SourceSpan class.
new StringScanner()'s sourceUrl parameter is now named to make it clear that it can be safely null.
new StringScannerException() takes different arguments in a different order to match SpanFormatException.
StringScannerException.string has been renamed to StringScannerException.source to match the FormatException interface.
StringScannerException inherit from source_map's [SpanFormatException][].new StringScanner() now takes an optional sourceUrl argument that provides the URL of the source file. This is used for error reporting.
Add StringScanner.readChar() and StringScanner.peekChar() methods for doing character-by-character scanning.
Scanners now throw StringScannerExceptions which provide more detailed access to information about the errors that were thrown and can provide terminal-colored messages.
Add a LineScanner subclass of StringScanner that automatically tracks line and column information of the text being scanned.
Add a SpanScanner subclass of LineScanner that exposes matched ranges as [source map][] Span objects.