2010-11-27 5 views
11

में फ़ंक्शंस और चर के स्वचालित विस्तार या स्वत: पूर्ण करने के लिए कैसे करें क्लोजर प्रतिलिपि पर वर्तमान कमांड का विस्तार करने का कोई तरीका है जैसे कि मैं सामान्य लिस्प में करने में सक्षम हूं?क्लोजर प्रतिलिपि

उदाहरण के लिए कहते हैं कि मैं टाइप किया है:

Math/ 

मैं टैब कुंजी सभी उपलब्ध चर और कि नाम स्थान में कार्य का विस्तार करना चाहते हैं।

मैं क्लोजर का उपयोग कर रहा हूं क्योंकि अवरुद्ध-लिस्प क्लोजर में सादे वेनिला प्रतिलिपि से और स्वैच्छ कीचड़ के माध्यम से यह कैसे करना है, यह जानना चाहेंगे।

उत्तर

19

एएमएक्स के तहत क्लोजर-मोड और कीचड़ के पक्ष में एक और वोट। विशेष रूप से, यदि आप auto-complete सेट अप करते हैं, तो आप ड्रॉपडाउन सूची में संदर्भ-जागरूक टैब पूर्ण होने के लिए अपने ac-slime पैकेज का उपयोग कर सकते हैं। यहां एक screencast showing it in action है।

और, हिप्पी-विस्तार, here's how to tie slime completion into hippie-expand के बारे में टेक्नोमेंसी की टिप्पणी के आगे।

अपडेट: 2012, nrepl, nrepl.el और ac-nrepl के रूप में कीचड़ और एसी-कीचड़ की जगह कर रहे हैं; एक ही कार्यक्षमता, छोटे और क्लीनर कोडबेस।

Update2: अक्टूबर 2013 तक के nrepl.elcider नाम दिया जाता है और यह और ac-nrepl GitHub पर clojure-emacs संगठन के लिए चले गए हैं। nrepl सर्वर घटक

+0

अभी भी 2012 के मध्य में प्रतिकृति का उपयोग करने का सबसे प्रभावी तरीका है, अब Emacs24 के साथ। –

3

क्या आपने क्लोजर मोड Emacs के लिए प्रयास किया है? इसमें स्वतः पूर्ण है (सुझाव नई विंडो में दिखाए जाते हैं, और यदि केवल एक ही संभावित विकल्प है, तो इसका उपयोग नाम का विस्तार करने के लिए किया जाता है), हाइलाइटिंग और कई अन्य अच्छी सुविधाएं (सीएल के लिए अधिक नहीं, लेकिन कम भी नहीं)।

यह ELPA के माध्यम से उपलब्ध है। installing ELPA टाइप M-x package-list-packages के बाद, आवश्यक पैकेज के पास कर्सर सेट करें और i दबाएं (पहले से इंस्टॉल किए गए पैकेज लाल रंग में हैं)। आपको पैकेज clojure-mode, slime, slime-repl और swank-clojure की आवश्यकता होगी। जब आप i -marks के साथ काम करते हैं, तो स्थापना पूर्ण करने के लिए x दबाएं। अंत में, M-x slime दबाएं - Emacs बताएंगे कि क्लोजर स्थापित नहीं है और नवीनतम संस्करण डाउनलोड करने और उपयोग करने का प्रस्ताव है। बस सहमत हैं।

आप integrateLeiningen के साथ Emacs भी कर सकते हैं।

2

क्लोजर में वेनिला प्रतिलिपि बहुत खराब है; इसका इतिहास भी नहीं है। कार्यों के सबसे आदिम लेकिन कुछ भी के लिए इसे से बचें। मुझे नहीं लगता कि आप इसे निम्न-लिप में प्राप्त कर सकते हैं, लेकिन कीचड़ प्रतिलिपि में आप इस तरह की चीजों को पूरा करने के लिए केवल टैब का उपयोग कर सकते हैं। कीचड़ के साथ क्लोजर-मोड बफर में इसे एम-टैब सक्रिय किया गया है, या आप इसे अपने हिप्पी-विस्तार कार्यों में जोड़ सकते हैं।