49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
// <file>
|
|
// <copyright see="prj:///doc/copyright.txt"/>
|
|
// <license see="prj:///doc/license.txt"/>
|
|
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
|
|
// <version>$Revision$</version>
|
|
// </file>
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using System.Xml;
|
|
|
|
namespace ICSharpCode.TextEditor.Document
|
|
{
|
|
public class ResourceSyntaxModeProvider : ISyntaxModeFileProvider
|
|
{
|
|
List<SyntaxMode> syntaxModes = null;
|
|
|
|
public ICollection<SyntaxMode> SyntaxModes {
|
|
get {
|
|
return syntaxModes;
|
|
}
|
|
}
|
|
|
|
public ResourceSyntaxModeProvider()
|
|
{
|
|
Assembly assembly = typeof(SyntaxMode).Assembly;
|
|
Stream syntaxModeStream = assembly.GetManifestResourceStream("ICSharpCode.TextEditor.Resources.SyntaxModes.xml");
|
|
if (syntaxModeStream != null) {
|
|
syntaxModes = SyntaxMode.GetSyntaxModes(syntaxModeStream);
|
|
} else {
|
|
syntaxModes = new List<SyntaxMode>();
|
|
}
|
|
}
|
|
|
|
public XmlTextReader GetSyntaxModeFile(SyntaxMode syntaxMode)
|
|
{
|
|
Assembly assembly = typeof(SyntaxMode).Assembly;
|
|
return new XmlTextReader(assembly.GetManifestResourceStream("ICSharpCode.TextEditor.Resources." + syntaxMode.FileName));
|
|
}
|
|
|
|
public void UpdateSyntaxModeList()
|
|
{
|
|
// resources don't change during runtime
|
|
}
|
|
}
|
|
}
|