จะใช้ SLIME เป็นพร็อกซีระหว่างโปรแกรม Common Lisp กับ Emacs Lisp ได้อย่างไร


15

ฉันกำลังทำสิ่งต่อไปนี้: ฉันมีโปรแกรมที่เขียนด้วย Common LISP ซึ่งฉันต้องการสื่อสารกับ Emacs โปรแกรมเกี่ยวข้องกับการแยกวิเคราะห์ภาษาธรรมชาติดังนั้นสิ่งที่ฉันจำเป็นต้องเข้าถึงใน Emacs จะเป็นเนื้อหาของบัฟเฟอร์และการแยกวิเคราะห์เบื้องต้นขั้นต่ำที่จำเป็นในการสร้างข้อความเพื่อส่งไปยังโปรแกรม Common LISP จากนั้นโปรแกรม Common Lisp จะประมวลผลข้อความและตอบกลับไปยังโปรแกรม Emacs Lisp เพื่อที่จะแสดงผลลัพธ์

ฉันเข้าใจว่า SLIME จะเป็นเครื่องมือที่ดีที่จะใช้เพื่อให้บรรลุเป้าหมายส่วนใหญ่เพราะมันทำไปแล้วส่วนใหญ่ แต่เมื่อดูที่เอกสารฉันพบว่ามันเป็น "เอกสารคู่มือผู้ใช้" ไม่ใช่ "เอกสารสำหรับนักพัฒนา" โดยพื้นฐานแล้วฉันต้องการที่จะรู้ว่าอะไรคือขั้นต่ำสุดที่ฉันสามารถใช้กับ Emacs Lisp เพื่อให้การสื่อสารดำเนินไปได้ (แน่นอนว่าฉันไม่ต้องการการวิปัสสนาหรือ REPL ในกรณีนี้สิ่งที่ฉันต้องการคือการส่งข้อความไปและ จากโปรแกรมของฉันทำงานใน SWANK)

คำตอบ:


7

จากด้าน CL ฟังก์ชั่นที่คุณต้องการคือswank::eval-in-emacsการที่คุณส่งรหัสที่คุณต้องการประเมินเป็น emacs คุณสามารถดูตัวอย่างได้ที่นี่เพื่อให้ emacs รันคำสั่ง graphivz และเปิด png ที่ได้ในบัฟเฟอร์ จากด้านข้างของ emacs ฟังก์ชั่นที่คุณกำลังมองหาคือ slime-eval (พบใน slime.el)


ขออภัยฉันใช้เวลาสักครู่เพื่อกลับไปหามัน
wvxvw
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.