Каков наилучший способ добиться чего-то вроде сгибания кода или типа циклирования, который используется в режиме org-mode. Что было бы лучшим решением в elisp для создания такого поведения?
EDIT: Мне жаль, что я не был чист. Я хочу запрограммировать что-то в elisp, что делает вещи очень похожими на сворачивание кода или на самом деле больше всего похож на org-mode с иерархией, которая может быть расширена. Мне интересно, как наилучшим образом достичь этого эффекта. Я думаю, что я слышал, что наложения emacs являются хорошим решением, но я не знаю.
Что касается складывания, я просто использую встроенный set-selective-display
ИЗМЕНИТЬ НОМЕР 2:
Спасибо за ответы, но я думаю, что задаю неправильный вопрос, поэтому позвольте мне попытаться более четко понять, что я пытаюсь сделать. Я хотел бы создать следующие
Когда вы помещаете свою точку в функцию и вызываете эту функцию elisp, она поместит определение функции из любого места (я думаю, просто использую find-tag для этого) и разворачиваю ее в текущем буфере. Идея заключается в том, что вам нужно перейти к другому буферу, чтобы прочитать определение функции, которое я чувствую, как его переключение контекста в другой файл. Поэтому я бы хотел, чтобы он вел себя как сворачивание кода, только он вытягивает код, внешний из буфера. Это создает некоторые проблемы, поскольку он не может принудительно вставить код в буфер, или если кто-то его сохранит, он сохранит вытащенный код. Поэтому мне интересно, есть ли способ создать область внутри буфера, которая также не является частью буфера. Я думаю, что это имеет смысл.