[EShell] Don’t barf if git commands cannot be found
This commit is contained in:
parent
e7ab32951b
commit
46400826eb
|
@ -62,17 +62,18 @@
|
|||
(defun pcmpl-git-commands ()
|
||||
"Return the most common git commands by parsing the git output."
|
||||
(with-temp-buffer
|
||||
(call-process "git" nil (current-buffer) nil "help" "--all")
|
||||
(goto-char 0)
|
||||
(search-forward "available git commands in")
|
||||
(let (commands)
|
||||
(while (re-search-forward
|
||||
"^[[:blank:]]+\\([[:word:]-.]+\\)[[:blank:]]*\\([[:word:]-.]+\\)?"
|
||||
nil t)
|
||||
(push (match-string 1) commands)
|
||||
(when (match-string 2)
|
||||
(push (match-string 2) commands)))
|
||||
(sort commands #'string<))))
|
||||
(if (not (zerop (call-process "git" nil (current-buffer) nil "help" "--all")))
|
||||
(warn "Cannot call `git’ to obtain list of available commands; completion won’t be available.")
|
||||
(goto-char 0)
|
||||
(search-forward "available git commands in")
|
||||
(let (commands)
|
||||
(while (re-search-forward
|
||||
"^[[:blank:]]+\\([[:word:]-.]+\\)[[:blank:]]*\\([[:word:]-.]+\\)?"
|
||||
nil t)
|
||||
(push (match-string 1) commands)
|
||||
(when (match-string 2)
|
||||
(push (match-string 2) commands)))
|
||||
(sort commands #'string<)))))
|
||||
|
||||
(defconst pcmpl-git-commands (pcmpl-git-commands)
|
||||
"List of `git' commands.")
|
||||
|
|
Loading…
Reference in New Issue