アーカイブ

2012年03月

先日のはあまり便利じゃなかったしひどいので、uniquify の一部上書きしてなんとかましになった。
この件はこれで終わろう。

;;
(defun my-git-current-branch () (format "(%s)" (magit-get-current-branch)))

;; override
(defun uniquify-rename-buffer (item newname)
  (let ((buffer (uniquify-item-buffer item)))
    (with-current-buffer buffer
      (let ((uniquify-buffer-name-style nil)) ;Avoid hooks on rename-buffer.
        ;; Pass the `unique' arg, so the advice doesn't mark it as unmanaged.
        (if (fboundp 'magit-get-current-branch)
            (let ((magitname (magit-get-current-branch)))
              (if (not (null magitname))
                  (setq newname (concat (my-git-current-branch) newname)))))
        ;;(message (concat ":::::" newname))
        (rename-buffer newname t)))))

強引すぎるが、モードラインに現在のbranchを表示するための。もっといい方法は絶対ある。elisp 忘れたからもうこれでいい。これは tramp 上でも動いたし。
magit-post-command-hook ってのは名前から想像するフックじゃないのかな。
(remove-hook 'find-file-hooks 'vc-find-file-hook)

(setenv "PATH" "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin")

(add-to-list 'load-path "~/emacs/lisp/magit/")
(require 'magit)

(setq magit-git-executable "/usr/local/bin/git")

(defun my-show-git-current-branch ()
  (interactive)
  (message (magit-get-current-branch))
  (my-set-git-current-branch))
(define-key esc-map "B" 'my-show-git-current-branch)
(defun my-set-git-current-branch ()
  (setq mode-line-frame-identification (format "(%s)" (magit-get-current-branch))))

;; (set-default 'mode-line-frame-identification '(my-set-git-current-branch))

(add-hook 'magit-post-command-hook 'my-set-git-current-branch)
(add-hook 'dired-mode-hook 'my-set-git-current-branch)
(add-hook 'find-file-hook  'my-set-git-current-branch)

このページのトップヘ

見出し画像
×