2012-02-24 9 views
17

यह बहुत अच्छा है कि ghci को अवरक्त-हैकेल-मोड के माध्यम से Emacs के साथ एकीकृत किया गया है: यह त्रुटि स्थानों को संकलित करने, प्रकारों, परिभाषाओं आदि पर इंटरैक्टिव रूप से निरीक्षण करने के लिए त्वरित रूप से नेविगेट करने की एक शानदार संभावना जोड़ता है। फिर भी, इस सेटअप में जो प्रमुख विशेषता है, वह ghci टैब-समापन का उपयोग करने में असमर्थता है, जो आयातित मॉड्यूल, भाषा एक्सटेंशन और ghci कमांड से उपलब्ध कार्यों को पूरा करने में काफी मददगार है।हैसिक-मोड में ghci टैब-समापन

मुझे लगता है कि इस कार्यक्षमता Emacs बफर में GHCi प्रक्रिया के लिए कच्चे "टैब" चरित्र गुजर, इसके उत्पादन वापस पढ़ने और चिपकाने परिणाम से नहीं बल्कि तुच्छता से लागू किया जा सकता है। ध्यान दें कि मैंने Emacs में "comint-mode" के साथ काम नहीं किया है, इसलिए मैं पूरी तरह गलत हो सकता हूं।

अंत में, हम मेरे प्रश्न पर आए हैं: यह सुविधा हैकेल-मोड से क्यों गुम है? क्या कोई स्पष्ट समस्या है जिसे मैं अनजान हूं, क्या इसे लागू करना मुश्किल है, या यह कुछ ऐतिहासिक कारणों से है? (जैसे "इसे लिखने के लिए कोई भी परेशान नहीं है")। क्या आपके पास समस्या के लिए कोई कामकाज है? (Emacs के बाहर चलने वाली ghci को छोड़कर)

उत्तर

6

ghc-mode देखें जो हैकेल-मोड के शीर्ष पर बनाता है और स्वत: पूर्णता और कुछ अन्य सुविधाएं जोड़ता है।

haskell-emacs मोड भी है, जो हैकेल-मोड से अलग है। इसमें स्वत: पूर्णता भी है। हालांकि यह quirky था और जब मैंने कोशिश की तो हमेशा काम नहीं किया।

+1

मैंने अभी ghc-mod स्थापित किया है, मुझे इसकी स्वत: पूर्णता और हलिंट एकीकरण पसंद है (हालांकि मुझे अपनी ज़रूरतों को ट्यून करने के लिए थोड़ा सा खेलना है)। लेकिन फिर भी, इसका स्वत: पूर्णता ghci बफर में ठीक से काम नहीं करता है: जहां तक ​​मैं समझता हूं कि "ghc-full" फ़ंक्शन वर्तमान बफर का विश्लेषण करता है (आयात खोजने के लिए) और ghci बफर वह अपेक्षा नहीं करता है। तो यह केवल कुछ कीवर्ड सुझाता है और किसी भी ": एम + डेटा.लिस्ट" को अनदेखा करता है जिसे मैं ghci buffer में टाइप करता हूं। –

+0

मैंने क्रिस डोन से "हैकेल-एमाक्स" भी कोशिश की है, लेकिन इन दिनों यह काफी दस्तावेज नहीं है (क्योंकि यह अभी भी बीटा में है), इसलिए मैंने थोड़ी देर बाद वापस आने का फैसला किया। –

संबंधित मुद्दे