private bool IsTriggered(EventType type, object args, EditorAdapterBase editor) { if (type != EventType.SelectionChanged || editor == null) { return(false); } int caretIndex = (int)args; return(Math.Abs(caretIndex - lastIndex) > 1 || !editor.IsSameLine(caretIndex, lastIndex)); }
private bool IsTriggered(EventType type, object args, EditorAdapterBase editor) { if (editor == null || type != EventType.SelectionChanged) { return(false); } var indexes = Enumerable.Range(editor.CaretIndex - 1, 2).ToList(); if (editor.Text.Length <= indexes.Last() || indexes.Any(index => index < 0)) { return(false); } return(indexes.All(index => char.IsWhiteSpace(editor.Text[index]))); }