Erlang 21

erlang.el




erlang

erlang.el

मॉड्यूल

erlang.el

मॉड्यूल सारांश

Emacs के लिए एरलैंग मोड

विवरण

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

निम्नलिखित विवरणों में बिंदु शब्द के उपयोग का अर्थ है: "बिंदु को कर्सर की स्थिति के रूप में देखा जा सकता है। अधिक सटीक रूप से, बिंदु दो वर्णों के बीच की स्थिति है जबकि बिंदु के बाद कर्सर चरित्र पर खींचा जाता है"।

इंडेंट

निम्नलिखित आदेश इंडेंटेशन के लिए सीधे उपलब्ध हैं।

  • TAB ( erlang-indent-command ) - कोड की वर्तमान लाइन को इंगित करता है।
  • MC-\ ( indent-region ) - इस क्षेत्र की सभी लाइनों को इंगित करता है।
  • Ml ( indent-for-comment ) - लाइन पर (यदि कोई हो) कोड के दाईं ओर एक टिप्पणी वर्ण डालें।

टिप्पणी वाली लाइनें अलग-अलग तरह से उपयोग की गई% -चक्रों की संख्या पर निर्भर करती हैं:

  • एक% -चरित्र वाली रेखाएं कोड के दाईं ओर स्थित होती हैं। स्तंभ को चर comment-column द्वारा निर्दिष्ट किया जाता है, डिफ़ॉल्ट रूप से स्तंभ 48 का उपयोग किया जाता है।
  • दो-प्रतिशत वाले रेखाएँ समान गहराई तक इंडेंट होंगी क्योंकि कोड उसी स्थिति में होगा।
  • तीन% से अधिक-लाइटर वाली रेखाएं बाईं ओर के मार्जिन की ओर संकेत करती हैं।
  • Cc Cq ( erlang-indent-function ) - वर्तमान एरलैंग फ़ंक्शन को इंगित करता है।
  • Mx erlang-indent-clause RET
    वर्तमान Erlang क्लॉज को पूरा करें।
  • Mx erlang-indent-current-buffer RET - पूरे बफर को इंडेंट करें।

संपादित करें - टिप्पणी भरें

टेक्स्ट मोड में सामान्य टेक्स्ट को एडिट करते समय आप Emacs टेक्स्ट को fill-paragraph कमांड द्वारा रिफॉर्मेट कर सकते हैं। यह कमांड टिप्पणियों के लिए काम नहीं करेगा क्योंकि यह टिप्पणी वर्णों को शब्दों के रूप में व्यवहार करेगा।

Erlang संपादन मोड एक कमांड प्रदान करता है जो Erlang टिप्पणी संरचना के बारे में जानता है और टिप्पणियों में पाठ पैराग्राफ भरने के लिए उपयोग किया जा सकता है। उदाहरण के लिए:

%% This is   just a very simple test to show
%% how the Erlang fill
%% paragraph   command works.

स्पष्ट रूप से, पाठ बुरी तरह से स्वरूपित है। इस अनुच्छेद रेखा को लाइन द्वारा स्वरूपित करने के बजाय, चलो Mq दबाकर erlang-fill-paragraph का प्रयास करें। परिणाम है:

%% This is just a very simple test to show how the Erlang fill
%% paragraph command works.

संपादित करें - टिप्पणी / टीकाकरण क्षेत्र

Cc Cc एक चिह्नित क्षेत्र में सभी लाइनों की शुरुआत में टिप्पणी अक्षर डाल देगा। यदि आप एक के बजाय दो टिप्पणी वर्ण रखना चाहते हैं तो आप Cu 2 Cc Cc कर सकते हैं

Cc Cu टिप्पणी-क्षेत्र कमांड को पूर्ववत करेगा।

संपादित करें - मार्कर को आगे बढ़ाना

  • Ca Ma ( erlang-beginning-of-function ) - वर्तमान या पूर्ववर्ती एर्लैंग फ़ंक्शन की शुरुआत में बिंदु को स्थानांतरित करें। एक संख्यात्मक तर्क (पूर्व Cu 2 Ca Ma ) के साथ फ़ंक्शन इस कई Erlang फ़ंक्शंस पर पीछे की ओर निकल जाता है। क्या तर्क नकारात्मक होना चाहिए बिंदु को वर्तमान फ़ंक्शन के नीचे एक फ़ंक्शन की शुरुआत में ले जाया जाता है।
  • MCa ( MCa erlang-beginning-of-clause ) - जैसा कि ऊपर है, लेकिन वर्तमान या पूर्ववर्ती एरलैंग क्लॉज की शुरुआत की ओर बढ़ते हैं।
  • Ca Me ( erlang-end-of-function ) - वर्तमान या एर्लैंग फ़ंक्शन के अंत में जाएं। एक संख्यात्मक तर्क (पूर्व Cu 2 Ca Me ) के साथ फ़ंक्शन इस कई Erlang फ़ंक्शंस पर पीछे की ओर निकल जाता है। क्या तर्क नकारात्मक होना चाहिए बिंदु को वर्तमान फ़ंक्शन के नीचे एक फ़ंक्शन के अंत में ले जाया जाता है।
  • MCe ( erlang-end-of-clause ) - जैसा कि ऊपर है, लेकिन वर्तमान के अंत में या Erlang क्लॉज़ की ओर बढ़ते हैं।

