У меня есть базовое приложение Mac со стандартным NSTextView
("Текстовое представление расширенного содержимого документа" в Interface Builder), но я также наблюдал такое поведение в TextEdit:
- Создайте новый маркированный список из 3 элементов
- Выберите и скопируйте один элемент списка
- Вставьте элемент списка в тот же документ
→ Вставленный элемент теряет форматирование списка, т. е. когда я нажимаю «Ввод» в конце, новый элемент списка не добавляется автоматически.
→ Когда я выбираю два или более элемента списка, он работает правильно.
Вот короткое видео:
Другие наблюдения
Я протестировал ту же процедуру в Scrivener (который, как мне кажется, также использует NSTextView), и здесь копирование одного элемента списка помещает правильные атрибуты списка форматирования в буфер обмена.
Я проверил буфер обмена, и когда я копирую один элемент списка, действительно, содержимое RTF отличается от Scrivener.
NSTextView (скопирован один элемент):
\f0\fs36 \cf0 \'95 Regular list item}
Scrivener (скопирован один элемент):
\f0\fs32 \cf0 {\listtext \uc0\u8226 }Regular list item}
Обратите внимание, как Scrivener помещает правильное форматирование в буфер обмена.
NSTextView (скопировано два элемента):
\f0\fs36 \cf0 {\listtext \uc0\u8226 }Regular list item\
{\listtext \uc0\u8226 }Another list item}
При копировании двух элементов списка все работает как положено.
Что мне не хватает? Или это ошибка/функция, и разработчики Scrivener работают над этим в своем приложении (например, обнаруживают, когда один элемент списка копируется, и исправляют его атрибуты)?