Emacs 23.2 में जेएस-मोड शामिल है, जो एक नामित और स्पर्श-अप एस्प्रेसो है। मैं सिर्फ अपने redunkulous कोड पर "मांगपत्र-क्षेत्र" किया था और यह मिल गया:
var o = { foo : 'bar'
, baz : 'foo'
}
, p
, q = new Squash(o
, { start: 0
, limit: 50
}
)
मुझे लगता है कि वास्तव में आप क्या चाहते हैं नहीं है। कॉमा आपको शायद पसंद से अलग ऑफसेट कर रहे हैं।
(हे भगवान कि बदसूरत है।)
संपादित
ठीक है मैं js-मोड में देखा और खरोज js--proper-indentation
के द्वारा किया जा रहा है। यह वर्तमान रेखा को देखता है और फिर इंडेंट कैसे करें के बारे में निर्णय लेने का प्रयास करता है।
विभिन्न वाक्यविन्यास पैटर्न के लिए इसे परीक्षण की स्थितियों का एक गुच्छा मिला है। मैं सिर्फ एक लाइन एक अल्पविराम से शुरू करने के लिए एक जांच में डाल दिया, और इन परिणामों मिला:
var o = { foo : 'bar'
, baz : 'foo'
}
, p
, q = new Squash(o
, { start: 0
, limit: 50
}
)
मुझे लगता है कि यह है कि आप क्या चाहते हैं, लेकिन यह अभी भी पूरी तरह से मेरे लिए टूट लग। वैसे भी इस तरह मैंने किया।
इंजेक्षन js--proper-indentation
के लिए इस सूची के शीर्ष में इस स्थिति:
(defun js--proper-indentation (parse-status)
"Return the proper indentation for the current line."
(save-excursion
(back-to-indentation)
(cond
((looking-at ",")
(let ((spos
(save-excursion
(while (looking-back "}[\t\n ]*")
(backward-sexp)
(if (looking-back ",[\t\n ]*")
(re-search-backward ",[\t\n ]*")))
(cond
((looking-back "\\(,\\|(\\)[ \t]*\\<\\([^:=\n\t ]+\\)[ \t\n]*")
(re-search-backward "\\(,\\|(\\)[ \t]*\\<\\([^:=\n\t ]+\\)[ \t\n]*" (point-min) t)
(+ (current-column) 2))
((re-search-backward "\\<\\([^:=\n\t ]+\\)[ \t]*\\(:\\|=\\)" (point-min) t)
(current-column))
(t
nil)))))
(if spos
(- spos 2)
(+ js-indent-level js-expr-indent-offset))))
....
कि defun में स्थिति के बाकी रखना सुनिश्चित करें - मैं वे क्या करते हैं शायद महत्वपूर्ण पता नहीं है लेकिन the're ।
कोई विचार नहीं है कि यह मजबूत है, मैंने आपके एक परीक्षण मामले को छोड़कर इसका परीक्षण नहीं किया है। लेकिन यह कंधे आपको शुरू कर देता है।
हाँ कहा जाता है, लोगों को अक्सर js2 मोड एस्प्रेसो (जे एस-मोड) से खरोज शामिल करके बढ़ाने। लेकिन एस्प्रेसो में वास्तव में समस्या है जिसे मैं हल करने की कोशिश कर रहा हूं। –
पुन: संपादित करें धन्यवाद, यह बहुत उपयोगी है। मुझे कुछ परीक्षण करना होगा और इस पर वापस जाना होगा। –