mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-10 09:15:43 +02:00
Push a quick utility to detect unused selectors and classes
This commit is contained in:
parent
c064ef7a30
commit
a3d40fdc2b
26
Resources/Utilities/CompareStylesheets.cs
Normal file
26
Resources/Utilities/CompareStylesheets.cs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
HashSet<string> ReadSelectors(string file){
|
||||||
|
return new HashSet<string>(
|
||||||
|
File.ReadAllLines(file)
|
||||||
|
.Where(line => line.Contains('{'))
|
||||||
|
.Select(line => line.Substring(0, line.IndexOf('{')).Trim())
|
||||||
|
.SelectMany(lines => lines.Split(new char[]{ ',', ' ' }, StringSplitOptions.RemoveEmptyEntries))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
HashSet<string> ExtractClasses(HashSet<string> selectors){
|
||||||
|
return new HashSet<string>(
|
||||||
|
selectors.SelectMany(selector => Regex.Matches(selector, @"\.[a-zA-Z0-9_-]+").Cast<Match>().Select(match => match.Value))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintAll(IEnumerable<string> data){
|
||||||
|
foreach(string line in data){
|
||||||
|
Print(line);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrintMissing(HashSet<string> all, HashSet<string> subset){
|
||||||
|
PrintAll(subset.Where(ele => !all.Contains(ele)));
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user