public CSharpSyntaxMode() { var provider = new ResourceXmlProvider(typeof(IXmlProvider).Assembly, typeof(IXmlProvider).Assembly.GetManifestResourceNames().First(s => s.Contains("CSharpSyntaxMode"))); using (XmlReader reader = provider.Open()) { SyntaxMode baseMode = SyntaxMode.Read(reader); rules = new List <Rule> (baseMode.Rules); keywords = new List <Keywords> (baseMode.Keywords); spans = new List <Span> (baseMode.Spans.Where(span => span.Begin.Pattern != "#")).ToArray(); matches = baseMode.Matches; prevMarker = baseMode.PrevMarker; SemanticRules = new List <SemanticRule> (baseMode.SemanticRules); keywordTable = baseMode.keywordTable; keywordTableIgnoreCase = baseMode.keywordTableIgnoreCase; properties = baseMode.Properties; } foreach (var word in ContextualHighlightKeywordList) { contextualHighlightKeywords[word] = keywordTable[word].Color; keywordTable.Remove(word); } AddSemanticRule("Comment", new HighlightUrlSemanticRule("comment")); AddSemanticRule("XmlDocumentation", new HighlightUrlSemanticRule("comment")); AddSemanticRule("String", new HighlightUrlSemanticRule("string")); }
public AspNetSyntaxMode() { ResourceXmlProvider provider = new ResourceXmlProvider(typeof(IXmlProvider).Assembly, "AspNetSyntaxMode.xml"); using (XmlReader reader = provider.Open()) { SyntaxMode baseMode = SyntaxMode.Read(reader); this.rules = new List <Rule> (baseMode.Rules); this.keywords = new List <Keywords> (baseMode.Keywords); this.spans = baseMode.Spans; this.matches = baseMode.Matches; this.prevMarker = baseMode.PrevMarker; this.SemanticRules = new List <SemanticRule> (baseMode.SemanticRules); this.table = baseMode.Table; } }
public CSharpSyntaxMode() { ResourceXmlProvider provider = new ResourceXmlProvider(typeof(IXmlProvider).Assembly, typeof(IXmlProvider).Assembly.GetManifestResourceNames().First(s => s.Contains("CSharpSyntaxMode"))); using (XmlReader reader = provider.Open()) { SyntaxMode baseMode = SyntaxMode.Read(reader); this.rules = new List <Rule> (baseMode.Rules); this.keywords = new List <Keywords> (baseMode.Keywords); this.spans = new List <Span> (baseMode.Spans.Where(span => span.Begin.Pattern != "#")).ToArray(); this.matches = baseMode.Matches; this.prevMarker = baseMode.PrevMarker; this.SemanticRules = new List <SemanticRule> (baseMode.SemanticRules); this.table = baseMode.Table; this.properties = baseMode.Properties; } AddSemanticRule("Comment", new HighlightUrlSemanticRule("comment")); AddSemanticRule("XmlDocumentation", new HighlightUrlSemanticRule("comment")); AddSemanticRule("String", new HighlightUrlSemanticRule("string")); AddSemanticRule(new HighlightCSharpSemanticRule()); }
public DSyntaxMode() { var matches = new List <Mono.TextEditor.Highlighting.Match>(); var provider = new ResourceXmlProvider( typeof(DSyntaxMode).Assembly, typeof(DSyntaxMode).Assembly.GetManifestResourceNames().First(s => s.Contains("DSyntaxHighlightingMode"))); using (XmlReader reader = provider.Open()) { SyntaxMode baseMode = SyntaxMode.Read(reader); this.rules = new List <Rule>(baseMode.Rules); this.keywords = new List <Keywords>(baseMode.Keywords); this.spans = new List <Span>(baseMode.Spans.Where(span => span.Begin.Pattern != "#")).ToArray(); matches.AddRange(baseMode.Matches); this.prevMarker = baseMode.PrevMarker; this.SemanticRules = new List <SemanticRule>(baseMode.SemanticRules); this.keywordTable = baseMode.keywordTable; this.keywordTableIgnoreCase = baseMode.keywordTableIgnoreCase; this.properties = baseMode.Properties; } // D Number literals matches.Add(workaroundMatchCtor("constant.digit", @"(?<!\w)(0((x|X)[0-9a-fA-F_]+|(b|B)[0-1_]+)|([0-9]+[_0-9]*)[L|U|u|f|i]*)")); // extern linkages attributes //matches.Add(workaroundMatchCtor("constant.digit", "(?<=extern[\\s]*\\()[\\s]*(C(\\+\\+)?|D|Windows|System|Pascal|Java)[\\s]*(?=\\))")); // version checks //matches.Add(workaroundMatchCtor("constant.digit", @"(?<=version[\s]*\()[\s]*(DigitalMars|GNU|LDC|Windows|OSX|linux|FreeBSD|OpenBSD|BSD|Solaris|Posix|D_Version2)[\s]*(?=\))")); // type declaration names //matches.Add(workaroundMatchCtor("keyword.semantic.type", @"(?<=(class|struct|union|interface|template)[\s]+)[\w]+")); this.matches = matches.ToArray(); }