Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@novell.com>2010-09-02 09:47:51 +0400
committerMike Krüger <mkrueger@novell.com>2010-09-02 09:48:37 +0400
commit8a6eddef839651b1821b7480e62fdbeb309e63e6 (patch)
treed206358ffeb885f58b86c93c9ee896af3a2b633a /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates
parentc7e661342164934d31d6bc90c6cde4662fcb3fb1 (diff)
Worked on 'Bug 630365 - Unhandled Exception. Nueva Solucion c#
asp.net'.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateService.cs23
1 files changed, 11 insertions, 12 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateService.cs
index 2b840dad38..a2f245bad2 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateService.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplateService.cs
@@ -36,6 +36,7 @@ using System.Xml;
using MonoDevelop.Core;
using MonoDevelop.Ide.CodeCompletion;
using Mono.Addins;
+using System.Linq;
namespace MonoDevelop.Ide.CodeTemplates
{
@@ -50,23 +51,23 @@ namespace MonoDevelop.Ide.CodeTemplates
return templates;
}
set {
- templates = value;
+ templates = value ?? new List<CodeTemplate> ();
}
}
static CodeTemplateService ()
{
try {
- templates = LoadTemplates () ?? new List<CodeTemplate> ();
+ Templates = LoadTemplates ();
} catch (Exception e) {
LoggingService.LogError ("CodeTemplateService: Exception while loading templates.", e);
}
AddinManager.AddExtensionNodeHandler ("/MonoDevelop/Ide/CodeTemplates", delegate(object sender, ExtensionNodeEventArgs args) {
- CodeTemplateCodon syntaxModeCodon = (CodeTemplateCodon)args.ExtensionNode;
+ var codon = (CodeTemplateCodon)args.ExtensionNode;
switch (args.Change) {
case ExtensionChange.Add:
- using (XmlReader reader = syntaxModeCodon.Open ()) {
+ using (XmlReader reader = codon.Open ()) {
LoadTemplates (reader).ForEach (t => templates.Add (t));
}
break;
@@ -76,22 +77,20 @@ namespace MonoDevelop.Ide.CodeTemplates
public static IEnumerable<CodeTemplate> GetCodeTemplates (string mimeType)
{
- foreach (CodeTemplate template in templates) {
- if (template.MimeType == mimeType)
- yield return template;
- }
+ var savedTemplates = templates;
+ if (savedTemplates == null || string.IsNullOrEmpty (mimeType))
+ return new CodeTemplate[0];
+ return savedTemplates.ToArray ().Where (t => t != null && t.MimeType == mimeType);
}
public static IEnumerable<CodeTemplate> GetCodeTemplatesForFile (string fileName)
{
- string mimeType = DesktopService.GetMimeTypeForUri (fileName);
- return GetCodeTemplates (mimeType);
+ return GetCodeTemplates (DesktopService.GetMimeTypeForUri (fileName));
}
public static void AddCompletionDataForFileName (string fileName, CompletionDataList list)
{
- string mimeType = DesktopService.GetMimeTypeForUri (fileName);
- AddCompletionDataForMime (mimeType, list);
+ AddCompletionDataForMime (DesktopService.GetMimeTypeForUri (fileName), list);
}
public static void AddCompletionDataForMime (string mimeType, CompletionDataList list)