Tree-sitter क्वेरी की मौलिक बातें

सारणी की सूची

कोड संपादन और सिंटैक हाइलाइटिंग के क्षेत्र में, Tree-sitter एक अद्वितीय उपकरण के रूप में उभरता है जो विभिन्न प्रोग्रामिंग भाषाओं में स्रोत कोड की संरचना को समझने के लिए मजबूत समाधान प्रदान करता है। यह एक पार्सर जेनरेटर टूल और एक अंकलन पार्सिंग पुस्तकालय है जो डेवेलपर्स को उच्च प्रदर्शन और सटीक सिंटैक हाइलाइटिंग, कोड स्वरूपण, और अधिक के लिए उच्च प्रदर्शन और यथासंभाव व्याख्यान पर बने रहने की अनुमति देता है। यह पोस्ट उनकी संभावनाओं को संभावना बनाने वाले Tree-sitter के मौलिक पहलुओं में प्रवृत्त होती है: Tree-sitter क्वेरी

क्या आपने अब तक अपनी मशीन पर tree-sitter सेट अप नहीं किया है? इस पोस्ट की जाँच करें - Tree-sitter १०१.

Tree-sitter क्वेरी क्या हैं?

Tree-sitter क्वेरी वहां से निकालने के लिए एक शक्तिशाली तंतु हैं और Tree-sitter द्वारा उत्पन्न सिंटैक्स ट्री से पैटर्न। इन्हें डेवेलपर्स को भाषा-निर्भरता रूप में पैटर्न को निर्दिष्ट करने की अनुमति है, जिससे सिंटेक्स हाइलाइटिंग, कोड नेविगेशन, और अन्य प्रकार के स्थिर विश्लेषण के लिए कम श्रम के साथ काम कर सकते हैं।

Tree-sitter query एक क्रम है जिसमें विभिन्न पैटर्न्स होते हैं जो सिंटेक्स ट्री में नोड्स को उनके प्रकार, सामग्री, और अन्य नोड्स के साथ संबंध के आधार पर मैच करते हैं।
इन क्वेरियों को एक एस-एक्सप्रेशन सिंटैक्स में लिखा जा सकता है, जिससे वे पठनीय और सुसंगत होते हैं।

Tree-sitter क्वेरी क्यों उपयोग करें?

  • सिंटैक्स हाइलाइटिंग: क्वेरियों के साथ, सिंटैक्स हाइलाइटिंग को कोड की संरचना के अनुसार समारूप होने की अनुमति है, सिर्फ पाठ के बजाय, और इस प्रक्रिया में एक सटीक और दृश्यमान सहायक हाइलाइटिंग प्रदान करता है।
  • कोड नेविगेशन: क्वेरीज़ से समर्थन, परिभाषाओं पर जाने, संदर्भ ढूँढ़ने और दस्तावेज़ देखने जैसे अधिक विकसित कोड नेविगेशन सुविधाएं हो सकती हैं, कोड की सांविदानिकता को समझकर।
  • रिफैक्टरिंग टूल्स: इन्हें इस्तेमाल करके सिंटैक्स और सांविदानिकता को समझते हुए, स्वचालित परिवर्तनों को सुरक्षित और अधिक विश्वसनीय बनाने के लिए रिफैक्टरिंग टूल्स बना सकते हैं।
  • स्थायी विश्लेषण: Tree-sitter क्वेरी बग्स या कोड में स्मैल को सूचित करने के लिए कोड को पैटर्न से जाँचने की अनुमति देते हैं।

अपनी पहली Tree-sitter क्वेरी लिखना

Tree-sitter क्वेरी के साथ शुरुआत करने के लिए, पहले आपको Tree-sitter को अपने लक्षित भाषा के लिए स्थापित और सेट करना होगा। एक बार जब आपने एक पार्स्ड सिंटेक्स ट्री हासिल की है, आप क्वेरी लिखना शुरू कर सकते हैं।

यहां एक उदाहरण है जिससे एक जावास्क्रिप्ट फ़ाइल में फ़ंक्शन परिभाषाएँ हाइलाइट की जा सकती हैं:

; फ़ंक्शन घोषणाएँ मैच करें
((function_declaration
  name: (identifier) @function.name)
 (highlight @function.name "function.name"))

; वेरिएबल घोषणाएँ जो एक फ़ंक्शन के साथ आरंभ होती हैं
((variable_declaration
  declarators: (variable_declarator
                value: (function) @function.name))
 (highlight @function.name "function.name"))

इस क्वेरी में दो पैटर्न हैं: एक नामकिए फ़ंक्शन घोषणाओं के लिए और एक वहाँ वेरिएबल्स के लिए जो एक फ़ंक्शन के साथ आरंभ होती हैं। @function.name हिस्सा एक कैप्चर नाम है, जिसका उपयोग बाद में आनुष्ठानों में किया जाता है (इस मामले में, “function.name” टैग के साथ हाइलाइट करना)।


comments powered by Disqus