2009-05-14 8 views
26

मैं जावा (जावा स्रोत कोड के लिए) में एक स्रोत-कोड संपादक लिख रहा हूं, और मैं सरल वाक्यविन्यास हाइलाइटिंग जोड़ना चाहता हूं (कीवर्ड के लिए विशिष्ट रंग पर्याप्त होगा)। कोई सुझाव?मुझे जावा के लिए सिंटैक्स हाइलाइटिंग लाइब्रेरी कहां मिल सकती है?

+0

मैं अगर मैं भी "लगभग" वाक्यांश में "लगभग समझ से बाहर" का उपयोग करेंगे पता नहीं है है। –

+1

इस तरह से सुधारने के लिए प्रयास किया गया है कि mmyers के जवाब का समर्थन करता है। – Shog9

+0

मैं बस "सिंटैक्स हाइलाइटिंग के लिए कोड" भाग के साथ गया और बाकी के बाकी को नजरअंदाज कर दिया। मुझे नहीं पता कि वह यही है या नहीं। –

उत्तर

22

कुछ JSyntaxPane, शायद?

जेडडिटरकिट का उपयोग करने और बढ़ाने के लिए बहुत आसान है जो कुछ भाषाओं का समर्थन करता है। मुख्य लक्ष्य सिंटैक्स हाइलाइटिंग के समर्थन के साथ जावा स्विंग संपादकों को अच्छा दिखाना आसान बनाना है। और देखते हैं कि उपयोगकर्ता परिभाषित वाक्य रचना हाइलाइटिंग (जाँच करने के लिए प्लग इन की oneo - Gmod 10 लुआ सिंटेक्स हाइलाइटर) किया जाता है -

+2

यह अब और बनाए रखा नहीं है। नई परियोजनाओं के लिए ['RSyntaxTextArea'] (https://github.com/bobbylight/RSyntaxTextArea) का उपयोग करें। – Navin

2

एक मौजूदा संपादक (http://notepad-plus.sourceforge.net/uk/site.htm Notepad ++ उदाहरण के लिए) को देखने के लिए कर सकते हैं। मैं डरता हूं कि जावा (और अन्य भाषाओं) समान रूप से किया जाता है ...

11

RSyntaxTextArea के बारे में क्या? यह modified BSD license का उपयोग करता है।

+1

इतना बुरा? मैं इसे एक परियोजना में उपयोग कर रहा हूं और मुझे लगता है कि यह बहुत अच्छा है। इसके अलावा, अगर आप अपनी खुद की सामग्री को कोड करना चाहते हैं तो आप इसे ओपनसोर्स के रूप में पढ़ सकते हैं। – ktulur

+0

कोशिश की और बहुत अच्छा लग रहा है, जैसे कोड फोल्डिंग जैसी विशेषताएं। यह अजगर का समर्थन नहीं करता है, यह दयालु है। – chenyi1976

+0

खेद है कि यह पाइथन का समर्थन करता है। इसकी वेबसाइट ने मुझे गुमराह किया, और उनके एप्लेट भी। – chenyi1976

1

आपको Google के prettify.js आउट की जांच करनी चाहिए। वहां कुछ सुंदर साफ चालें हैं, और आपको सिंटैक्स हाइलाइटिंग के लिए और अधिक मजबूत महसूस हो सकता है।

+2

यह जावास्क्रिप्ट है, जावा नहीं – ktulur

+2

@ktulur: क्या आप वास्तव में इसे देखते थे? यह जावा सहित कई भाषाओं के लिए सिंटैक्स हाइलाइटिंग करता है। एल्गोरिदम हाइलाइटिंग सिंटैक्स लिखना सीखने का यह एक शानदार तरीका होगा। विशेष रूप से एक जो कई भाषाओं का समर्थन कर सकता है। – GEOCHET

+0

ठीक है, क्षमा करें, मैं एक मौजूदा घटक का उपयोग करने के बारे में सोच रहा था, न कि अपनी खुद की सामग्री लिखने के बारे में। यही कारण है कि जब मैंने ".js" पढ़ा है तो मैं "wtf" जैसा था? – ktulur

3

आपको पहले स्रोतों से एएसटी (सार वाक्यविन्यास पेड़) बनाने के लिए एक आम पार्सर का उपयोग करने के बारे में सोचना चाहिए। कुछ उपकरण हैं, सबसे पहले मुझे इंटरनेट पर googling मिल गया javaparser था। ऐसा लगता है कि यह पार्सर लाइन नंबर और कॉलम भी रिकॉर्ड करता है, इसलिए जावा के एएसटी संपादक के लिए एक अच्छा मॉडल हो सकता है।

बस पेड़ को संसाधित करें, एएसटी नोड प्रकारों के लिए रंग परिभाषित करें और इसे प्रिंट करें।