JSON के लिए, ऑर्ग-मोड की तरह रूपरेखा संपादन


15

मैं emacs में एक स्वैगर JSON फ़ाइल को संपादित करने की कोशिश कर रहा हूं। इसमें बड़ी नेस्टेड JSON ऑब्जेक्ट्स हैं, इसलिए मैं उनमें से कुछ को संक्षिप्त और छिपाना चाहता हूं।

मैंने कोशिश की है origami-mode, के रूप origami-c-style-parserमें कॉन्फ़िगर किया गया है origami-parser-alist, लेकिन यह काफी अपरिष्कृत है (शब्द "पार्सर" जो करता है उसके लिए एक अति भव्य शब्द लगता है)। यह ध्यान नहीं देता है कि स्वैगर URL पैरामीटर सबस्ट्रिंग जैसे {id}JSON स्ट्रिंग्स के अंदर हैं, इसलिए यह खुशी से उन्हें भी ढहता है जब मैं इसे वर्तमान नोड को छोड़कर बफर में सभी नोड्स को संक्षिप्त करने के लिए कहता हूं। मैं ऐसा नहीं चाहता। मैं वस्तुओं की तरह केवल JSON subtrees टूट का एक तरह से करना चाहते हैं, JSON तार के सबस्ट्रिंग नहीं हो उन में घुंघराले ब्रेसिज़ है। मैं यह लक्ष्य कैसे प्राप्त कर सकता हूं?


मैं यह निश्चित रूप से नहीं जानता, लेकिन यह बहुत संभव है कि js2-modeतह है जो JSON फ़ाइलों को भी मोड़ सकता है।
wvxvw


एक दृष्टिकोण यह है कि अपने जोंस को कुछ इसी तरह के पेड़ के प्रारूप में परिवर्तित करें और उस पर काम करें। यह xml github.com/hay/xml2json में परिवर्तित हो सकता है । यमल एक और दृष्टिकोण होगा।
१५'१ R को

जवाबों:


1

एमएसीएस एचएस-माइनर-मोड के साथ आता है, जिसे जावास्क्रिप्ट सहित कई भाषाओं में चुनिंदा छिपाने / शो कोड और कमेंट ब्लॉक के लिए इस्तेमाल किया जा सकता है। डिफ़ॉल्ट रूप से यह आपको '{' और '}' द्वारा सीमांकित JSON ब्लॉक को छिपाने और दिखाने देगा, लेकिन ब्लॉक डिलिमीटर के रूप में '[' और '] को अनुमति देने के लिए इसे आसानी से संशोधित किया गया है। ऐसा करने के लिए हमें js-modeप्रविष्टि hs-special-modes-alistको कुछ इस तरह से संशोधित करना होगा:

(setcdr (assoc 'js-mode hs-special-mode-alist)' ("[{[]]" "[} \\]]" "/ [* /]" nil)

तब आपको पता लगाना चाहिए कि [...] ब्लॉक को छिपाया जा सकता है और साथ ही {...} ब्लॉक को दिखाया जा सकता है।


0

मेरेjson-mode पास एक कोड तह सुविधा है जो उन चीजों को मोड़ने की कोशिश नहीं करनी चाहिए जो वस्तुओं या तारों के अंदर दिखती हैं। यह एक परिपक्व प्रमुख-विधा नहीं है, लेकिन यह प्रयोग करने योग्य होनी चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.