Revert +hub flag, but disable magithub by default
Must be enabled on a per-project basis. You can change this behavior by setting +magit-hub-enabled-by-default to non-nil (before magit is loaded). Magithub has been made opt-in because: 1. Magithub is imposing, asking the user for a token, especially for users who don't use github (much or at all), but may occasionally have a project with a github remote. 2. magithub is really slow on first load for medium-to-large repos. 3. It's really easy to enable it through the magithub popup (H C e). magithub.enabled is saved into the project's .git/config file, so the setting will persist. Also added a docstring to +magit-hub-features
This commit is contained in:
parent
592205e1dd
commit
bab530ea2e
3 changed files with 31 additions and 3 deletions
|
@ -56,7 +56,7 @@
|
|||
;gist ; interacting with github gists
|
||||
;macos ; MacOS-specific commands
|
||||
;make ; run make tasks from Emacs
|
||||
;(magit +hub) ;
|
||||
;magit ;
|
||||
;password-store ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;prodigy ; FIXME managing external services & code builders
|
||||
|
|
|
@ -51,3 +51,19 @@ format."
|
|||
.owner.login .name)))
|
||||
(magithub-clone repo dir)))
|
||||
(magit-clone url-or-repo dir)))
|
||||
|
||||
|
||||
;;
|
||||
;; Advice
|
||||
;;
|
||||
|
||||
;;;###autoload
|
||||
(defun +magit*hub-settings--format-magithub.enabled ()
|
||||
"Change the setting to display 'false' as its default."
|
||||
(magit--format-popup-variable:choices "magithub.enabled" '("true" "false") "false"))
|
||||
|
||||
;;;###autoload
|
||||
(defun +magit*hub-enabled-p ()
|
||||
"Disables magithub by default."
|
||||
(magithub-settings--value-or "magithub.enabled" nil
|
||||
#'magit-get-boolean))
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
;;; tools/magit/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(defvar +magit-hub-enable-by-default nil
|
||||
"Whether or not to enable magithub features for all projects by default.")
|
||||
|
||||
(defvar +magit-hub-features
|
||||
'(pull-request-merge commit-browse completion)
|
||||
"TODO")
|
||||
"What features to initialize when `magithub' is loaded. Set this to `t' to
|
||||
load everything.")
|
||||
|
||||
|
||||
;;
|
||||
|
@ -29,7 +33,6 @@
|
|||
|
||||
|
||||
(def-package! magithub
|
||||
:when (featurep! +hub)
|
||||
:after magit
|
||||
:preface
|
||||
(setq magithub-dir (concat doom-etc-dir "magithub/"))
|
||||
|
@ -37,6 +40,15 @@
|
|||
(setq magithub-clone-default-directory "~/"
|
||||
magithub-preferred-remote-method 'clone_url)
|
||||
:config
|
||||
(unless +magit-hub-enable-by-default
|
||||
;; Disable magit by default. Can be enabled through magithub settings popup,
|
||||
;; or setting `+magit-hub-enable-by-default'.
|
||||
(advice-add #'magithub-enabled-p :override #'+magit*hub-enabled-p)
|
||||
;; I don't use `magithub-settings--simple' to redefine this because it
|
||||
;; changes the order of settings. Obnoxious, but the alternative is even
|
||||
;; more so.
|
||||
(advice-add #'magithub-settings--format-magithub.enabled
|
||||
:override #'+magit*hub-settings--format-magithub.enabled))
|
||||
(magithub-feature-autoinject +magit-hub-features))
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue