2012-09-09 10 views
11

में फ़ाइल सेव पर एक नामस्थान को फिर से लोड करने के लिए गर्म करने के लिए कैसे करें Leiningen REPL का उपयोग करते समय, फ़ाइल सहेजने पर प्रतिलिपि में फ़ाइल या एनएस स्वचालित रूप से पुनः लोड करने का कोई तरीका है। वर्तमान में मैं निम्नलिखित को टाइप करके एनएस को पुनः लोड करता हूं - (use 'sample.ns :reload-all)लीनिंगेन आरईपीएल

हालांकि क्या मैं इसे फ़ाइल सेव पर स्वचालित रूप से पुनः लोड कर सकता हूं?

+3

क्या आप Emacs का उपयोग कर रहे हैं? क्योंकि यदि ऐसा है, तो यह कीचड़/swank की एक समर्थित विशेषता है: http://stackoverflow.com/questions/2596222/how-to-reload-files-upon-save-when-using-swankleiningenemacs – noahlz

उत्तर

0

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

इस तरह से मेरे लिए थोड़ा जटिल लगता है। लीन से सीधे लॉन्च किया गया सादा आरईपीएल विकसित करने का प्रभावी तरीका नहीं है। आप Emacs या Lightable जैसे कुछ क्लोजर-अनुकूल संपादक का उपयोग करना बेहतर है।

0

अधिकांश प्रमुख संपादक कस्टम हॉटकी बाइंडिंग का समर्थन करते हैं और क्लोजर प्लगइन है जो आपको नेटवर्क पर सक्रिय आरपीएल से कनेक्ट करने की अनुमति देता है ("nREPL" के माध्यम से)। निजी तौर पर, मैं इस उद्देश्य के लिए vim का उपयोग करता हूं और इसलिए vim-fireplace का उपयोग करता हूं।

इसका मतलब है कि आप जिस फ़ाइल को संपादित कर रहे हैं उसे पुनः लोड करने के लिए कस्टम हॉटकी हो सकती है। वहां से, आमतौर पर एक कस्टम ऑन-सेव हुक जोड़ने के लिए तुच्छ है जो पुनः लोडिंग करता है।