Add an additional optional argument to SpanScanner.spanFrom. R=rnystrom@google.com Review URL: https://codereview.chromium.org//795343003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/string_scanner@42305 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/pkgs/string_scanner/CHANGELOG.md b/pkgs/string_scanner/CHANGELOG.md index d273748..9c03874 100644 --- a/pkgs/string_scanner/CHANGELOG.md +++ b/pkgs/string_scanner/CHANGELOG.md
@@ -1,3 +1,7 @@ +## 0.1.3 + +* Add an optional `endState` argument to `SpanScanner.spanFrom`. + ## 0.1.2 * Add `StringScanner.substring`, which returns a substring of the source string.
diff --git a/pkgs/string_scanner/lib/src/span_scanner.dart b/pkgs/string_scanner/lib/src/span_scanner.dart index a70d5fd..2a78b5b 100644 --- a/pkgs/string_scanner/lib/src/span_scanner.dart +++ b/pkgs/string_scanner/lib/src/span_scanner.dart
@@ -58,8 +58,10 @@ /// Creates a [FileSpan] representing the source range between [startState] /// and the current position. - FileSpan spanFrom(LineScannerState startState) => - _sourceFile.span(startState.position, position); + FileSpan spanFrom(LineScannerState startState, [LineScannerState endState]) { + var endPosition = endState == null ? position : endState.position; + return _sourceFile.span(startState.position, endPosition); + } bool matches(Pattern pattern) { if (!super.matches(pattern)) {
diff --git a/pkgs/string_scanner/pubspec.yaml b/pkgs/string_scanner/pubspec.yaml index d14a43e..da93ead 100644 --- a/pkgs/string_scanner/pubspec.yaml +++ b/pkgs/string_scanner/pubspec.yaml
@@ -1,5 +1,5 @@ name: string_scanner -version: 0.1.2 +version: 0.1.3 author: "Dart Team <misc@dartlang.org>" homepage: http://www.dartlang.org description: >