branch: elpa/pcmpl-args commit c124d44bf4a7ab1f7752c7ba7eca8b68fa7a9fc1 Author: Alex Kost <alez...@gmail.com> Commit: Troy Hinckley <t.mac...@gmail.com>
Use cache for git completions --- pcmpl-args.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pcmpl-args.el b/pcmpl-args.el index 719ebae358..918a36aaca 100644 --- a/pcmpl-args.el +++ b/pcmpl-args.el @@ -3135,14 +3135,15 @@ options found in its man page." cmds `(metadata (category . git-command))))))) (defun pcmpl-args-git-extract-argspecs-from-help (cmd) - (ignore-errors (kill-buffer " *pcmpl-args-output*")) - (with-current-buffer (get-buffer-create " *pcmpl-args-output*") - (erase-buffer) - (let ((process-environment process-environment)) - (push "MANWIDTH=10000" process-environment) - (pcmpl-args-process-file "git" "help" "--man" "--" cmd) - (goto-char (point-min)) - (pcmpl-args-extract-argspecs-from-buffer)))) + (pcmpl-args-cached (cons 'git-commands cmd) t + (ignore-errors (kill-buffer " *pcmpl-args-output*")) + (with-current-buffer (get-buffer-create " *pcmpl-args-output*") + (erase-buffer) + (let ((process-environment process-environment)) + (push "MANWIDTH=10000" process-environment) + (pcmpl-args-process-file "git" "help" "--man" "--" cmd) + (goto-char (point-min)) + (pcmpl-args-extract-argspecs-from-buffer))))) (defun pcmpl-args-git-refs () (pcmpl-args-process-lines "git" "rev-parse" "--abbrev-ref" "--all"))