वैसे यह अच्छा काम है कि आपने पाया है कि आजकल गिथब पर टंबंडल है।
आपको Bundles
पर क्लिक करके इनबिल्ट विकल्पों को खोजने में सक्षम होना चाहिए, फिर Haskell
। मानक Haskell.tmbundle
में काफी कम हैं। सबसे स्पष्ट रूप से उपयोगी एक है ... लोड फ़ाइल command-shift-r
या command-R
। यदि आपने .hs या .lhs को समाप्त करने वाला मॉड्यूल लिखा है, तो यह इसे ghci में खोलता है।
(टेक्स्टमैट II में एक एकीकृत टर्मिनल की कुछ बात थी, लेकिन कौन जानता है? एक गैर-एकीकृत टर्मिनल की एक कष्टप्रद विशेषता यह है कि कोई ऐसा करने के बजाए कमांड-आर पर क्लिक करके 'पुनः लोड' करने के लिए प्रेरित होता है: r ghci
के अंदर; कुछ उन्मादों में यह विकसित होगा कि मेरे पास टर्मिनल ओपन की 15 प्रतियां हैं।)
कई अच्छी विशेषताएं सामान्य टेक्स्टमैट चीजें हैं, जो भाषा विवरण द्वारा निर्धारित होती हैं, इसलिए सामान्य विवरण पढ़ने के लिए अच्छा हो सकता है टेक्स्टमैट niceties के। उदाहरण के लिए, यदि कई रेखाएं ऊंची हैं, तो कमांड-/उन्हें --
एस के साथ टिप्पणियां दें; या, यदि वे पहले से ही टिप्पणी कर चुके हैं, तो उन्हें असम्बद्ध करता है। मैंने ऐसा करने के लिए कुछ एक साथ हैक किया था, इससे पहले कि मुझे एहसास हुआ कि यह पहले से ही था, मैन्युअल रूप से पर्याप्त मैनुअल का अध्ययन नहीं किया।
सब कुछ कीबाइंडिंग है, ज़ाहिर है, और छोटे स्क्रिप्ट चलाने और छोटे स्निपेट डालने के लिए अपना खुद का जोड़ना बहुत आसान है, इमाक्स की तुलना में कहीं ज्यादा।
Bundles
Bundle Editor
पर क्लिक करें और विभिन्न प्रकार की चीजों के लिए पाठ की जांच करें।
तो, उदाहरण के लिए, एक टैब ट्रिगर एक भाषा विस्तार pragma {-#LANGUAGE ... #-}
जहां कर्सर अंतरिक्ष में है शुरू करने के लिए बनाने के लिए ...
एक Snippet
की एक प्रतिलिपि बनाने और स्थानापन्न
{-#LANGUAGE ${1}#-}
Activation: Tab Trigger
का चयन करके और (जैसे कि) LANG
ट्रिगर के रूप में।
एक अच्छी बात यह है कि वे सभी शैल स्क्रिप्ट हैं, या अन्यथा (इस तरह की) आंशिक शैल स्क्रिप्ट्स के साथ कुछ टेक्स्टमैट चर के साथ, और आप उन्हें अपनी पसंदीदा भाषा में बहुत अधिक लिख सकते हैं। (हास्केल बंडल के लिए मेरे पास कोई और बात नहीं है, लेकिन अन्य बंडलों के लिए मैं करता हूं।)
सिंटैक्स हाइलाइटिंग आश्चर्यजनक रूप से ध्वनि है, लेकिन कुछ फैंसी एक्सटेंशन पर यात्रा करता है, उदा। "पैकेज आयात", जीएडीटी वाक्यविन्यास, हैडॉक दस्तावेज प्रणाली के लिए मार्कअप, और कुछ अन्य विषमताएं। मैंने अपना खुद का हैक किया है, लेकिन मुझे सिंटैक्स फ़ाइलों का प्रारूप बहुत ही समझदार लगता है, इसलिए यह आपको एक प्रतिलिपि भेजने का कोई उपयोग नहीं है। पिछले दो या तीन वर्षों में Haskell.tmbundle
कुछ जानकार हास्केलर्स द्वारा अनुशंसित किया गया है। जिस व्यक्ति ने इसे पहले बनाया था वह सिर्फ हास्केल सीख रहा था, और उदाहरण नहीं था हैडॉक मॉड्यूल बनाये, लेकिन दूसरी तरफ, वह सौभाग्य से बहुत कुशल रहा है और टेक्स्टमैट मशीनरी का घनिष्ठ ज्ञान रखने के लिए प्रतीत होता है।
टेक्स्टमैट Bundle Editor
में आपके द्वारा किए गए संशोधन को अजीब तरीके से संग्रहीत करने के तरीके से ध्यान दें। टेक्स्टमैट के साथ आने वाले बंडल, उदा। C
, Ruby
, HTML
, LaTeX
, आदि /Applications/Textmate.app/.../Bundles
में हैं। आपके द्वारा इंस्टॉल किए गए लोग /Library/Application\ Support/TextMate/Bundles
में हैं। जब आप Bundle Editor
के माध्यम से संशोधन करते हैं, तो वे आपके स्थानीय ~/Library/Application\ Support/TextMate/Bundles.
में संग्रहीत होते हैं, यह समझ में आता है लेकिन यह थोड़ा जटिल है, और हास्केल बंडल के सार्वजनिक सुधार में बाधा डालता है। (एक बंडल जिसे मैं लोगों के साथ साझा करता हूं, हास्केल नहीं, मैं गिट संशोधन के तहत सबसे पुरानी निर्देशिका में रहता हूं, इसलिए मूल और मेरे संशोधन एक साथ हैं।)
"होलॉग पर लुकअप" कीबाइंडिंग/विकल्प कार्य हाइलाइट किए गए शब्दों पर; यहाँ hayoo वेबसाइट के लिए एक प्रतिकृति है, जो एक प्रकार हस्ताक्षर
echo "<meta http-equiv=\"refresh\" content=\"0;
http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=${TM_SELECTED_TEXT:=$TM_CURRENT_WORD}\">"
का उपयोग करता है के लिए खोज कर सकते हैं hoogle स्थापित कबाल अगर है, तो आप इतना की तरह एक स्क्रिप्ट के साथ hoogle के लिए एक स्थानीय कॉल कर सकते हैं:
hoogle --w --n=100 '${TM_SELECTED_TEXT:=$TM_CURRENT_WORD}'
चुनने सहेजें: कुछ नहीं, इनपुट: चयनित पाठ, या: वर्ड, आउटपुट: { `के लिए HTML के रूप में दिखाएँ
अन्य emendations मैं कर रहे हैं ज्यादातर तुच्छ बना दिया है, एक टैब ट्रिगर स्निपेट कैसा - # भाषा ... # -} या अन्यथा खुद की सनकी।
एक बात यह उल्लेख करने योग्य है कि मैं एकीकृत करने में कामयाब रहा हूं typeof
हैकेज, cabal install typeof
से निष्पादन योग्य है, जो अनुमानित प्रकार के हस्ताक्षर के लिए ghci तक चलता है। मेरे पास अनुमानित प्रकार को HTML के प्रदर्शित बिट के रूप में दिखाने के लिए एक बाध्यकारी है, लेकिन इसे सम्मिलित करने के लिए भी।यह थोड़ा नाजुक है, लेकिन यहाँ प्रकार
#!/bin/bash
word=${TM_SELECTED_TEXT:-$TM_CURRENT_WORD}
module="${TM_FILEPATH}"
echo $word | typeof $module
की displayer के लिए पाठ Input: Selected Text
, Or: Line
चुनने है; Output: Show as Tool Tip
, Activation : Key Equivalent
typeof
के माध्यम से (फिर एक की बाइंडिंग चुनते हैं, तो मेरा control-option-command-j
है) इसी प्रकार, प्रकार प्रविष्टि की ओर बढ़ एक नया सी (आदेश फ़ाइल) बनाने के लिए और इस में शामिल हैं:
#!/bin/bash
word=${TM_SELECTED_TEXT:-$TM_CURRENT_WORD}
module="${TM_FILEPATH}"
echo $word | typeof $module | typeof_wordorder
# typeof_wordorder is the following hack compiled
# in my local ~/bin
# module Main where
# main = interact reword where
# reword :: String -> String
# reword xs =
# xs ++ (head . words . concat . lines $ xs)
यहाँ typeof
और typeof_worderorder
हास्केल निष्पादनयोग्य, पहले कर रहे हैं कैबल-स्थापित, दूसरा उपर्युक्त टिप्पणी है जो मेरे स्थानीय ~\bin
में संकलित कुछ बकवास बकवास करने के लिए संकलित है। यहां आपको Output : Insert as Snippet
क्षमा करें, मैं बस यादृच्छिक चीज़ों के बारे में सोच रहा हूं। आपको इस शीर्षक के तहत प्रश्न पोस्ट करना जारी रखना चाहिए, क्योंकि मुझे लगता है कि यह देखने के लिए उपयुक्त होगा कि कोई कैसे यात्रा कर सकता है, लेकिन हमारे चतुर हास्केलर दोस्तों के बारे में क्या सोच सकता है। मैं गिटूब पर अपने टंबंडल का 'कांटा' लगाने का अर्थ रखता हूं, लेकिन यह बहुत रोमांचकारी नहीं है, और बंडल निर्देशिकाओं का संगठन हमेशा मुझे पराजित करता है।
WinGHCi एक "जीयूआई संपादक" * प्रति * * नहीं है। आप कमांडलाइन से 'ghci' प्रोग्राम का उपयोग कर सकते हैं, जो काफी हद तक बराबर है; यही तो मैं करता हूं। मैं वास्तव में इसे WinGHCi को पसंद करता हूं, जिसका कमांड-पूरा प्रकार बेकार है। – Ezra