Skip to content

Commit

Permalink
Fix: Material icon is shown instead of Cupertino icon if its name is …
Browse files Browse the repository at this point in the history
…the same (#2581)

* Fixed: Material icon is shown instead of Cupertino icon if its name is the same

Fix #2580

* ci/generate_material_icons_*.sh added
  • Loading branch information
FeodorFitsner committed Feb 9, 2024
1 parent a695855 commit f7db010
Show file tree
Hide file tree
Showing 8 changed files with 2,858 additions and 2,697 deletions.
15 changes: 15 additions & 0 deletions ci/generate_cupertino_icons_dart.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
url='https://raw.githubusercontent.com/flutter/flutter/stable/packages/flutter/lib/src/cupertino/icons.dart'
output_file="cupertino_icons.txt"

echo "Map<String, IconData> cupertinoIcons = {" > "$output_file"

curl -s $url | python -c '
import re
for line in __import__("sys").stdin:
match = re.search(r"const IconData ([a-z0-9_]+)", line)
if match:
print("\"cupertino_{}\": CupertinoIcons.{}, ".format(match.group(1), match.group(1)))
' >> "$output_file"

echo "};" >> "$output_file"
11 changes: 11 additions & 0 deletions ci/generate_cupertino_icons_python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
url='https://raw.githubusercontent.com/flutter/flutter/stable/packages/flutter/lib/src/cupertino/icons.dart'
output_file="cupertino_icons_python.txt"

curl -s $url | python -c '
import re
for line in __import__("sys").stdin:
match = re.search(r"const IconData ([a-z0-9_]+)", line)
if match:
print("{} = \"cupertino_{}\"".format(match.group(1).upper(), match.group(1)))
' >> "$output_file"
15 changes: 15 additions & 0 deletions ci/generate_material_icons_dart.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
url='https://raw.githubusercontent.com/flutter/flutter/stable/packages/flutter/lib/src/material/icons.dart'
output_file="material-icons.txt"

echo "Map<String, IconData> materialIcons = {" > "$output_file"

curl -s $url | python -c '
import re
for line in __import__("sys").stdin:
match = re.search(r"const IconData ([a-z0-9_]+)", line)
if match:
print("\"{}\": Icons.{}, ".format(match.group(1), match.group(1)))
' >> "$output_file"

echo "};" >> "$output_file"
11 changes: 11 additions & 0 deletions ci/generate_material_icons_python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
url='https://raw.githubusercontent.com/flutter/flutter/master/packages/flutter/lib/src/material/icons.dart'
output_file="material_icons_python.txt"

curl -s $url | python -c '
import re
for line in __import__("sys").stdin:
match = re.search(r"const IconData ([a-z0-9_]+)", line)
if match:
print("{} = \"{}\"".format(match.group(1).upper(), match.group(1)))
' >> "$output_file"
2,801 changes: 1,462 additions & 1,339 deletions package/lib/src/utils/cupertino_icons.dart

Large diffs are not rendered by default.

18 changes: 2 additions & 16 deletions package/lib/src/utils/material_icons.dart
Original file line number Diff line number Diff line change
@@ -1,24 +1,10 @@
import 'package:flutter/material.dart';

// Bash script to generate icons list
//
/*
url='https://raw.githubusercontent.com/flutter/flutter/stable/packages/flutter/lib/src/material/icons.dart'
output_file="$HOME/icons.txt"
To generate update the list run:
echo "Map<String, IconData> materialIcons = {" > "$output_file"
curl -s $url | python -c '
import re
for line in __import__("sys").stdin:
match = re.search(r"const IconData ([a-z0-9_]+)", line)
if match:
print("\"{}\": Icons.{}, ".format(match.group(1), match.group(1)))
' >> "$output_file"
echo "};" >> "$output_file"
sh ci/generate_material_icons_dart.sh
*/

Expand Down

0 comments on commit f7db010

Please sign in to comment.