Index: Core/src/AddIns/DisplayBindings/SourceEditor/Services/SourceViewService.cs =================================================================== --- Core/src/AddIns/DisplayBindings/SourceEditor/Services/SourceViewService.cs (revision 2487) +++ Core/src/AddIns/DisplayBindings/SourceEditor/Services/SourceViewService.cs (working copy) @@ -1,5 +1,6 @@ using System; using System.Globalization; +using System.Collections; using System.IO; using System.Text; using System.Xml; @@ -16,9 +17,12 @@ SourceLanguagesManager slm; static readonly string file = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.Personal), ".config/MonoDevelop/SyntaxHighlighting.xml"); + ArrayList langs = new ArrayList (); + public SourceViewService () { slm = new SourceLanguagesManager (); + langs.AddRange (slm.AvailableLanguages); } public SourceLanguage FindLanguage (string name) @@ -34,7 +38,14 @@ public SourceLanguage GetLanguageFromMimeType (string mimetype) { - return slm.GetLanguageFromMimeType (mimetype); + foreach (SourceLanguage sl in AvailableLanguages) + { + foreach (string t in sl.MimeTypes) + if (t == mimetype) + return sl; + } + // not found + return null; } public override void InitializeService () @@ -165,9 +176,18 @@ base.UnloadService (); } + + public void AddLanguage (string file) + { + // pinvoke into + // GtkSourceLanguage *_gtk_source_language_new_from_file (const gchar *filename, + // GtkSourceLanguagesManager *lm); + + langs.Add (Result); + } public SourceLanguage[] AvailableLanguages { - get { return slm.AvailableLanguages; } + get { return langs.ToArray (typeof (SourceLanguage)) } } } }