Saat menulis kode lisp, kadang-kadang saya tenggelam dalam ekspresi bersarang dan yang saya inginkan adalah memasukkan semua kurung tutup yang hilang. Saat ini saya hanya memasukkan mereka sampai saya mendapatkan paren yang tidak cocok, tetapi itu tidak terlalu efisien.
Apakah ada perintah untuk memasukkan semua tanda kurung yang hilang?
FYI, saya menggunakan smartparens untuk secara otomatis memasukkan parens yang cocok. Tetap saja, terkadang saya hanya perlu melakukan ini.
development
rlazo
sumber
sumber
]
bertindak sebagai paren super kanan, menutup semua paren terbuka, seperti yang Anda minta.Jawaban:
Inilah fungsi yang menutup semua kurung tertutup dan pasangan yang cocok lainnya. Itu bergantung pada penguraian sexp Emacs. Ini hanya mendukung pasangan yang cocok dengan satu karakter, jadi sesuatu seperti
{-
akan ditutup}
, bukan-}
. Bagi Lisp, itu tidak masalah.sumber
([-!-foo]
, apakah Anda memasukkan])
pada titik, atau)
setelahfoo]
?([-!-foo]
, saya akan memasukkan)
setelahfoo]
. Tapi tentu saja saya bisa salah. Mungkin @rlazo bisa menguraikan.Saya telah menemukan bahwa jika Anda telah menginstal lendir, ada perintah untuk melakukan ini, dipanggil
slime-close-all-parens-in-sexp
sumber
Cara yang sangat primitif (dan hampir pasti salah) untuk melakukannya
Di antara keterbatasan lainnya, diasumsikan bahwa semua kurung yang perlu dimasukkan adalah:
Saya kira itu mungkin cukup berguna untuk kasus penggunaan khusus Anda
sumber