Beispiel #1
0
        private void OnTextEntered(object sender, TextCompositionEventArgs e)
        {
            if (CaretOffset <= 0)
            {
                return;
            }

            var isTrigger = _scriptManager.IsCompletionTriggerCharacter(CaretOffset - 1);

            if (!isTrigger)
            {
                return;
            }

            _completionWindow = new CompletionWindow(TextArea);

            var data = _completionWindow.CompletionList.CompletionData;

            var completion = _scriptManager.GetCompletion(CaretOffset, Text[CaretOffset - 1]).ToList();

            if (!completion.Any())
            {
                _completionWindow = null;
                return;
            }

            foreach (var completionData in completion)
            {
                data.Add(new CompletionData(completionData));
            }

            _completionWindow.Show();
            _completionWindow.Closed += (o, args) => _completionWindow = null;
        }