| ## 1.10.2 | |
| * Speedup of the `SourceFile.fromString` constructor. | |
| ## 1.10.1 | |
| * Require Dart 3.1 | |
| * Move to `dart-lang/tools` monorepo. | |
| ## 1.10.0 | |
| * Add a `SourceFile.codeUnits` property. | |
| * Require Dart 2.18 | |
| * Add an API usage example in `example/`. | |
| ## 1.9.1 | |
| * Properly handle multi-line labels for multi-span highlights. | |
| * Populate the pubspec `repository` field. | |
| ## 1.9.0 | |
| * Add `SourceSpanWithContextExtension.subspan` that returns a | |
| `SourceSpanWithContext` rather than a plain `SourceSpan`. | |
| ## 1.8.2 | |
| * Fix a bug where highlighting multiple spans with `null` URLs could cause an | |
| assertion error. Now when multiple spans are passed with `null` URLs, they're | |
| highlighted as though they all come from different source files. | |
| ## 1.8.1 | |
| * Fix a bug where the URL header for the highlights with multiple files would | |
| get omitted only one span has a non-null URI. | |
| ## 1.8.0 | |
| * Stable release for null safety. | |
| ## 1.7.0 | |
| * Add a `SourceSpan.subspan()` extension method which returns a slice of an | |
| existing source span. | |
| ## 1.6.0 | |
| * Add support for highlighting multiple source spans at once, providing more | |
| context for span-based messages. This is exposed through the new APIs | |
| `SourceSpan.highlightMultiple()` and `SourceSpan.messageMultiple()` (both | |
| extension methods), `MultiSourceSpanException`, and | |
| `MultiSourceSpanFormatException`. | |
| ## 1.5.6 | |
| * Fix padding around line numbers that are powers of 10 in | |
| `FileSpan.highlight()`. | |
| ## 1.5.5 | |
| * Fix a bug where `FileSpan.highlight()` would crash for spans that covered a | |
| trailing newline and a single additional empty line. | |
| ## 1.5.4 | |
| * `FileSpan.highlight()` now properly highlights point spans at the beginning of | |
| lines. | |
| ## 1.5.3 | |
| * Fix an edge case where `FileSpan.highlight()` would put the highlight | |
| indicator in the wrong position when highlighting a point span after the end | |
| of a file. | |
| ## 1.5.2 | |
| * `SourceFile.span()` now goes to the end of the file by default, rather than | |
| ending one character before the end of the file. This matches the documented | |
| behavior. | |
| * `FileSpan.context` now includes the full line on which the span appears for | |
| empty spans at the beginning and end of lines. | |
| * Fix an edge case where `FileSpan.highlight()` could crash when highlighting a | |
| span that ended with an empty line. | |
| ## 1.5.1 | |
| * Produce better source span highlights for multi-line spans that cover the | |
| entire last line of the span, including the newline. | |
| * Produce better source span highlights for spans that contain Windows-style | |
| newlines. | |
| ## 1.5.0 | |
| * Improve the output of `SourceSpan.highlight()` and `SourceSpan.message()`: | |
| * They now include line numbers. | |
| * They will now print every line of a multiline span. | |
| * They will now use Unicode box-drawing characters by default (this can be | |
| controlled using [`term_glyph.ascii`][]). | |
| [`term_glyph.ascii`]: https://pub.dartlang.org/documentation/term_glyph/latest/term_glyph/ascii.html | |
| ## 1.4.1 | |
| * Set max SDK version to `<3.0.0`, and adjust other dependencies. | |
| ## 1.4.0 | |
| * The `new SourceFile()` constructor is deprecated. This constructed a source | |
| file from a string's runes, rather than its code units, which runs counter to | |
| the way Dart handles strings otherwise. The `new StringFile.fromString()` | |
| constructor (see below) should be used instead. | |
| * The `new SourceFile.fromString()` constructor was added. This works like `new | |
| SourceFile()`, except it uses code units rather than runes. | |
| * The current behavior when characters larger than `0xFFFF` are passed to `new | |
| SourceFile.decoded()` is now considered deprecated. | |
| ## 1.3.1 | |
| * Properly highlight spans for lines that include tabs with | |
| `SourceSpan.highlight()` and `SourceSpan.message()`. | |
| ## 1.3.0 | |
| * Add `SourceSpan.highlight()`, which returns just the highlighted text that | |
| would be included in `SourceSpan.message()`. | |
| ## 1.2.4 | |
| * Fix a new strong mode error. | |
| ## 1.2.3 | |
| * Fix a bug where a point span at the end of a file without a trailing newline | |
| would be printed incorrectly. | |
| ## 1.2.2 | |
| * Allow `SourceSpanException.message`, `SourceSpanFormatException.source`, and | |
| `SourceSpanWithContext.context` to be overridden in strong mode. | |
| ## 1.2.1 | |
| * Fix the declared type of `FileSpan.start` and `FileSpan.end`. In 1.2.0 these | |
| were mistakenly changed from `FileLocation` to `SourceLocation`. | |
| ## 1.2.0 | |
| * **Deprecated:** Extending `SourceLocation` directly is deprecated. Instead, | |
| extend the new `SourceLocationBase` class or mix in the new | |
| `SourceLocationMixin` mixin. | |
| * Dramatically improve the performance of `FileLocation`. | |
| ## 1.1.6 | |
| * Optimize `getLine()` in `SourceFile` when repeatedly called. | |
| ## 1.1.5 | |
| * Fixed another case in which `FileSpan.union` could throw an exception for | |
| external implementations of `FileSpan`. | |
| ## 1.1.4 | |
| * Eliminated dart2js warning about overriding `==`, but not `hashCode`. | |
| ## 1.1.3 | |
| * `FileSpan.compareTo`, `FileSpan.==`, `FileSpan.union`, and `FileSpan.expand` | |
| no longer throw exceptions for external implementations of `FileSpan`. | |
| * `FileSpan.hashCode` now fully agrees with `FileSpan.==`. | |
| ## 1.1.2 | |
| * Fixed validation in `SourceSpanWithContext` to allow multiple occurrences of | |
| `text` within `context`. | |
| ## 1.1.1 | |
| * Fixed `FileSpan`'s context to include the full span text, not just the first | |
| line of it. | |
| ## 1.1.0 | |
| * Added `SourceSpanWithContext`: a span that also includes the full line of text | |
| that contains the span. | |
| ## 1.0.3 | |
| * Cleanup equality operator to accept any Object rather than just a | |
| `SourceLocation`. | |
| ## 1.0.2 | |
| * Avoid unintentionally allocating extra objects for internal `FileSpan` | |
| operations. | |
| * Ensure that `SourceSpan.operator==` works on arbitrary `Object`s. | |
| ## 1.0.1 | |
| * Use a more compact internal representation for `FileSpan`. | |
| ## 1.0.0 | |
| This package was extracted from the | |
| [`source_maps`](https://pub.dev/packages/source_maps) package, but the | |
| API has many differences. Among them: | |
| * `Span` has been renamed to `SourceSpan` and `Location` has been renamed to | |
| `SourceLocation` to clarify their purpose and maintain consistency with the | |
| package name. Likewise, `SpanException` is now `SourceSpanException` and | |
| `SpanFormatException` is not `SourceSpanFormatException`. | |
| * `FixedSpan` and `FixedLocation` have been rolled into the `Span` and | |
| `Location` classes, respectively. | |
| * `SourceFile` is more aggressive about validating its arguments. Out-of-bounds | |
| lines, columns, and offsets will now throw errors rather than be silently | |
| clamped. | |
| * `SourceSpan.sourceUrl`, `SourceLocation.sourceUrl`, and `SourceFile.url` now | |
| return `Uri` objects rather than `String`s. The constructors allow either | |
| `String`s or `Uri`s. | |
| * `Span.getLocationMessage` and `SourceFile.getLocationMessage` are now | |
| `SourceSpan.message` and `SourceFile.message`, respectively. Rather than | |
| taking both a `useColor` and a `color` parameter, they now take a single | |
| `color` parameter that controls both whether and which color is used. | |
| * `Span.isIdentifier` has been removed. This property doesn't make sense outside | |
| of a source map context. | |
| * `SourceFileSegment` has been removed. This class wasn't widely used and was | |
| inconsistent in its choice of which parameters were considered relative and | |
| which absolute. |