संपादित करें - चिह्नित करना

  • Cc Mh ( erlang-mark-function ) - इस क्षेत्र को वर्तमान Erlang फ़ंक्शन के आसपास रखें। बिंदु को फ़ंक्शन के अंत में शुरुआत और चिह्न में रखा गया है।
  • MCh ( erlang-mark-clause ) इस क्षेत्र को वर्तमान Erlang क्लॉज़ के आसपास रखें। बिंदु को फ़ंक्शन के अंत में शुरुआत और चिह्न में रखा गया है।

संपादित करें - फ़ंक्शन हेडर कमांड्स

  • Cc Cj ( erlang-generate-new-clause ) - वर्तमान Erlang फ़ंक्शन में एक नया क्लॉज़ बनाएँ। बिंदु को तर्क सूची के कोष्ठकों के बीच रखा जाता है।
  • Cc Cy ( erlang-clone-arguments ) - पूर्ववर्ती Erlang क्लॉज के फ़ंक्शन तर्कों की प्रतिलिपि बनाएँ। जब पूर्ववर्ती के रूप में लगभग एक ही तर्क के साथ एक नए खंड को परिभाषित करते समय यह कमांड उपयोगी होता है।

संपादित करें - तीर

  • Cc Ca ( erlang-align-arrows ) - एक क्षेत्र के अंदर क्लॉस के बाद तीर संरेखित करता है।

    Example:
    
    sum(L) -> sum(L, 0).
    sum([H|T], Sum) -> sum(T, Sum + H);
    sum([], Sum) -> Sum.
    
    becomes:
    
    sum(L)          -> sum(L, 0).
    sum([H|T], Sum) -> sum(T, Sum + H);
    sum([], Sum)    -> Sum.

वाक्य - विन्यास पर प्रकाश डालना

सिंटैक्स हाइलाइटिंग को Erlang मेनू से सक्रिय किया जा सकता है। चार अलग-अलग विकल्प हैं:

  • बंद: सामान्य काले और सफेद प्रदर्शन।
  • लेवल 1: फंक्शन हेडर, आरक्षित शब्द, टिप्पणी, तार, उद्धृत परमाणु और वर्ण स्थिरांक रंगीन होंगे।
  • स्तर 2: उपरोक्त, विशेषताएँ, एर्लांग बिफ: एस, गार्ड और एकल उद्धरणों में संलग्न टिप्पणियों में शब्द रंगीन होंगे।
  • स्तर 3: उपरोक्त, चर, रिकॉर्ड और मैक्रो रंगीन होंगे। (इस स्तर को क्रिसमस ट्री स्तर के रूप में भी जाना जाता है।)

टैग

