public static Dictionary<string, string> ParseDefineLine(string line)
{
line = line.Trim();
Dictionary<string,string> map = new Dictionary<string, string>();
if ( line.StartsWith(";!") )
{
line = line.Substring(2, line.Length - 2);
string[] values = Regex.Split(line, @"\s*;\s*");
foreach (string keyValue in values)
{
string[] keyValueParsed = Regex.Split(keyValue, @"\s*=\s*");
if ( keyValueParsed.Length == 2 )
{
string key = keyValueParsed[0].ToLower();
string value = keyValueParsed[1].ToLower();
if (!map.ContainsKey(key))
{
map.Add(key, value);
}
}
}
}
return map;
}