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 status" "g" #'magit-status
:desc "Magit dispatch" "d" #'magit-dispatch-popup :desc "Magit file delete" "x" #'magit-file-delete
:desc "Magit find-file" "f" #'magit-find-file :desc "Magit blame" "B" #'magit-blame-addition
:desc "Magit status" "g" #'magit-status :desc "Magit clone" "C" #'+magit/clone
:desc "Magit file delete" "x" #'magit-file-delete :desc "Magit fetch" "F" #'magit-fetch
:desc "MagitHub dispatch" "h" #'magithub-dispatch-popup :desc "Magit buffer log" "L" #'magit-log
:desc "Initialize repo" "i" #'magit-init :desc "Git stage file" "S" #'magit-stage-file
:desc "Magit buffer log" "l" #'magit-log-buffer-file :desc "Git unstage file" "U" #'magit-unstage-file
:desc "List repositories" "L" #'magit-list-repositories (:prefix ("f" . "find")
:desc "Git stage file" "S" #'magit-stage-file :desc "Find file" "f" #'magit-find-file
:desc "Git unstage file" "U" #'magit-unstage-file :desc "Find gitconfig file" "g" #'magit-find-git-config-file
:desc "Magit push popup" "p" #'magit-push-popup :desc "Find commit" "c" #'magit-show-commit
:desc "Magit pull popup" "P" #'magit-pull-popup :desc "Find issue" "i" #'forge-visit-issue
(:when (featurep! :tools magit +forge) :desc "Find pull request" "p" #'forge-visit-pullreq)
:desc "Forge dispatch" "F" #'forge-dispatch)) (:prefix ("o" . "open in browser")
(:when (featurep! :tools gist) :desc "Browse region or line" "." #'+vc/git-browse-region-or-line
:desc "List gists" "G" #'+gist:list)) :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)
: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,9 +85,9 @@ 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)
(evil-ex-define-cmd "gblame" #'magit-blame) (evil-ex-define-cmd "gblame" #'magit-blame)