जैसा कि पहले उल्लेख किया गया है, git-gutter आपकी फ़ाइल में सीधे git जानकारी दिखाने के लिए डिज़ाइन किया गया एक एक्सटेंशन है, और वहाँ से संचालन करते हुए, जबकि magit diffs के संचालन पर ध्यान केंद्रित करता है।
यह सुविधा किसी भी समय जल्द ही गटर के लिए नियोजित नहीं है ( https://github.com/syohex/emacs-git-gutter/issues/91 )
हालाँकि यह इस तरह की बात है कि लिस्प को खाली करने में बहुत अच्छा होना चाहिए (एक क्षेत्र में लोकों के माध्यम से जाना और उन्हें एक बार बाहर निकालना)। अपने आप को यह कोशिश करते हुए यह लगभग मामला था, केवल एक समस्या यह थी कि पृष्ठभूमि की प्रक्रिया बंद करने के बाद एक पृष्ठभूमि प्रक्रिया को बंद कर देता है और इसके खत्म होने का इंतजार नहीं करता है, इसलिए मुझे इससे निपटने के लिए थोड़ा हैकी जादू जोड़ना पड़ा।
निम्नलिखित एमएसीएस लिस्प फ़ंक्शन को वह करना चाहिए जो आप चाहते हैं। आप इसे कुछ चाबियों से बांधना चाह सकते हैं।
(defun my-git-stage-region ()
(interactive)
(let ((git-gutter:ask-p nil)
(start (region-beginning))
(end (region-end)))
(save-excursion
(goto-char start)
(git-gutter:next-hunk 1)
(while (< (point) end)
(git-gutter:stage-hunk)
;; This is a hack to wait for git-gutter to finish
;; updating information (git-gutter kicks
;; of a process to update the diff information
;; and does not block)
(while (get-buffer (git-gutter:diff-process-buffer (git-gutter:base-file)))
(sit-for 0.05))
(git-gutter:next-hunk 1)))))