Skip to content

Commit cf1a22e

Browse files
committed
Restrict Material Colors detection to only class named "Colors"
Fixes #2857.
1 parent 56efd1b commit cf1a22e

2 files changed

Lines changed: 21 additions & 16 deletions

File tree

‎src/shared/vscode/color_range_computer.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import { asHexColor } from "../utils";
44
import { toRange } from "./utils";
55

66
export class ColorRangeComputer {
7-
private readonly materialNameColorPattern = "Colors\\.(?<mc>[\\w_\\[\\]\\.]+)";
8-
private readonly cupertinoNameColorPattern = "CupertinoColors\\.(?<cc>[\\w_\\[\\]\\.]+)";
7+
private readonly materialNameColorPattern = "\\bColors\\.(?<mc>[\\w_\\[\\]\\.]+)";
8+
private readonly cupertinoNameColorPattern = "\\bCupertinoColors\\.(?<cc>[\\w_\\[\\]\\.]+)";
99
private readonly colorConstructorPattern = "\\bColor\\(\\s*0x(?<cons>[A-Fa-f0-9]{8}),{0,1}\\s*\\)";
1010
private readonly colorConstructorRgbo = "\\bColor\\.fromRGBO\\(\\s*(?<rgboR>[\\w_]+),\\s*(?<rgboG>[\\w_]+),\\s*(?<rgboB>[\\w_]+),\\s*(?<rgboA>[\\w_.]+),{0,1}\\s*\\)";
1111
private readonly colorConstructorArgb = "\\bColor\\.fromARGB\\(\\s*(?<argbA>[\\w_]+),\\s*(?<argbR>[\\w_]+),\\s*(?<argbG>[\\w_]+),\\s*(?<argbB>[\\w_]+),{0,1}\\s*\\)";

‎src/test/flutter/decorations/flutter_colors.test.ts‎

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ describe("flutter_color_decorations", () => {
1111
import 'package:flutter/material.dart';
1212
import 'package:flutter/cupertino.dart' show CupertinoColors;
1313
14+
class NotMaterialColors {
15+
static const white = null;
16+
}
17+
1418
final ThemeData base2 = ThemeData(
19+
accentColor: NotMaterialColors.white,
1520
indicatorColor: Colors.white,
1621
toggleableActiveColor: const Color(
1722
0xFF1E88E5),
@@ -55,23 +60,23 @@ var formats = [
5560
assert.ok(results[hex], `No results for ${hex}`);
5661
assert.deepStrictEqual(results[hex].map(rangeString), ranges.map(rangeString), `Incorrect ranges for ${hex}`);
5762
};
58-
ensureColor("ffffffff", rangesOf("|Colors.white|"));
59-
ensureColor("ff1e88e5", rangesOf("|Color(\n 0xFF1E88E5)|"));
60-
ensureColor("42000000", rangesOf("|Colors.black26|"));
61-
ensureColor("ffb00020", rangesOf("|Color(0xFFB00020)|"));
62-
ensureColor("ffff4081", rangesOf("|Colors.pinkAccent|"));
63-
ensureColor("ffd500f9", rangesOf("|Colors.purpleAccent.shade400|"));
64-
ensureColor("ffffe57f", rangesOf("|Colors.amberAccent[100]|"));
63+
ensureColor("ffffffff", rangesOf(" |Colors.white|"));
64+
ensureColor("ff1e88e5", rangesOf(" |Color(\n 0xFF1E88E5)|"));
65+
ensureColor("42000000", rangesOf(" |Colors.black26|"));
66+
ensureColor("ffb00020", rangesOf(" |Color(0xFFB00020)|"));
67+
ensureColor("ffff4081", rangesOf(" |Colors.pinkAccent|"));
68+
ensureColor("ffd500f9", rangesOf(" |Colors.purpleAccent.shade400|"));
69+
ensureColor("ffffe57f", rangesOf(" |Colors.amberAccent[100]|"));
6570

66-
ensureColor("ffff9500", rangesOf("|CupertinoColors.activeOrange|,"));
67-
ensureColor("ffff9f0a", rangesOf("|CupertinoColors.activeOrange.darkColor|"));
68-
ensureColor("ffff3b30", rangesOf("|CupertinoColors.destructiveRed|"));
69-
ensureColor("ffffcc00", rangesOf("|CupertinoColors.systemYellow|,"));
70-
ensureColor("ffffd426", rangesOf("|CupertinoColors.systemYellow.darkHighContrastElevatedColor|"));
71+
ensureColor("ffff9500", rangesOf(" |CupertinoColors.activeOrange|,"));
72+
ensureColor("ffff9f0a", rangesOf(" |CupertinoColors.activeOrange.darkColor|"));
73+
ensureColor("ffff3b30", rangesOf(" |CupertinoColors.destructiveRed|"));
74+
ensureColor("ffffcc00", rangesOf(" |CupertinoColors.systemYellow|,"));
75+
ensureColor("ffffd426", rangesOf(" |CupertinoColors.systemYellow.darkHighContrastElevatedColor|"));
7176

7277
ensureColor("ff1e1e1e", [
73-
rangeOf("|Color.fromARGB(255, 30,\n 30, 30)|"),
74-
rangeOf("|Color.fromARGB(\n 255,\n 0x1e,\n 0x1e,\n 0x1e,\n )|"),
78+
rangeOf(" |Color.fromARGB(255, 30,\n 30, 30)|"),
79+
rangeOf(" |Color.fromARGB(\n 255,\n 0x1e,\n 0x1e,\n 0x1e,\n )|"),
7580
]);
7681
});
7782
});

0 commit comments

Comments
 (0)