क्या Emacs में इनपुट फील्ड के लिए कोई लाइब्रेरी है?


10

कुछ Emacs मोड का उपयोग करें (कुछ इस तरह के) रूपों: अनुकूलन इंटरफ़ेस उनमें से एक है, संदेश मोड (पढ़ें: इसका हेडर भाग) एक और है; उनमें से अधिक हैं, दुर्भाग्य से हमेशा बहुत समान नहीं हैं। एक "फॉर्म" से मेरा मतलब यहाँ एक बफर है जिसमें केवल-पाठ और पाठ दर्ज करने के लिए निर्दिष्ट स्थान हैं; इसमें बटन शामिल हो सकते हैं या नहीं भी हो सकते हैं (यह संभवतः C-c C-cपुष्टि / कमिटिंग कुंजी के रूप में स्वीकार करना चाहिए , भले ही एक ओके बटन की उपस्थिति के बावजूद )।

मुझे विशेष रूप से खेतों में ऑटो-पूर्ति में दिलचस्पी है (और विशेष रूप से, कुछ निर्दिष्ट सेट से मानों की सूची के साथ फ़ील्ड को सक्षम करना , कहना, अल्पविराम से अलग होना)। मेरा प्रश्न है: क्या कोई एमाक्स लाइब्रेरी है जो आसान ("आसान" द्वारा सक्षम है, मेरा मतलब है कि इस तरह के रूपों के निर्माण को सुदृढ़ नहीं करना), या क्या मुझे अपना सब कुछ कोड करना चाहिए?

(मुझे लगता है कि बाद के मामले में मुझे क्या करना चाहिए (1) बफर के कुछ हिस्सों को केवल पढ़ने के लिए निर्धारित किया जाएगा, (2) एक विशेष प्रमुख मोड तैयार करें, ताकि उदाहरण के लिए TABऔर S-TAB"फ़ील्ड" और (3) के बीच स्विच करें शायद आटोक्लेम्पशन के लिए आइकल्स या हेल्म जैसी किसी चीज़ का उपयोग करें।)


1
इनपुट फ़ील्ड्स कहने के लिए अपना शीर्षक बदला। योगों में रूपों का एक विशेष अर्थ होता है, जिससे भ्रम पैदा हो सकता है।
मालाबार

2
और हाँ, एक अंतर्निहित विजेट लाइब्रेरी है। लेकिन मुझे इसके बारे में कुछ नहीं पता।
मालाबार

@ मालाबार: धन्यवाद, यह शायद एक बेहतर शब्द है।
mbork

(भले ही Emacs स्वयं इस अर्थ में "फ़ॉर्म" शब्द का उपयोग करता है - ड्रू के उत्तर में उल्लिखित विगेट्स मैनुअल देखें!)
mbork

जवाबों:


8

पुस्तकालयों cus-edit.elऔर wid-edit.el(और उनके शीर्ष-स्तरीय पुस्तकालयों custom.elऔर widget.el, और संबद्ध घटक पुस्तकालयों को देखें), जो जीएनयू एमएसीएस के साथ शामिल हैं। पूर्ववर्ती उत्तरार्द्ध का उपयोग करता है। उत्तरार्द्ध बुनियादी (और नहीं-तो-बुनियादी) फ़ॉर्म-एंट्री चीज़ों को परिभाषित करता है, जिसे पदानुक्रम में " विगेट्स " कहा जाता है। आप अपने स्वयं के विजेट और विजेट प्रकार बनाने के लिए पुस्तकालय में इन पूर्वनिर्धारित विगेट्स और कार्यों का उपयोग कर सकते हैं।

हालाँकि, चेतावनी दी जाती है कि इन पुस्तकालयों के कोड, विशेष रूप से wid-edit.el, का पालन करना बहुत आसान नहीं है । आपका सबसे अच्छा दांव मौजूदा विजेट्स का पुन: उपयोग करके या एक गाइड के रूप में मौजूदा विजेट-परिभाषा कोड का उपयोग करके शुरू करना है।

(इसके लिए दो लघु विस्तार पुस्तकालय हैं cus-edit+.elऔर wid-edit+.elवे कुछ उपयोग उदाहरण भी प्रस्तुत करते हैं।)

विजेट के लिए एक इंफोर्मेशन मैनुअल है, जिसे GNU Emacs के साथ वितरित किया गया है, जिसका शीर्षक है " The Emacs Widget Library "।

forms.elGNU Emacs के साथ शामिल लाइब्रेरी भी है, लेकिन मैं इससे परिचित नहीं हूं। शायद किसी और के पास इसके बारे में कहने के लिए कुछ उपयोगी है। फॉर्म के लिए एक मैनुअल है, जिसे जीएनयू एमएसीएस के साथ वितरित किया जाता है, जिसे " फॉर्म मोड " कहा जाता है।


2
Forms.el के बारे में अधिक एक छोटी सी: stackoverflow.com/questions/10166600/...
फिल्स

1
@ ड्रू: आपके उत्तर के लिए धन्यवाद! आप के बीच संबंध स्पष्ट कर सके \(custom\|widget\).elऔर \(cus\|wid\)-edit.elएक सा? मैं विशेष रूप से विजेट मैनुअल से इस हिस्से को समझ से बाहर है (require 'widget) (eval-when-compile (require 'wid-edit)):।
mbork

1
सबसे पहले, मैं इस पर कोई विशेषज्ञ नहीं हूँ। जिस समय मुझे कुछ wrt को अनुकूलित करने की आवश्यकता होती है कस्टमाइज़ करें मैं डूबा हुआ cus-edit.elऔर wid-edit.el। आपके द्वारा उल्लेखित अन्य फाइलें शीर्ष-स्तरीय फाइलें हैं; *-edit.elफ़ाइलों कोड है कि मैं में दिलचस्पी थी है पता नहीं और अधिक है कि तुलना में। माफ़ करना। वास्तविक कठिनाई स्वयं कोड है, जो एक विशेष अर्ध-OOP शैली का उपयोग करता है जो खुद को अच्छी तरह से Emacs स्वयं-प्रलेखन (इसे हल्के ढंग से डालने के लिए) या Emacs डीबगर के लिए उधार नहीं देता है। आप अपने दम पर जांच कर सकते हैं, या शायद लेखक से संपर्क करने की कोशिश कर सकते हैं (इसके साथ शुभकामनाएं!)। शायद यहाँ दूसरों को कुछ मदद मिलेगी।
आकर्षित किया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.