mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
fix(navigation): Lazy-load helm without breaking keybindings
This involved always loading `helm-config` which sets up `helm-command-prefix` and `helm-command-map` allowing use-package to set bindings on the map all without loading anything else until needed.
This commit is contained in:
@@ -62,6 +62,7 @@
|
||||
(require 'siren-helm-ag)
|
||||
(require 'siren-helm-open-github)
|
||||
(require 'siren-helm-swoop)
|
||||
(require 'siren-imenu)
|
||||
(require 'siren-recursive-narrow)
|
||||
(require 'siren-scroll-half-screen)
|
||||
|
||||
|
||||
@@ -6,16 +6,20 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'imenu)
|
||||
(use-package helm-config
|
||||
:straight (helm)
|
||||
:demand t
|
||||
:bind
|
||||
("C-c h" . helm-command-prefix)
|
||||
(:map helm-command-map
|
||||
("M" . helm-man-woman))
|
||||
|
||||
(use-package imenu-anywhere
|
||||
:config
|
||||
(set-default 'imenu-auto-rescan t)
|
||||
(set-default 'imenu-max-item-length 160)
|
||||
(set-default 'imenu-max-items 400))
|
||||
:custom
|
||||
(helm-command-prefix-key nil))
|
||||
|
||||
(use-package helm
|
||||
:demand t
|
||||
:after (helm-config)
|
||||
:defer t
|
||||
:hook
|
||||
(helm-minibuffer-set-up . siren-helm--hide-minibuffer-maybe)
|
||||
(helm-after-initialize . siren-helm--toggle-source-header-line)
|
||||
@@ -24,30 +28,14 @@
|
||||
(helm-cleanup . siren-helm--show-neotree-maybe)
|
||||
(helm-cleanup . siren-helm--show-treemacs-maybe)
|
||||
|
||||
:bind
|
||||
("C-t" . helm-imenu)
|
||||
("C-c t" . helm-imenu-anywhere)
|
||||
("C-x C-f" . helm-find-files)
|
||||
("C-c f f" . helm-for-files)
|
||||
("C-c f r" . helm-recentf)
|
||||
("C-c C-m" . helm-M-x)
|
||||
(:map helm-command-map
|
||||
("M" . helm-man-woman))
|
||||
|
||||
:custom
|
||||
(helm-M-x-always-save-history t)
|
||||
(helm-M-x-fuzzy-match t)
|
||||
(helm-always-two-windows t)
|
||||
(helm-autoresize-max-height 48)
|
||||
(helm-autoresize-min-height 10)
|
||||
(helm-autoresize-mode nil)
|
||||
(helm-buffer-max-length 64)
|
||||
(helm-case-fold-search 'smart)
|
||||
(helm-command-prefix-key "C-c h")
|
||||
(helm-display-header-line t)
|
||||
(helm-echo-input-in-header-line t)
|
||||
(helm-ff-file-name-history-use-recentf t)
|
||||
(helm-ff-search-library-in-sexp t)
|
||||
(helm-file-name-case-fold-search 'smart)
|
||||
(helm-split-window-default-side 'below)
|
||||
(siren-helm--did-hide-neotree nil)
|
||||
@@ -81,7 +69,8 @@
|
||||
"Turn `popwin-mode' on for *Help* buffers."
|
||||
(when (boundp 'popwin:special-display-config)
|
||||
(customize-set-variable 'popwin:special-display-config
|
||||
(add-to-list 'popwin:special-display-config 'help-mode nil #'eq))))
|
||||
(add-to-list 'popwin:special-display-config
|
||||
'help-mode nil #'eq))))
|
||||
|
||||
(defun siren-helm--hide-neotree (&rest plist)
|
||||
(when (and (fboundp 'neotree-hide)
|
||||
@@ -115,15 +104,43 @@
|
||||
(select-window win))))
|
||||
|
||||
:config
|
||||
(require 'helm-config)
|
||||
|
||||
(require 'helm-command)
|
||||
(require 'helm-files)
|
||||
(require 'helm-imenu)
|
||||
|
||||
(advice-add 'helm :before 'siren-helm--hide-neotree)
|
||||
(advice-add 'helm :before 'siren-helm--hide-treemacs))
|
||||
|
||||
(use-package helm-command
|
||||
:straight (helm)
|
||||
:after (helm-config)
|
||||
:bind
|
||||
("C-c C-m" . helm-M-x)
|
||||
|
||||
:custom
|
||||
(helm-M-x-always-save-history t)
|
||||
(helm-M-x-fuzzy-match t))
|
||||
|
||||
(use-package helm-files
|
||||
:straight (helm)
|
||||
:after (helm-config)
|
||||
:bind
|
||||
("C-x C-f" . helm-find-files)
|
||||
|
||||
:custom
|
||||
(helm-buffer-max-length 64)
|
||||
(helm-ff-file-name-history-use-recentf t)
|
||||
(helm-ff-search-library-in-sexp t))
|
||||
|
||||
(use-package helm-for-files
|
||||
:straight (helm)
|
||||
:after (helm-config)
|
||||
:bind
|
||||
("C-c f f" . helm-for-files)
|
||||
("C-c f r" . helm-recentf))
|
||||
|
||||
(use-package helm-imenu
|
||||
:straight (helm)
|
||||
:after (helm-config)
|
||||
:bind
|
||||
("C-t" . helm-imenu))
|
||||
|
||||
(use-package helm-descbinds
|
||||
:defer t)
|
||||
|
||||
|
||||
22
modules/navigation/siren-imenu.el
Normal file
22
modules/navigation/siren-imenu.el
Normal file
@@ -0,0 +1,22 @@
|
||||
;;; siren-imenu.el --- jimeh's Emacs Siren: imenu configuration.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; Basic configuration for imenu.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'imenu)
|
||||
(require 'siren-helm)
|
||||
|
||||
(use-package imenu-anywhere
|
||||
:bind
|
||||
("C-c t" . helm-imenu-anywhere)
|
||||
|
||||
:config
|
||||
(set-default 'imenu-auto-rescan t)
|
||||
(set-default 'imenu-max-item-length 160)
|
||||
(set-default 'imenu-max-items 400))
|
||||
|
||||
(provide 'siren-imenu)
|
||||
;;; siren-imenu.el ends here
|
||||
1
modules/tools/siren-helm-make.el
Normal file → Executable file
1
modules/tools/siren-helm-make.el
Normal file → Executable file
@@ -9,6 +9,7 @@
|
||||
(require 'siren-helm)
|
||||
|
||||
(use-package helm-make
|
||||
:after (helm-config)
|
||||
:bind
|
||||
(:map helm-command-map
|
||||
("m" . helm-make-projectile))
|
||||
|
||||
Reference in New Issue
Block a user