Exemplo n.º 1
0
		public HighlightRuleSet(XmlElement el) {
			XmlNodeList nodes;

			if (el.Attributes["name"] != null) {
				Name = el.Attributes["name"].InnerText;
			}

			if (el.HasAttribute("escapecharacter")) {
				escapeCharacter = el.GetAttribute("escapecharacter")[0];
			}

			if (el.Attributes["reference"] != null) {
				reference = el.Attributes["reference"].InnerText;
			}

			if (el.Attributes["ignorecase"] != null) {
				ignoreCase = Boolean.Parse(el.Attributes["ignorecase"].InnerText);
			}

			for (int i = 0; i < Delimiters.Length; ++i) {
				delimiters[i] = false;
			}

			if (el["Delimiters"] != null) {
				string delimiterString = el["Delimiters"].InnerText;
				foreach (char ch in delimiterString) {
					delimiters[(int)ch] = true;
				}
			}

			//			Spans			 = new LookupTable(!IgnoreCase);

			keyWords = new LookupTable(!IgnoreCase);
			prevMarkers = new LookupTable(!IgnoreCase);
			nextMarkers = new LookupTable(!IgnoreCase);

			nodes = el.GetElementsByTagName("KeyWords");
			foreach (XmlElement el2 in nodes) {
				HighlightColor color = new HighlightColor(el2);

				XmlNodeList keys = el2.GetElementsByTagName("Key");
				foreach (XmlElement node in keys) {
					keyWords[node.Attributes["word"].InnerText] = color;
				}
			}

			nodes = el.GetElementsByTagName("Span");
			foreach (XmlElement el2 in nodes) {
				Spans.Add(new Span(el2));
				/*
				Span span = new Span(el2);
				Spans[span.Begin] = span;*/
			}

			nodes = el.GetElementsByTagName("MarkPrevious");
			foreach (XmlElement el2 in nodes) {
				PrevMarker prev = new PrevMarker(el2);
				prevMarkers[prev.What] = prev;
			}

			nodes = el.GetElementsByTagName("MarkFollowing");
			foreach (XmlElement el2 in nodes) {
				NextMarker next = new NextMarker(el2);
				nextMarkers[next.What] = next;
			}
		}
Exemplo n.º 2
0
		public HighlightRuleSet() {
			keyWords = new LookupTable(false);
			prevMarkers = new LookupTable(false);
			nextMarkers = new LookupTable(false);
		}