Exemplo n.º 1
0
        Rule DeepCopy(TextDocument doc, SyntaxMode mode, Rule rule)
        {
            var newRule = new Rule();

            newRule.spans = new Span[rule.Spans.Length];
            for (int i = 0; i < rule.Spans.Length; i++)
            {
                newRule.spans [i] = rule.Spans [i].Clone();
            }
            if (rule.HasDelimiter)
            {
                newRule.SetDelimiter(rule.GetDelimiter(null));
            }
            newRule.IgnoreCase             = rule.IgnoreCase;
            newRule.Name                   = rule.Name;
            newRule.DefaultColor           = rule.DefaultColor;
            newRule.matches                = rule.Matches;
            newRule.prevMarker             = rule.PrevMarker;
            newRule.keywords               = rule.keywords;
            newRule.keywordTable           = rule.keywordTable;
            newRule.keywordTableIgnoreCase = rule.keywordTableIgnoreCase;
            foreach (var pair in rule.Properties)
            {
                newRule.Properties.Add(pair.Key, pair.Value);
            }
            return(newRule);
        }
Exemplo n.º 2
0
		Rule DeepCopy (TextDocument doc, SyntaxMode mode, Rule rule)
		{
			var newRule = new Rule ();
			newRule.spans = new Span[rule.Spans.Length];
			for (int i = 0; i < rule.Spans.Length; i++) {
				newRule.spans [i] = rule.Spans [i].Clone ();
			}
			if (rule.HasDelimiter)
				newRule.SetDelimiter (rule.GetDelimiter (null));
			newRule.IgnoreCase = rule.IgnoreCase;
			newRule.Name = rule.Name;
			newRule.DefaultColor = rule.DefaultColor;
			newRule.matches = rule.Matches;
			newRule.prevMarker = rule.PrevMarker;
			newRule.keywords = rule.keywords;
			newRule.keywordTable = rule.keywordTable;
			newRule.keywordTableIgnoreCase = rule.keywordTableIgnoreCase;
			foreach (var pair in rule.Properties)
				newRule.Properties.Add (pair.Key, pair.Value);
			return newRule;
		}