2015-06-10 02:42:11 +00:00
|
|
|
;;; packages.el --- Github Layer packages File for Spacemacs
|
|
|
|
;;
|
2018-01-04 07:00:25 +00:00
|
|
|
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
|
2015-06-10 02:42:11 +00:00
|
|
|
;;
|
|
|
|
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
|
|
|
|
;; URL: https://github.com/syl20bnr/spacemacs
|
|
|
|
;;
|
|
|
|
;; This file is not part of GNU Emacs.
|
|
|
|
;;
|
|
|
|
;;; License: GPLv3
|
|
|
|
|
|
|
|
(setq github-packages
|
|
|
|
'(
|
|
|
|
gist
|
2015-10-31 01:28:58 +00:00
|
|
|
github-clone
|
2016-06-19 02:29:27 +00:00
|
|
|
github-search
|
2015-08-25 19:05:06 +00:00
|
|
|
magit-gh-pulls
|
2017-12-03 20:52:00 +00:00
|
|
|
magithub
|
2016-04-03 04:12:28 +00:00
|
|
|
;; this package does not exits, we need it to wrap
|
2016-07-05 03:00:11 +00:00
|
|
|
;; the call to spacemacs/declare-prefix.
|
2016-04-03 04:12:28 +00:00
|
|
|
(spacemacs-github :location built-in)
|
2015-06-10 02:42:11 +00:00
|
|
|
))
|
|
|
|
|
|
|
|
(defun github/init-gist ()
|
|
|
|
(use-package gist
|
2018-03-04 04:37:53 +00:00
|
|
|
:defer t
|
2015-06-10 02:42:11 +00:00
|
|
|
:init
|
|
|
|
(progn
|
2016-04-03 04:12:28 +00:00
|
|
|
(spacemacs/declare-prefix "gg" "github gist")
|
2015-11-18 00:38:05 +00:00
|
|
|
(spacemacs/set-leader-keys
|
2015-06-10 02:42:11 +00:00
|
|
|
"ggb" 'gist-buffer
|
|
|
|
"ggB" 'gist-buffer-private
|
|
|
|
"ggl" 'gist-list
|
|
|
|
"ggr" 'gist-region
|
2017-10-02 16:39:17 +00:00
|
|
|
"ggR" 'gist-region-private))
|
|
|
|
:config
|
|
|
|
(progn
|
2017-10-14 14:30:31 +00:00
|
|
|
(evilified-state-evilify-map gist-list-menu-mode-map
|
|
|
|
:mode gist-list-mode
|
|
|
|
:bindings
|
|
|
|
"f" 'gist-fetch-current
|
|
|
|
"K" 'gist-kill-current
|
|
|
|
"o" 'gist-browse-current-url)
|
2017-10-02 16:39:17 +00:00
|
|
|
(evilified-state-evilify-map gist-list-mode-map
|
|
|
|
:mode gist-list-mode
|
|
|
|
:bindings
|
|
|
|
(kbd "gr") 'gist-list-reload))))
|
2015-06-10 02:42:11 +00:00
|
|
|
|
2015-10-31 01:28:58 +00:00
|
|
|
(defun github/init-github-clone ()
|
|
|
|
(use-package github-clone
|
2018-03-04 04:37:53 +00:00
|
|
|
:defer t
|
2015-10-31 01:28:58 +00:00
|
|
|
:init
|
2016-07-05 03:17:30 +00:00
|
|
|
(progn
|
|
|
|
(spacemacs/declare-prefix "ghc" "clone")
|
|
|
|
(spacemacs/set-leader-keys
|
|
|
|
"ghcc" 'github-clone
|
|
|
|
"ghcr" 'github-clone-add-existing-remote
|
|
|
|
"ghcf" 'github-clone-fork-remote
|
|
|
|
"ghcu" 'github-clone-add-source-remote))))
|
2015-10-31 01:28:58 +00:00
|
|
|
|
2016-06-19 02:29:27 +00:00
|
|
|
(defun github/init-github-search ()
|
|
|
|
(use-package github-search
|
|
|
|
:commands (github-search-clone-repo github-search-user-clone-repo)
|
2016-07-05 03:17:30 +00:00
|
|
|
:init (spacemacs/set-leader-keys "ghc/" 'github-search-clone-repo)))
|
2016-06-19 02:29:27 +00:00
|
|
|
|
2015-08-25 19:05:06 +00:00
|
|
|
;; magit-gh-pulls has to be loaded via a pre-config hook because the source code
|
|
|
|
;; makes assumptions about the status of the magit-mode keymaps that are
|
|
|
|
;; incompatible with the spacemacs' evilification feature.
|
|
|
|
;; To avoid errors, magit-gh-pulls must be loaded after magit, but before magit
|
|
|
|
;; is configured by spacemacs.
|
|
|
|
|
2018-01-11 04:57:18 +00:00
|
|
|
(defun github/pre-init-magit-gh-pulls ()
|
2015-08-25 19:05:06 +00:00
|
|
|
(spacemacs|use-package-add-hook magit
|
|
|
|
:pre-config
|
|
|
|
(progn
|
|
|
|
(use-package magit-gh-pulls
|
|
|
|
:config
|
2018-01-07 21:57:27 +00:00
|
|
|
(define-key magit-mode-map "#" 'spacemacs/load-gh-pulls-mode)
|
2015-08-25 19:05:06 +00:00
|
|
|
(spacemacs|diminish magit-gh-pulls-mode "Github-PR")))))
|
2018-01-11 04:57:18 +00:00
|
|
|
(defun github/init-magit-gh-pulls ())
|
2016-04-03 04:12:28 +00:00
|
|
|
|
2017-02-07 03:48:38 +00:00
|
|
|
(defun github/init-magithub ()
|
|
|
|
(use-package magithub
|
|
|
|
:after magit
|
2017-05-18 16:07:50 +00:00
|
|
|
:init
|
|
|
|
(setq magithub-dir (concat spacemacs-cache-directory "magithub/"))
|
2017-02-07 03:48:38 +00:00
|
|
|
:config
|
|
|
|
(progn
|
2018-08-16 23:47:24 +00:00
|
|
|
;; Configure Magithub to be offline by default because loading data from
|
|
|
|
;; projects with many pull requests or issues can be exorbitantly slow.
|
|
|
|
;; See <https://github.com/syl20bnr/spacemacs/issues/11176>.
|
|
|
|
(when (null (magit-get "--global" "magithub.online"))
|
2018-08-18 18:55:24 +00:00
|
|
|
(magit-set "false" "--global" "magithub.online")
|
|
|
|
(magit-set "false" "--global" "magithub.status.includeStatusHeader")
|
|
|
|
(magit-set "false" "--global" "magithub.status.includePullRequestsSection")
|
|
|
|
(magit-set "false" "--global" "magithub.status.includeIssuesSection"))
|
2017-02-07 03:48:38 +00:00
|
|
|
(magithub-feature-autoinject t)
|
|
|
|
(define-key magit-status-mode-map "@" #'magithub-dispatch-popup))))
|
|
|
|
|
2016-04-03 04:12:28 +00:00
|
|
|
(defun github/init-spacemacs-github ()
|
|
|
|
(spacemacs/declare-prefix "gh" "github"))
|