2009-04-16 22 views
18

मैं कोको एप्लिकेशन पर काम कर रहा हूं जो उद्देश्य-सी, एसक्यूएल, जावास्क्रिप्ट, पायथन इत्यादि जैसी भाषाओं में लिखे गए स्रोत कोड का विश्लेषण और हाइलाइट करने में सक्षम होना चाहिए। टेक्स्ट भी संपादन योग्य होना चाहिए (उदाहरण के लिए, एनएसटीएक्स्टव्यू का उपयोग करके) ।कोको में स्रोत कोड के सिंटैक्स हाइलाइटिंग को लागू करने का सबसे अच्छा तरीका क्या है?

कृपया सलाह दें कि मैक ओएस एक्स 10.5 में ऐसी सुविधा को लागू करने का सबसे अच्छा तरीका क्या है।

स्वत: पूर्णता और अन्य अतिरिक्त सुविधाओं का समर्थन करने की कोई आवश्यकता नहीं है। कीवर्ड, स्ट्रिंग्स, # शामिल, और संख्याओं द्वारा सरल प्रारूपण, लेकिन शांत प्रदर्शन के साथ बस ठीक है।

इसके अलावा, अगर भाषा द्वारा कॉन्फ़िगरेशन समर्थित थे तो यह बहुत अच्छा होगा।

धन्यवाद!

+0

बुद्धिमान वाक्य रचना हाइलाइटिंग बहुत कठिन हो सकता है - यही कारण है कि एप्पल के LLVM को बजना दृश्यपटल पर इतना काम कर रही का हिस्सा है। शायद आप इस पर एक नजर डालना चाहें। – user57368

उत्तर

16

एक परियोजना है कि कुछ इसी तरह की आवश्यकता होगी की तैयारी में, मैं निम्नलिखित पाया है (लेकिन गहराई से उनका मूल्यांकन नहीं किया गया):

  • /डेवलपर/उदाहरण/ओपनजीएल/कोको/जीएलएसएलडीटर नमूना वाक्यविन्यास हाइलाइटिंग लागू करता है।
  • IDEKit, "ओपन-सोर्स फ्रेमवर्क जो प्रोग्रामर स्रोत कोड संपादन प्रदान करता है, जिसमें सिंटैक्स रंग, पॉपअप फ़ंक्शंस और स्प्लिट फ़्रेम शामिल हैं"। इसे थोड़ी देर के लिए अपडेट नहीं किया गया है (यह 10.2 और 10.3 संगतता को टाउट करता है, और प्रोजेक्ट बिल्डर प्रोजेक्ट के साथ आता है - एक्सकोड 2.5 के साथ परिवर्तित किया जा सकता है)।
  • UKSyntaxColoredTextDocument
+4

गंड्रिया ने रेपो को मार डाला, लेकिन मैंने पुराने एसवीएन रेपो [https://github.com/CodaFi/IDEKit) से एक कार्यशील प्रति (0.3, सबसे हालिया) बचाया। मेरा एक्सकोड 4.x समर्थन है, और एआरसी है। – CodaFi

1

आप पाइथन में लिखे गए पेंगल्स का उपयोग कर सकते हैं, स्रोत कोड का HTML प्रतिनिधित्व उत्पन्न करने के लिए, जिसे वेब व्यू में प्रस्तुत किया जा सकता है।

(ध्यान दें, जैसा कि नीचे टिप्पणी में परिलक्षित -। इस उत्तर मूल प्रश्न है, जो संपादन योग्य पाठ का उल्लेख नहीं था के लिए गया था)

+0

मैथ्यू धन्यवाद। क्षमा करें, लेकिन मैं एक और आवश्यकता को शामिल करना भूल गया। स्रोत कोड संपादन योग्य होना चाहिए (उदाहरण के लिए, NSTextView में रखा गया है)। क्या इस लक्ष्य को प्राप्त करने के लिए NSTextView में हाइलाइटिंग को शामिल करने के लिए पेंगल्स का उपयोग करना संभव है? – Stream

+0

मैंने एचटीएमएल जेनरेट करने के अलावा अन्य कुछ भी नहीं किए हैं, लेकिन मुझे पता है कि यह अन्य प्रारूपों में चिह्नित हो सकता है। यह हो सकता है कि उनमें से एक NSTextView प्रदर्शित करने के लिए आधार हो सकता है। –

6

मैं दूसरे Ahruman की सलाह चाहते हैं - खासकर उली के UKSyntaxColoredTextDocument को देख के रूप में है कि सही दिशा में इंगित करेगा कि कौन-कौन कक्षाएं आदि आप के बारे में जानने के लिए जा रहे हैं।

यह जानकारी का एक और बहुत अच्छा स्रोत है:

http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting

गुड लक - सिंटेक्स हाइलाइटिंग सही पाने के लिए मुश्किल है, लेकिन रास्ते में बहुत मज़ा आता!

+0

धन्यवाद दोस्तों। यह निश्चित रूप से सही उत्तर की तरह दिखता है। मैं उली के घटक को ध्यान से देखूंगा, लेकिन मैं कुछ दिनों के लिए इस प्रश्न को अनुत्तरित छोड़ना चाहता हूं। संभवतः, इस समय तक कोई नया कुछ लेकर आएगा। – Stream

2

मैं एक वाक्य रचना हाल ही में कोको के लिए समाधान पर प्रकाश डाला के लिए और स्टैक ओवरफ़्लो, गूगल और GitHub पर खोज कुछ भी आधुनिक नहीं पा सके की देखभाल करने के लिए किया था, आसान फिर से सक्रिय विकास में अभी भी उपयोग करें और अभी भी।

ऐसा लगता है कि इन दिनों अधिकांश वाक्यविन्यास हाइलाइटर्स वेब के लिए लिखे गए हैं। सौभाग्य से किसी भी कोको ऐप में उपयोग करने के लिए उन्हें वेबव्यू में एम्बेड करना वास्तव में काफी आसान है। संपादक के साथ संचार करना वेबकिट के WebScriptObject protocol के माध्यम से किया जा सकता है।

यहाँ कोको के लिए लोकप्रिय जावास्क्रिप्ट पाठ संपादक CodeMirror के लिए एक उदाहरण आवरण है: https://github.com/swisspol/CodeMirrorView

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

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