(defun git-files-find-class-decl (symbol)
(interactive (list (read-string "Symbol: " (current-word))))
- (let ((dir (magit-get-top-dir default-directory)))
+ (let ((dir (magit-toplevel default-directory)))
(if (not dir) (error "No git repository"))
(let ((default-directory dir))
- (grep (format "git ls-files -z | xargs -r0 grep -nwHF %s | grep -Ew '(class|struct)' | cat -"
+ (grep (format (concat "git ls-files -z"
+ " | xargs -r0 grep -d skip -nwHF %s"
+ " | grep -Ew '(class|struct|typedef|using)'"
+ " | grep -vEw 'friend'")
symbol)))))
(global-set-key "\C-cGF" 'git-files-find-symbol)
(interactive "P")
(quit-window kill-buffer))
+(defun magit-diff-master-mergebase (&optional args files)
+ (interactive (magit-diff-arguments))
+ (magit-diff-working-tree
+ (magit-git-string "merge-base" "master" "HEAD") args files))
+
+(magit-define-popup-action 'magit-diff-popup
+ ?m "Diff merge-base master" 'magit-diff-master-mergebase)
+
; ignore whitespace
; (setq magit-diff-options '("-w"))