Apa cara terbaik untuk mencapai sesuatu seperti melipat kode, atau jenis bersepeda yang digunakan mode org. Apa solusi terbaik di elisp untuk menciptakan jenis perilaku ini?
EDIT: Maaf saya tidak jelas. Saya ingin memprogram sesuatu secara elisp yang melakukan hal-hal yang sangat mirip dengan pelipatan kode, atau sebenarnya paling mirip dengan mode-org dengan hierarki yang dapat diperluas. Saya bertanya-tanya cara terbaik untuk mencapai pengaruh ini. Saya rasa saya pernah mendengar emacs overlay adalah solusi yang baik, tetapi saya tidak tahu.
Untuk melipat saya hanya menggunakan builtin set-selective-display
EDIT NOMOR 2:
Terima kasih atas jawabannya tetapi saya pikir saya mengajukan pertanyaan yang salah, jadi izinkan saya mencoba lebih jelas tentang apa yang saya coba lakukan. Saya ingin membuat yang berikut ini
Ketika Anda meletakkan poin Anda pada suatu fungsi dan memanggil fungsi elisp ini, itu akan menempatkan definisi fungsi dari mana pun itu (saya berpikir untuk hanya menggunakan find-tag untuk ini) dan membuka lipatannya di buffer saat ini. Idenya adalah jika Anda harus melompat ke buffer yang berbeda untuk membaca definisi fungsi, saya merasa ini adalah konteks yang beralih ke file lain. Jadi saya ingin berperilaku seperti kode lipat hanya itu menarik kode eksternal dari buffer. Hal ini menimbulkan beberapa masalah karena tidak dapat menempelkan kode ke buffer atau jika seseorang menyimpannya akan menyimpan kode yang ditarik. Jadi saya bertanya-tanya apakah ada cara untuk membuat area di dalam buffer yang juga bukan bagian dari buffer. Saya pikir itu masuk akal.
EDIT NB 2
dan membuat pertanyaan baru untuk itu.