diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index c16ca0d91..efc730586 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -42,13 +42,16 @@ MODES should be one major-mode symbol or a list of them." company-backends '(company-capf company-dabbrev company-ispell company-yasnippet) company-transformers '(company-sort-by-occurrence)) - (when (featurep! +auto) - (require 'company) - (setq company-idle-delay 0.2)) :config (global-company-mode +1)) +(def-package! company + :when (featurep! +auto) + :defer input + :config (setq company-idle-delay 0.2)) + + (def-package! company-statistics :hook (company-mode . company-statistics-mode) :init (advice-add #'company-statistics-mode :around #'doom*shut-up) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 44823b3f6..0c7d32611 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -11,8 +11,9 @@ ;; (def-package! helm-mode - :hook (doom-init . helm-mode) + :defer (input . 1) :config + (helm-mode +1) ;; helm is too heavy for find-file-at-point (add-to-list 'helm-completing-read-handlers-alist '(find-file-at-point . nil))) diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index 148138262..222982a2a 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -24,8 +24,7 @@ immediately runs it on the current candidate (ending the ivy session)." ;; (def-package! ivy - :init - (add-hook 'doom-init-hook #'ivy-mode) + :defer input :config (setq ivy-height 12 ivy-do-completion-in-region nil @@ -55,15 +54,7 @@ immediately runs it on the current candidate (ending the ivy session)." [remap persp-switch-to-buffer] #'+ivy/switch-workspace-buffer [remap imenu-anywhere] #'ivy-imenu-anywhere) - (nconc ivy-sort-functions-alist - '((persp-kill-buffer . nil) - (persp-remove-buffer . nil) - (persp-add-buffer . nil) - (persp-switch . nil) - (persp-window-switch . nil) - (persp-frame-switch . nil) - (+workspace/switch-to . nil) - (+workspace/delete . nil)))) + (ivy-mode +1)) ;; Show more buffer information in switch-buffer commands @@ -140,7 +131,8 @@ immediately runs it on the current candidate (ending the ivy session)." (def-package! ivy-hydra :commands (+ivy@coo/body ivy-dispatching-done-hydra) :init - (map! :map ivy-minibuffer-map + (map! :after ivy + :map ivy-minibuffer-map "C-o" #'+ivy@coo/body "M-o" #'ivy-dispatching-done-hydra) :config diff --git a/modules/feature/evil/config.el b/modules/feature/evil/config.el index b64f675a7..280c1563a 100644 --- a/modules/feature/evil/config.el +++ b/modules/feature/evil/config.el @@ -23,10 +23,10 @@ (def-package! evil-collection :when (featurep! +everywhere) - :after evil + :defer input :preface ;; must be set before evil/evil-collcetion is loaded - (setq evil-want-integration (not (featurep! +everywhere)) + (setq evil-want-integration nil evil-collection-company-use-tng nil) :config (delq 'kotlin-mode evil-collection-mode-list) ; doesn't do anything useful @@ -229,17 +229,17 @@ (def-package! evil-escape - :commands evil-escape-mode + :commands (evil-escape evil-escape-mode evil-escape-pre-command-hook) :init (setq evil-escape-excluded-states '(normal visual multiedit emacs motion) evil-escape-excluded-major-modes '(neotree-mode) evil-escape-key-sequence "jk" evil-escape-delay 0.25) - (add-hook 'doom-post-init-hook #'evil-escape-mode) + (add-hook 'pre-command-hook 'evil-escape-pre-command-hook) + (map! :irvo "C-g" #'evil-escape) :config ;; no `evil-escape' in minibuffer - (push #'minibufferp evil-escape-inhibit-functions) - (map! :irvo "C-g" #'evil-escape)) + (add-hook 'evil-escape-inhibit-functions #'minibufferp)) (def-package! evil-exchange @@ -325,7 +325,7 @@ the new algorithm is confusing, like in python or ruby." (def-package! evil-snipe :commands (evil-snipe-mode evil-snipe-override-mode evil-snipe-local-mode evil-snipe-override-local-mode) - :hook (doom-post-init . evil-snipe-mode) + :defer input :init (setq evil-snipe-smart-case t evil-snipe-scope 'line @@ -333,6 +333,7 @@ the new algorithm is confusing, like in python or ruby." evil-snipe-char-fold t evil-snipe-aliases '((?\; "[;:]"))) :config + (evil-snipe-mode +1) (evil-snipe-override-mode +1)) diff --git a/modules/ui/evil-goggles/config.el b/modules/ui/evil-goggles/config.el index 67a5c9524..dec761c00 100644 --- a/modules/ui/evil-goggles/config.el +++ b/modules/ui/evil-goggles/config.el @@ -2,7 +2,7 @@ (def-package! evil-goggles :when (featurep! :feature evil) - :hook (doom-post-init . evil-goggles-mode) + :defer input :init (setq evil-goggles-duration 0.05 evil-goggles-pulse nil ; too slow