diff --git a/CSharp/Applications/UniversalEditor.ConsoleApplication/Program.cs b/CSharp/Applications/UniversalEditor.ConsoleApplication/Program.cs index effb9eca..a33516aa 100644 --- a/CSharp/Applications/UniversalEditor.ConsoleApplication/Program.cs +++ b/CSharp/Applications/UniversalEditor.ConsoleApplication/Program.cs @@ -19,6 +19,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . using System; +using System.Text; using UniversalEditor.ObjectModels.Text.Formatted.Items; namespace UniversalEditor.ConsoleApplication @@ -29,8 +30,46 @@ namespace UniversalEditor.ConsoleApplication { if (args.Length > 0) { - Console.WriteLine(args[0]); - if (args[0] == "--list-associations") + if (args[0] == "update-associations") + { + StringBuilder sb = new StringBuilder (); + sb.AppendLine(""); + sb.AppendLine(""); + DataFormatReference[] dfrs = UniversalEditor.Common.Reflection.GetAvailableDataFormats(); + + Association[] assocs = Association.GetAllAssociations(); + for (int i = 0; i < assocs.Length; i++) + { + for (int j = 0; j < assocs[i].Filters.Count; j++) + { + string mimetype = String.Format("application/x-universaleditor-a{0}f{1}", i, j); + /* + if (assocs[i].Filters[j].MimeType != null) + { + mimetype = assocs[i].Filters[j].MimeType; + } + */ + sb.AppendLine(String.Format("\t", mimetype)); + sb.AppendLine(String.Format("\t\t{0}", assocs[i].Filters[j].Title)); + + Console.Write("registering '{0}' extensions... ", assocs[i].Filters[j].Title); + for (int k = 0; k < assocs[i].Filters[j].FileNameFilters.Count; k++) + { + sb.AppendLine(String.Format("\t\t", assocs[i].Filters[j].FileNameFilters[k])); + + Console.Write(assocs[i].Filters[j].FileNameFilters[k]); + if (k < assocs[i].Filters[j].FileNameFilters.Count - 1) + Console.Write(' '); + } + Console.WriteLine(); + sb.AppendLine("\t"); + } + } + sb.AppendLine(""); + + System.IO.File.WriteAllText("universal-editor.xml", sb.ToString()); + } + else if (args[0] == "--list-associations") { // wake up the UE DataFormatReference[] dfrs = UniversalEditor.Common.Reflection.GetAvailableDataFormats();