Replace magithub with forge

Should also fix void-function/void-variable errors caused by evil-magit
depending on the newer version of magit (#1174).

Also introduces a redesign of the SPC g prefix.
This commit is contained in:
Henrik Lissner 2019-02-16 18:08:26 -05:00
parent 5b48c21762
commit a72a0e6a62
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
5 changed files with 52 additions and 51 deletions

View file

@ -102,8 +102,8 @@
:desc "Use Temp Template" "e" #'aya-expand) :desc "Use Temp Template" "e" #'aya-expand)
;; Version control bindings ;; Version control bindings
(:prefix ("v" . "versioning") (:prefix ("v" . "versioning")
:desc "Browse issues tracker" "i" #'+vc/git-browse-issues :desc "Browse issues tracker" "i" #'forge-browse-issues
:desc "Browse remote" "o" #'+vc/git-browse :desc "Browse remote" "o" #'forge-browse-remote
:desc "Diff current file" "d" #'magit-diff-buffer-file :desc "Diff current file" "d" #'magit-diff-buffer-file
:desc "Git revert hunk" "r" #'git-gutter:revert-hunk :desc "Git revert hunk" "r" #'git-gutter:revert-hunk
:desc "Git stage file" "S" #'magit-stage-file :desc "Git stage file" "S" #'magit-stage-file

View file

@ -604,36 +604,52 @@
:desc "Yank filename" "y" #'+default/yank-buffer-filename) :desc "Yank filename" "y" #'+default/yank-buffer-filename)
(:prefix ("g" . "git") (:prefix ("g" . "git")
:desc "Git revert file" "R" #'vc-revert
(:when (featurep! :ui vc-gutter) (:when (featurep! :ui vc-gutter)
:desc "Git revert hunk" "r" #'git-gutter:revert-hunk :desc "Git revert hunk" "r" #'git-gutter:revert-hunk
:desc "Git stage hunk" "s" #'git-gutter:stage-hunk :desc "Git stage hunk" "s" #'git-gutter:stage-hunk
:desc "Git time machine" "t" #'git-timemachine-toggle :desc "Git time machine" "t" #'git-timemachine-toggle
:desc "Next hunk" "]" #'git-gutter:next-hunk :desc "Jump to next hunk" "]" #'git-gutter:next-hunk
:desc "Previous hunk" "[" #'git-gutter:previous-hunk) :desc "Jump to previous hunk" "[" #'git-gutter:previous-hunk)
(:when (featurep! :emacs vc)
:desc "Browse issues tracker" "I" #'+vc/git-browse-issues
:desc "Browse remote" "o" #'+vc/git-browse
:desc "Git revert file" "R" #'vc-revert)
(:when (featurep! :tools magit) (:when (featurep! :tools magit)
:desc "Magit blame" "b" #'magit-blame-addition :desc "Magit dispatch" "/" #'magit-dispatch
:desc "Magit commit" "c" #'magit-commit-create :desc "Forge dispatch" "'" #'forge-dispatch
:desc "Magit clone" "C" #'+magit/clone
:desc "Magit dispatch" "d" #'magit-dispatch-popup
:desc "Magit find-file" "f" #'magit-find-file
:desc "Magit status" "g" #'magit-status :desc "Magit status" "g" #'magit-status
:desc "Magit file delete" "x" #'magit-file-delete :desc "Magit file delete" "x" #'magit-file-delete
:desc "MagitHub dispatch" "h" #'magithub-dispatch-popup :desc "Magit blame" "B" #'magit-blame-addition
:desc "Initialize repo" "i" #'magit-init :desc "Magit clone" "C" #'+magit/clone
:desc "Magit buffer log" "l" #'magit-log-buffer-file :desc "Magit fetch" "F" #'magit-fetch
:desc "List repositories" "L" #'magit-list-repositories :desc "Magit buffer log" "L" #'magit-log
:desc "Git stage file" "S" #'magit-stage-file :desc "Git stage file" "S" #'magit-stage-file
:desc "Git unstage file" "U" #'magit-unstage-file :desc "Git unstage file" "U" #'magit-unstage-file
:desc "Magit push popup" "p" #'magit-push-popup (:prefix ("f" . "find")
:desc "Magit pull popup" "P" #'magit-pull-popup :desc "Find file" "f" #'magit-find-file
(:when (featurep! :tools magit +forge) :desc "Find gitconfig file" "g" #'magit-find-git-config-file
:desc "Forge dispatch" "F" #'forge-dispatch)) :desc "Find commit" "c" #'magit-show-commit
:desc "Find issue" "i" #'forge-visit-issue
:desc "Find pull request" "p" #'forge-visit-pullreq)
(:prefix ("o" . "open in browser")
:desc "Browse region or line" "." #'+vc/git-browse-region-or-line
:desc "Browse remote" "r" #'forge-browse-remote
:desc "Browse commit" "c" #'forge-browse-commit
:desc "Browse an issue" "i" #'forge-browse-issue
:desc "Browse a pull request" "p" #'forge-browse-pullreq
:desc "Browse issues" "I" #'forge-browse-issues
:desc "Browse pull requests" "P" #'forge-browse-pullreqs)
(:prefix ("l" . "list")
(:when (featurep! :tools gist) (:when (featurep! :tools gist)
:desc "List gists" "G" #'+gist:list)) :desc "List gists" "g" #'+gist:list)
:desc "List repositories" "r" #'magit-list-repositories
:desc "List submodules" "s" #'magit-list-submodules
:desc "List issues" "i" #'forge-list-issues
:desc "List pull requests" "p" #'forge-list-pullreqs
:desc "List notifications" "n" #'forge-list-notifications)
(:prefix ("c" . "create")
:desc "Initialize repo" "r" #'magit-init
:desc "Clone repo" "R" #'+magit/clone
:desc "Commit" "c" #'magit-commit-create
:desc "Issue" "i" #'forge-create-issue
:desc "Pull request" "p" #'forge-create-pullreq)))
(:prefix ("h" . "help") (:prefix ("h" . "help")
:desc "What face" "'" #'doom/what-face :desc "What face" "'" #'doom/what-face

View file

@ -3,6 +3,6 @@
;;;###autoload (autoload '+vc:git-browse "emacs/vc/autoload/evil" nil t) ;;;###autoload (autoload '+vc:git-browse "emacs/vc/autoload/evil" nil t)
(evil-define-command +vc:git-browse (bang) (evil-define-command +vc:git-browse (bang)
"Ex interface to `+vc/git-browse'." "Ex interface to `+vc/git-browse-region-or-line'."
(interactive "<!>") (interactive "<!>")
(+vc/git-browse bang)) (+vc/git-browse-region-or-line bang))

View file

@ -13,7 +13,7 @@
(defvar git-link-open-in-browser) (defvar git-link-open-in-browser)
;;;###autoload ;;;###autoload
(defun +vc/git-browse (arg) (defun +vc/git-browse-region-or-line (&optional arg)
"Open the website for the current version controlled file. Fallback to "Open the website for the current version controlled file. Fallback to
repository root." repository root."
(interactive "P") (interactive "P")
@ -23,21 +23,6 @@ repository root."
(let ((git-link-open-in-browser (not arg))) (let ((git-link-open-in-browser (not arg)))
(git-link (git-link--select-remote) beg end)))) (git-link (git-link--select-remote) beg end))))
;;;###autoload
(defun +vc/git-browse-issues (arg)
"Open the issues page for current repo."
(interactive "P")
(let ((url (format "%s/issues" (+vc-git-root-url))))
(if arg
(message "%s" (kill-new url))
(browse-url url))))
;;;###autoload
(defun +vc/git-browse-pulls ()
"Open the pull requests page for current repo."
(interactive)
(browse-url (format "%s/pulls" (+vc-git-root-url))))
;;;###autoload ;;;###autoload
(defun +vc*update-header-line (revision) (defun +vc*update-header-line (revision)
"Show revision details in the header-line, instead of the minibuffer. "Show revision details in the header-line, instead of the minibuffer.

View file

@ -85,8 +85,8 @@ This command understands vim file modifiers (like %:p:h). See
;;; GIT ;;; GIT
(evil-ex-define-cmd "gist" #'+gist:send) ; send current buffer/region to gist (evil-ex-define-cmd "gist" #'+gist:send) ; send current buffer/region to gist
(evil-ex-define-cmd "gistl" #'+gist:list) ; list gists by user (evil-ex-define-cmd "gistl" #'+gist:list) ; list gists by user
(evil-ex-define-cmd "gbrowse" #'+vc:git-browse) ; show file in github/gitlab (evil-ex-define-cmd "gbrowse" #'+vc:git-browse) ; show file/region in github/gitlab
(evil-ex-define-cmd "gissues" #'+vc/git-browse-issues) ; show github issues (evil-ex-define-cmd "gissues" #'forge-browse-issues) ; show github issues
(evil-ex-define-cmd "git" #'magit-status) ; open magit status window (evil-ex-define-cmd "git" #'magit-status) ; open magit status window
(evil-ex-define-cmd "gstage" #'magit-stage) (evil-ex-define-cmd "gstage" #'magit-stage)
(evil-ex-define-cmd "gunstage" #'magit-unstage) (evil-ex-define-cmd "gunstage" #'magit-unstage)