)]}'
{
  "commit": "103c983d652776af450ff3b32b57a9e09dd08719",
  "tree": "e7607ce8150224854bba773b2e8d9883d7c7e104",
  "parents": [
    "3870ab5f3a68622e4eeba6aec48f21a396fa9929"
  ],
  "author": {
    "name": "Danny Tuppeny",
    "email": "danny@tuppeny.com",
    "time": "Wed Jul 29 22:57:19 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 29 14:57:19 2026 -0700"
  },
  "message": "Fix the patterns for code blocks and the handling of newlines when matching patterns (#9921)\n\n* Fix the patterns for code blocks and the handling of newlines when matching patterns\n\nTextMate grammars are matched by-line and therefore can never match `\\n`. However our Dart implementation allowed this, which resulted in some bugs when code blocks are not closed.\n\nThis updates the grammar to instead use $ to match the end of the line, and updates the parser to only ever match on the current line and not consumer the newline. With this change, the result matches the output of the TypeScript implementation used for testing in Dart-Code.\n\nThe source PR for this version of the grammar is at https://github.com/dart-lang/dart-syntax-highlight/pull/91 (I\u0027m filing these together because one repo owns the syntax and one owns the parser).\n\nSee Dart-Code/Dart-Code#6130\nSee Dart-Code/Dart-Code#6131\n\n* Update NEXT_RELEASE_NOTES.md",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b73e9bd36d17b9eaca22f9df7489d22f627f2e4d",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/assets/dart_syntax.json",
      "new_id": "f05d62d8ed6372bd2728d2f11a0b12bfefd0a98d",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/assets/dart_syntax.json"
    },
    {
      "type": "modify",
      "old_id": "e1bf02884f1866bbe1074f85832128aa256070c6",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/lib/src/screens/debugger/span_parser.dart",
      "new_id": "062abf05227d7ae16041d03248f8db77fc9e8853",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/lib/src/screens/debugger/span_parser.dart"
    },
    {
      "type": "modify",
      "old_id": "aa9373543f5bcdcf2e8da80f979e2af7f7053325",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md",
      "new_id": "2d797c8109e948419ecb712d7c8e43a326805167",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md"
    },
    {
      "type": "modify",
      "old_id": "83962b341ecf32c1a68ece479214c0459a63c364",
      "old_mode": 33188,
      "old_path": "packages/devtools_app/test/test_infra/goldens/syntax_highlighting/open_code_block.golden",
      "new_id": "0c2faa00eb873802fcb29e12d5c2bd2fc56b0bee",
      "new_mode": 33188,
      "new_path": "packages/devtools_app/test/test_infra/goldens/syntax_highlighting/open_code_block.golden"
    }
  ]
}
