Esempio n. 1
0
        public override void HandleTextRemove(TextRemovedMessage message)
        {
            if (message.RemovedText == string.Empty)
            {
                if (IsCaretInbetweenTags(message.OldCaretPosition))
                {
                    DecreaseFoldHeight(message.OldCaretPosition);
                }
                else
                {
                    MoveFoldsUp(message.NewCaretPosition);
                }
            }
            else
            {
                var positions  = GetClosedFoldingInfos().ToDictionary(pair => pair.Key.Position, pair => pair.Value.Position);
                var removedKey = FoldingAlgorithm.DeleteFolds(message.RemovedText, message.NewCaretPosition, positions);

                if (removedKey == null)
                {
                    return;
                }

                DeleteFolds(removedKey, message.RemovedText);
            }

            RedrawFolds();
        }
Esempio n. 2
0
 public abstract void HandleTextRemove(TextRemovedMessage message);
Esempio n. 3
0
 public override void HandleTextRemove(TextRemovedMessage message)
 {
 }