+ case "/pathmap":
+ if (value.Length == 0) {
+ return ParseResult.Success;
+ }
+
+ foreach (var pair in value.Split (',')) {
+ var kv = pair.Split ('=');
+ if (kv.Length != 2) {
+ report.Error (8101, "The pathmap option was incorrectly formatted");
+ return ParseResult.Error;
+ }
+
+ if (settings.PathMap == null)
+ settings.PathMap = new List<KeyValuePair<string, string>> ();
+
+ var key = kv [0].TrimEnd (Path.DirectorySeparatorChar);
+ var path = kv [1].TrimEnd (Path.DirectorySeparatorChar);
+ if (key.Length == 0 || path.Length == 0)
+ report.Error (8101, "The pathmap option was incorrectly formatted");
+
+ settings.PathMap.Add (new KeyValuePair<string, string> (key, path));
+ }
+
+ return ParseResult.Success;
+