Pass options to log commands
This commit is contained in:
parent
abc459911b
commit
903e642bf6
1 changed files with 27 additions and 5 deletions
30
magit.el
30
magit.el
|
@ -1396,6 +1396,8 @@ FUNC should leave point at the end of the modified region"
|
||||||
"Dummy function for turning on options on menu."
|
"Dummy function for turning on options on menu."
|
||||||
t)
|
t)
|
||||||
|
|
||||||
|
(defvar magit-custom-options '())
|
||||||
|
|
||||||
(defvar magit-menu
|
(defvar magit-menu
|
||||||
(list '("Log" ?l "One line log" magit-log)
|
(list '("Log" ?l "One line log" magit-log)
|
||||||
'("Log" ?L "Detailed log" magit-log-long)
|
'("Log" ?L "Detailed log" magit-log-long)
|
||||||
|
@ -3531,7 +3533,7 @@ With a non numeric prefix ARG, show all entries"
|
||||||
|
|
||||||
(defun magit-log (&optional arg)
|
(defun magit-log (&optional arg)
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
(magit-display-log arg))
|
(apply 'magit-display-log arg magit-custom-options))
|
||||||
|
|
||||||
(defun magit-log-menu (&optional arg)
|
(defun magit-log-menu (&optional arg)
|
||||||
(interactive "P")
|
(interactive "P")
|
||||||
|
@ -3636,7 +3638,24 @@ With a non numeric prefix ARG, show all entries"
|
||||||
(error "Invalid key: %c" c))))))
|
(error "Invalid key: %c" c))))))
|
||||||
(when chosen-fn
|
(when chosen-fn
|
||||||
(setq current-prefix-arg prefix-arg)
|
(setq current-prefix-arg prefix-arg)
|
||||||
(call-interactively chosen-fn))))
|
(let ((magit-custom-options (magit-menu-make-option-list menu-items)))
|
||||||
|
(call-interactively chosen-fn)))))
|
||||||
|
|
||||||
|
(defun magit-menu-make-option-list (menu-items)
|
||||||
|
(let ((result '())
|
||||||
|
(option))
|
||||||
|
(dolist (item menu-items)
|
||||||
|
(when (and (stringp (nth 3 item)) (nth 5 item))
|
||||||
|
(setq option
|
||||||
|
(concat (nth 3 item)
|
||||||
|
(if (stringp (nth 5 item))
|
||||||
|
(if (string= "="
|
||||||
|
(substring (nth 3 item)
|
||||||
|
(- (length (nth 3 item)) 1)))
|
||||||
|
(shell-quote-argument (nth 5 item))
|
||||||
|
(concat " " (shell-quote-argument (nth 5 item)))))))
|
||||||
|
(setq result (append result (list option)))))
|
||||||
|
result))
|
||||||
|
|
||||||
(defun magit-log-grep (str)
|
(defun magit-log-grep (str)
|
||||||
"Search for regexp specified by STR in the commit log."
|
"Search for regexp specified by STR in the commit log."
|
||||||
|
@ -3645,8 +3664,10 @@ With a non numeric prefix ARG, show all entries"
|
||||||
(switch-to-buffer magit-log-grep-buffer-name)
|
(switch-to-buffer magit-log-grep-buffer-name)
|
||||||
(magit-mode-init topdir 'log #'magit-refresh-log-buffer "HEAD"
|
(magit-mode-init topdir 'log #'magit-refresh-log-buffer "HEAD"
|
||||||
"--pretty=oneline"
|
"--pretty=oneline"
|
||||||
|
(append
|
||||||
(list "-E"
|
(list "-E"
|
||||||
(format "--grep=%s" (shell-quote-argument str))))
|
(format "--grep=%s" (shell-quote-argument str)))
|
||||||
|
magit-custom-options))
|
||||||
(magit-log-mode t)))
|
(magit-log-mode t)))
|
||||||
|
|
||||||
(defun magit-log-long (&optional arg)
|
(defun magit-log-long (&optional arg)
|
||||||
|
@ -3655,7 +3676,8 @@ With a non numeric prefix ARG, show all entries"
|
||||||
(magit-read-rev-range "Long log" "HEAD")
|
(magit-read-rev-range "Long log" "HEAD")
|
||||||
"HEAD"))
|
"HEAD"))
|
||||||
(topdir (magit-get-top-dir default-directory))
|
(topdir (magit-get-top-dir default-directory))
|
||||||
(args (list (magit-rev-range-to-git range))))
|
(args (append (list (magit-rev-range-to-git range))
|
||||||
|
magit-custom-options)))
|
||||||
(switch-to-buffer magit-log-buffer-name)
|
(switch-to-buffer magit-log-buffer-name)
|
||||||
(magit-mode-init topdir 'log #'magit-refresh-log-buffer range
|
(magit-mode-init topdir 'log #'magit-refresh-log-buffer range
|
||||||
"--stat" args)
|
"--stat" args)
|
||||||
|
|
Loading…
Reference in a new issue