[Emacs] Defer loading of several packages

This commit is contained in:
Ivan Malison 2017-08-25 15:14:58 -07:00
parent a5ea7bb616
commit 0907711ab4
No known key found for this signature in database
GPG Key ID: 62530EFBE99DC2F8

View File

@ -373,7 +373,8 @@ but provide support for writing custom elisp.
#+END_SRC #+END_SRC
*** request *** request
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package request) (use-package request
:defer t)
#+END_SRC #+END_SRC
** Named Build ** Named Build
<<namedbuild>> <<namedbuild>>
@ -812,8 +813,9 @@ A macro for composing functions together to build an interactive command to copy
** Download a File Into a Buffer ** Download a File Into a Buffer
<<downloadfile>> <<downloadfile>>
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun imalison:download-to-buffer (uri) (defun imalirson:download-to-buffer (uri)
(interactive (list (read-string "Enter uri: "))) (interactive (list (read-string "Enter uri: ")))
(require 'request)
(request uri (request uri
:parser 'buffer-string :parser 'buffer-string
:success (cl-function :success (cl-function
@ -1480,7 +1482,6 @@ I don't have any use for this now that I use frames mode, but its an interesting
** tile ** tile
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package tile (use-package tile
:after hydra
:bind ("C-c t" . imalison:hydra-tile/body) :bind ("C-c t" . imalison:hydra-tile/body)
:config :config
(progn (progn
@ -1488,6 +1489,7 @@ I don't have any use for this now that I use frames mode, but its an interesting
(defvar imalison:wide-tile-strategy tile-wide) (defvar imalison:wide-tile-strategy tile-wide)
(defvar imalison:master-tile-strategy (tile-argument-buffer-fetcher (defvar imalison:master-tile-strategy (tile-argument-buffer-fetcher
:layout tile-master-left)) :layout tile-master-left))
(require 'hydra)
(defhydra imalison:hydra-tile (defhydra imalison:hydra-tile
nil nil
"tile" "tile"
@ -1734,6 +1736,7 @@ I use helm for almost all emacs completion
** helm-projectile ** helm-projectile
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package helm-projectile (use-package helm-projectile
:defer 1
:commands (helm-projectile-on) :commands (helm-projectile-on)
:bind (:map helm-projectile-projects-map :bind (:map helm-projectile-projects-map
("M-s" . imalison:switch-to-project-and-search) ("M-s" . imalison:switch-to-project-and-search)
@ -1754,6 +1757,7 @@ I use helm for almost all emacs completion
(imalison:do-in-project dir (term-projectile-forward)))) (imalison:do-in-project dir (term-projectile-forward))))
:config :config
(progn (progn
(shut-up (helm-projectile-on))
(helm-delete-action-from-source "Search in Project" (helm-delete-action-from-source "Search in Project"
helm-source-projectile-projects) helm-source-projectile-projects)
(helm-delete-action-from-source "Open term for project" (helm-delete-action-from-source "Open term for project"
@ -1810,7 +1814,6 @@ I use helm for almost all emacs completion
(setq projectile-enable-caching nil) (setq projectile-enable-caching nil)
(setq projectile-completion-system 'helm) (setq projectile-completion-system 'helm)
(add-to-list 'projectile-globally-ignored-files "Godeps") (add-to-list 'projectile-globally-ignored-files "Godeps")
(shut-up (helm-projectile-on))
(diminish 'projectile-mode) (diminish 'projectile-mode)
(bind-key* "C-c p s" 'imalison:do-ag) (bind-key* "C-c p s" 'imalison:do-ag)
(bind-key* "C-c p S" 'imalison:set-options-do-ag) (bind-key* "C-c p S" 'imalison:set-options-do-ag)
@ -2053,10 +2056,10 @@ I don't use auto-complete at all, so I have set up a hook to automatically disab
** align ** align
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package align (use-package align
:after hydra
:bind ("C-c C-a" . imalison:align-regexp-hydra/body) :bind ("C-c C-a" . imalison:align-regexp-hydra/body)
:config :config
(progn (progn
(require 'hydra)
(defun imalison:complex-align-regexp () (defun imalison:complex-align-regexp ()
(interactive) (interactive)
(let ((current-prefix-arg t)) (let ((current-prefix-arg t))
@ -2378,6 +2381,7 @@ Reduce indentation for some functions
**** edebug **** edebug
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package edebug (use-package edebug
:defer t
:config :config
(progn (setq edebug-trace t))) (progn (setq edebug-trace t)))
#+END_SRC #+END_SRC
@ -3387,7 +3391,7 @@ alphanumeric characters only."
**** org-projectile **** org-projectile
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package org-projectile (use-package org-projectile
:demand t :defer t
:config :config
(progn (progn
(setq org-projectile-projects-file (setq org-projectile-projects-file
@ -3660,6 +3664,7 @@ I've disabled magithub because it causes magit to be super slow
** git-link ** git-link
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package git-link (use-package git-link
:defer t
:config :config
(progn (progn
(setq git-link-use-commit t))) (setq git-link-use-commit t)))
@ -3817,7 +3822,7 @@ in term-mode. This makes term-mode 1000% more useful
(especially having M-x and C-y available). (especially having M-x and C-y available).
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package term (use-package term
:after helm :demand t
:preface :preface
(progn (progn
(defun imalison:avy-term (arg) (defun imalison:avy-term (arg)
@ -3844,36 +3849,39 @@ in term-mode. This makes term-mode 1000% more useful
("M-y" . helm-show-kill-ring-for-term)) ("M-y" . helm-show-kill-ring-for-term))
:config :config
(progn (progn
(require 'helm) (use-package helm-ring
(require 'helm-ring) :ensure nil
(defvar helm-kill-ring-for-term-actions :defer 1
'(("Yank" . imalison:term-paste) :config
("Delete" . (lambda (_candidate) (progn
(cl-loop for cand in (helm-marked-candidates) (defvar helm-kill-ring-for-term-actions
do (setq kill-ring '(("Yank" . imalison:term-paste)
(delete cand kill-ring))))))) ("Delete" . (lambda (_candidate)
(defvar helm-source-kill-ring-for-term (cl-loop for cand in (helm-marked-candidates)
(helm-build-sync-source "Kill Ring" do (setq kill-ring
:init (lambda () (helm-attrset 'last-command last-command)) (delete cand kill-ring)))))))
:candidates #'helm-kill-ring-candidates (defvar helm-source-kill-ring-for-term
:filtered-candidate-transformer #'helm-kill-ring-transformer (helm-build-sync-source "Kill Ring"
:action 'helm-kill-ring-for-term-actions :init (lambda () (helm-attrset 'last-command last-command))
:persistent-action 'ignore :candidates #'helm-kill-ring-candidates
:persistent-help "DoNothing" :filtered-candidate-transformer #'helm-kill-ring-transformer
:migemo t :action 'helm-kill-ring-for-term-actions
:multiline t)) :persistent-action 'ignore
:persistent-help "DoNothing"
:migemo t
:multiline t))
(defun helm-show-kill-ring-for-term () (defun helm-show-kill-ring-for-term ()
"Preconfigured `helm' for `kill-ring'. "Preconfigured `helm' for `kill-ring'.
It is drop-in replacement of `yank-pop'. It is drop-in replacement of `yank-pop'.
First call open the kill-ring browser, next calls move to next line." First call open the kill-ring browser, next calls move to next line."
(interactive) (interactive)
(let ((enable-recursive-minibuffers t)) (let ((enable-recursive-minibuffers t))
(helm :sources helm-source-kill-ring-for-term (helm :sources helm-source-kill-ring-for-term
:buffer "*helm kill ring*" :buffer "*helm kill ring*"
:resume 'noresume :resume 'noresume
:allow-nest t))) :allow-nest t)))))
(defun imalison:term-char-mode () (defun imalison:term-char-mode ()
(interactive) (interactive)
@ -3979,7 +3987,7 @@ First call open the kill-ring browser, next calls move to next line."
crux-reopen-as-root-mode makes it so that any file owned by root will automatically be opened as the root user. crux-reopen-as-root-mode makes it so that any file owned by root will automatically be opened as the root user.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package crux (use-package crux
:demand t :defer 1
:bind (("C-c C-s" . crux-sudo-edit) :bind (("C-c C-s" . crux-sudo-edit)
("C-c C-r" . crux-eval-and-replace) ("C-c C-r" . crux-eval-and-replace)
("C-c o" . crux-open-with)) ("C-c o" . crux-open-with))
@ -3994,8 +4002,7 @@ crux-reopen-as-root-mode makes it so that any file owned by root will automatica
** helm-systemd ** helm-systemd
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(use-package helm-systemd (use-package helm-systemd
:after helm :commands helm-systemd)
:demand t)
#+END_SRC #+END_SRC
** aurel ** aurel
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp