যেমন আগেই উল্লেখ করা হয়েছে, গিট-গটার হ'ল একটি এক্সটেনশন যা আপনাকে সরাসরি আপনার ফাইলে গিট সম্পর্কিত তথ্য দেখানোর জন্য ডিজাইন করা হয় এবং সেখান থেকে অপারেটিং করা হয়, যখন ম্যাজিট ডিফসগুলির উপর অপারেটিংয়ে ফোকাস করে।
এই বৈশিষ্ট্যটি শীঘ্রই গিট জলের জন্য কখনই পরিকল্পনা করা হয়নি ( 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)))))