/// <summary> /// Create CodeCOmpletionEditor with NodeViewModel /// </summary> /// <param name="nodeView"></param> public CodeCompletionEditor(NodeView nodeView) { InitializeComponent(); nodeView.Unloaded += (obj, args) => IsDisposed = true; this.nodeViewModel = nodeView.ViewModel; this.dynamoViewModel = nodeViewModel.DynamoViewModel; this.DataContext = nodeViewModel.NodeModel; this.InnerTextEditor.TextChanged += OnTextChanged; this.InnerTextEditor.TextArea.LostFocus += OnTextAreaLostFocus; this.InnerTextEditor.TextArea.TextEntering += OnTextAreaTextEntering; this.InnerTextEditor.TextArea.TextEntered += OnTextAreaTextEntered; CodeHighlightingRuleFactory.CreateHighlightingRules(InnerTextEditor, dynamoViewModel.EngineController); }
public void TestSyntaxHighlightRuleForDigits() { string text = "{-2468.2342E+04, dfsgdfg34534, 34534.345345, 23423, -98.7, 0..10..2, -555};"; var rule = CodeHighlightingRuleFactory.CreateNumberHighlightingRule().Regex; var matches = rule.Matches(text); // Expected results (8): // -2468.2342E+04 // 34534.345345 // 23423 // -98.7 // 0 // 10 // 2 // -555 Assert.AreEqual(8, matches.Count); var actual = matches.Cast <Match>().Select(m => m.Value).ToArray(); string[] expected = new string[] { "-2468.2342E+04", "34534.345345", "23423", "-98.7", "0", "10", "2", "-555" }; Assert.IsTrue(expected.SequenceEqual(actual)); }