टैग कमांड को काम करने के लिए यह आवश्यक है कि आपने एक टैग फ़ाइल बनाई हो। Erlang mode users guide देखें

  • M-. ( find-tag ) - फ़ंक्शन परिभाषा खोजें। डिफ़ॉल्ट मान बिंदु के तहत फ़ंक्शन का नाम है।
  • टैग लगाएं ( erlang-find-tag ) - जैसे एलिफ़िश-फंक्शन `फाइंड-टैग '। Erlang मॉड्यूल को पुनः प्राप्त करने में सक्षम। टैग 'टैग', 'मॉड्यूल:', 'मॉड्यूल: टैग' रूपों पर दिए जा सकते हैं।
  • M-+ ( erlang-find-next-tag ) - erlang-find-next-tag की अगली घटना का पता लगाएं।
  • M-TAB ( erlang-complete-tag ) - टैग खोज में दर्ज टैग पर पूर्ण प्रदर्शन करें। वर्तमान टैग तालिका में सूचीबद्ध नामों के सेट को पूरा करता है।
  • टैग एप्रॉप्स ( tags-apropos एप्रोपोस) - टैग्स टेबल रेजेक्सपी मैचों में सभी टैगों की प्रदर्शन सूची।
  • Cx ts ( tags-search ) - REGEXP के लिए मिलान के लिए टैग तालिका में सूचीबद्ध सभी फ़ाइलों के माध्यम से खोजें। मैच मिलने पर रुक जाता है।

कंकाल

एक कंकाल पूर्व लिखित कोड का एक टुकड़ा है जिसे बफर में डाला जा सकता है। एरलैंग मोड पूर्वनिर्धारित कंकालों के एक सेट के साथ आता है। कंकालों को tempo-template-erlang-* नामक आदेशों के tempo-template-erlang-* मेनू से एक्सेस किया जा सकता है, क्योंकि कंकालों को मानक एमएसीएस पैकेज "टेम्पो" का उपयोग करके परिभाषित किया गया है। यहां उपलब्ध कंकालों का संक्षिप्त विवरण इस प्रकार है:

  • सरल कंकाल: यदि, मामला, प्राप्त, बाद प्राप्त करें, लूप प्राप्त करें - मूल कोड का निर्माण।
  • हैडर तत्व: मॉड्यूल, लेखक - ये कमांड फॉर्म -module( xxx ). पर लाइनें -module( ). और -author('[email protected]'). । उन्हें सीधे इस्तेमाल किया जा सकता है, लेकिन नीचे वर्णित पूर्ण हेडर के हिस्से के रूप में भी उपयोग किया जाता है।
  • पूर्ण हेडर: छोटा (न्यूनतम आवश्यकता), मध्यम (मॉड्यूल के बारे में बुनियादी जानकारी के लिए फ़ील्ड), और बड़े हेडर (कुछ अतिरिक्त लेआउट संरचना के साथ मध्यम हेडर)।
  • छोटा सर्वर - ओटीपी का उपयोग नहीं करने वाले एक साधारण सर्वर के लिए कंकाल।
  • आवेदन - ओटीपी आवेदन व्यवहार के लिए कंकाल
  • पर्यवेक्षक - ओटीपी पर्यवेक्षक व्यवहार के लिए कंकाल
  • पर्यवेक्षक ब्रिज - ओटीपी पर्यवेक्षक पुल व्यवहार के लिए कंकाल
  • gen_server - OTP gen_server व्यवहार के लिए कंकाल
  • gen_event - OTP gen_event व्यवहार के लिए कंकाल
  • gen_fsm - ओटीपी gen_fsm व्यवहार के लिए कंकाल
  • gen_statem (StateName / 3) - राज्य नाम कार्यों का उपयोग करके OTP gen_statem व्यवहार के लिए कंकाल
  • gen_statem (handle_event / 4) - OTP के लिए कंकाल gen_statem व्यवहार एक राज्य समारोह का उपयोग कर
  • लाइब्रेरी मॉड्यूल - एक मॉड्यूल के लिए कंकाल जो एक प्रक्रिया को लागू नहीं करता है।
  • कोरबा कॉलबैक - एक कोरबा कॉलबैक मॉड्यूल के लिए कंकाल।
  • एर्लैंग टेस्ट सूट - एर्गैंग टेस्ट सर्वर के लिए कॉलबैक मॉड्यूल के लिए कंकाल।

खोल

  • नया शेल ( erlang-shell ) - एक नया एरलैंग शेल शुरू करता है।
  • Cc Cz, ( erlang-shell-display ) - एक Erlang शेल प्रदर्शित करता है, या कोई नया शुरू होता है यदि कोई शेल प्रारंभ नहीं होता है।

संकलित करें

  • Cc Ck, ( erlang-compile ) - वर्तमान बफर में Erlang मॉड्यूल को erlang-compile करता है। आप डिबग विकल्प debug_info और export_all साथ मॉड्यूल संकलित करने के लिए Cu Cc Ck का भी उपयोग कर सकते हैं।
  • Cc Cl, ( erlang-compile-display ) - प्रदर्शन संकलन आउटपुट।
  • Cu Cx` प्रारंभ से संकलक आउटपुट को पार्स करना प्रारंभ करें। यह कमांड उस बिंदु को लाइन पर रखेगा जहां पहली त्रुटि पाई गई थी।
  • Cx` ( erlang-next-error ) - बिंदु को अगली त्रुटि पर ले जाएँ। संकलन त्रुटियों को प्रदर्शित करने वाले बफर को अपडेट किया जाएगा ताकि वर्तमान त्रुटि दिखाई दे।

आदमी

यूनिक्स पर आप ईमैक्स में मैनुअल पेज देख सकते हैं। मैनुअल पृष्ठों को खोजने के लिए, चर `erlang-root-dir 'को Erlang अधिष्ठापन वाली निर्देशिका के नाम से बाध्य होना चाहिए। नाम में अंतिम स्लैश शामिल नहीं होना चाहिए। व्यावहारिक रूप से, आपको अपने ~ / .emacs के लिए निम्न फ़ॉर्म पर एक पंक्ति जोड़ना चाहिए,

(setq erlang-root-dir "/the/erlang/root/dir/goes/here")

IMenu शुरू

  • Mx imenu-add-to-menubar RET - यह कमांड वर्तमान बफर में सभी फ़ंक्शन युक्त IMenu मेनू बनाएगा। कमांड आपको मेनू के लिए उपयुक्त नाम के लिए पूछेगा। Xemacs द्वारा समर्थित नहीं है।

संस्करण

  • Mx erlang-version RET - यह कमांड Erlang एडिटिंग मोड के वर्जन नंबर को प्रदर्शित करता है। Erlang मोड के बारे में प्रश्न पूछते समय संस्करण संख्या की आपूर्ति करना हमेशा याद रखें।