From 53f997aa8ce025011089281f3e09998258a45800 Mon Sep 17 00:00:00 2001 From: David Florness Date: Wed, 6 Dec 2017 19:58:09 -0700 Subject: [PATCH] Setup helm and related packages in separate file --- init.el | 47 +-------------------- lisp/setup-dev.el | 40 ------------------ lisp/setup-helm.el | 102 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 86 deletions(-) create mode 100644 lisp/setup-helm.el diff --git a/init.el b/init.el index ce18535..9137932 100644 --- a/init.el +++ b/init.el @@ -4,6 +4,7 @@ (require 'setup-packages) (require 'setup-appearance) (require 'setup-dev) +(require 'setup-helm) ;;; Winner mode: allows for undoing and redoing of windoow configurations ;;; C-c : undo @@ -82,58 +83,12 @@ :init (add-to-list 'company-backends 'company-c-headers)) -;;; Helm: incremental completion and selection narrowing framework -(use-package helm - :ensure t - :bind - (("M-x" . helm-M-x) - ("C-x r b" . helm-filtered-bookmarks) - ("C-x C-f" . helm-find-files)) - :config - (progn - (require 'helm-config) - (when (executable-find "curl") - (setq helm-net-prefer-curl t)) - (add-hook 'helm-after-initialize-hook - ;; hide the cursor in helm buffers - (lambda () - (with-helm-buffer - (setq cursor-in-non-selected-windows nil)))) - - (global-set-key (kbd "C-c h") 'helm-command-prefix) - (global-unset-key (kbd "C-x c")) - - (define-key helm-map (kbd "C-j") 'helm-next-line) - (define-key helm-map (kbd "C-k") 'helm-previous-line) - (define-key helm-map (kbd "M-j") 'helm-next-line) - (define-key helm-map (kbd "M-k") 'helm-previous-line) - - (define-key helm-map (kbd "C-h") 'helm-next-source) - (define-key helm-map (kbd "C-S-h") 'describe-key) - (define-key helm-map (kbd "C-l") (kbd "RET")) - (define-key helm-map [escape] 'helm-keyboard-quit) - (define-key helm-map (kbd "") 'helm-execute-persistent-action) - (define-key helm-map (kbd "C-i") (kbd "")) ;; make work in terminal - (helm-mode 1) - (dolist (keymap (list helm-find-files-map helm-read-file-map)) - (define-key keymap (kbd "C-l") 'helm-execute-persistent-action) - (define-key keymap (kbd "C-h") 'helm-find-files-up-one-level) - (define-key keymap (kbd "C-S-h") 'describe-key)))) - ;;; Yasnippet: yet another snippet extension (use-package yasnippet :ensure t :config (yas-global-mode 1)) -;;; Helm extension for yasnippet -(use-package helm-c-yasnippet - :ensure t - :after yasnippet - :config - (setq helm-yas-space-match-any-greedy t) - (global-set-key (kbd "C-c y") 'helm-yas-complete)) - ;;; Setup duckduckgo search engine (use-package engine-mode :ensure t diff --git a/lisp/setup-dev.el b/lisp/setup-dev.el index 3129a33..f29e2e4 100644 --- a/lisp/setup-dev.el +++ b/lisp/setup-dev.el @@ -45,37 +45,6 @@ (define-key company-active-map (kbd "M-k") 'company-select-previous))) -(use-package helm-gtags - :ensure t - :commands (helm-gtags-mode) - :init - (progn - (setq helm-gtags-ignore-case t - helm-gtags-auto-update t - helm-gtags-use-input-at-cursor t - helm-gtags-pulse-at-cursor t - helm-gtags-prefix-key (kbd "C-c g") - helm-gtags-suggested-key-mapping t) - (add-hook 'dired-mode-hook 'helm-gtags-mode) - (add-hook 'eshell-mode-hook 'helm-gtags-mode) - (add-hook 'c-mode-hook 'helm-gtags-mode) - (add-hook 'c++-mode-hook 'helm-gtags-mode) - (add-hook 'asm-made-hook 'helm-gtags-mode)) - :config - (progn - (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c g a") - 'helm-gtags-tags-in-this-function) - (evil-define-key 'nomral helm-gtags-mode-map (kbd "C-j") - 'helm-gtags-select) - (evil-define-key 'normal helm-gtags-mode-map (kbd "M-.") - 'helm-gtags-dwim) - (evil-define-key 'normal helm-gtags-mode-map (kbd "M-,") - 'helm-gtags-pop-stack) - (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c <") - 'helm-gtags-previous-history) - (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c >") - 'helm-gtags-next-history))) - (use-package projectile :ensure t @@ -84,15 +53,6 @@ (setq projectile-enable-caching t)) -(use-package helm-projectile - :ensure t - :after (projectile helm) - :config - (helm-projectile-on) - (setq projectile-completion-system 'helm) - (setq projectile-indexing-method 'alien)) - - (use-package zygospore :ensure t :bind (("C-x 1" . zygospore-toggle-delete-other-windows))) diff --git a/lisp/setup-helm.el b/lisp/setup-helm.el new file mode 100644 index 0000000..9be94c2 --- /dev/null +++ b/lisp/setup-helm.el @@ -0,0 +1,102 @@ +;;; setup-helm --- Setup helm + +;;; Commentary: + +;; Set up helm and related packages + +;;; Code: + + +;;; Helm: incremental completion and selection narrowing framework +(use-package helm + :ensure t + :bind + (("M-x" . helm-M-x) + ("C-x r b" . helm-filtered-bookmarks) + ("C-x C-f" . helm-find-files)) + :config + (progn + (require 'helm-config) + (when (executable-find "curl") + (setq helm-net-prefer-curl t)) + (add-hook 'helm-after-initialize-hook + ;; hide the cursor in helm buffers + (lambda () + (with-helm-buffer + (setq cursor-in-non-selected-windows nil)))) + + (global-set-key (kbd "C-c h") 'helm-command-prefix) + (global-unset-key (kbd "C-x c")) + + (define-key helm-map (kbd "C-j") 'helm-next-line) + (define-key helm-map (kbd "C-k") 'helm-previous-line) + (define-key helm-map (kbd "M-j") 'helm-next-line) + (define-key helm-map (kbd "M-k") 'helm-previous-line) + + (define-key helm-map (kbd "C-h") 'helm-next-source) + (define-key helm-map (kbd "C-S-h") 'describe-key) + (define-key helm-map (kbd "C-l") (kbd "RET")) + (define-key helm-map [escape] 'helm-keyboard-quit) + (define-key helm-map (kbd "") 'helm-execute-persistent-action) + (define-key helm-map (kbd "C-i") (kbd "")) ;; make work in terminal + (helm-mode 1) + (dolist (keymap (list helm-find-files-map helm-read-file-map)) + (define-key keymap (kbd "C-l") 'helm-execute-persistent-action) + (define-key keymap (kbd "C-h") 'helm-find-files-up-one-level) + (define-key keymap (kbd "C-S-h") 'describe-key)))) + + +;;; Helm extension for yasnippet +(use-package helm-c-yasnippet + :ensure t + :after yasnippet + :config + (progn + (setq helm-yas-space-match-any-greedy t) + (global-set-key (kbd "C-c y") 'helm-yas-complete))) + + +;;; Helm extension for gtags +(use-package helm-gtags + :ensure t + :commands (helm-gtags-mode) + :init + (progn + (setq helm-gtags-ignore-case t + helm-gtags-auto-update t + helm-gtags-use-input-at-cursor t + helm-gtags-pulse-at-cursor t + helm-gtags-prefix-key (kbd "C-c g") + helm-gtags-suggested-key-mapping t) + (add-hook 'dired-mode-hook 'helm-gtags-mode) + (add-hook 'eshell-mode-hook 'helm-gtags-mode) + (add-hook 'c-mode-hook 'helm-gtags-mode) + (add-hook 'c++-mode-hook 'helm-gtags-mode) + (add-hook 'asm-made-hook 'helm-gtags-mode)) + :config + (progn + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c g a") + 'helm-gtags-tags-in-this-function) + (evil-define-key 'nomral helm-gtags-mode-map (kbd "C-j") + 'helm-gtags-select) + (evil-define-key 'normal helm-gtags-mode-map (kbd "M-.") + 'helm-gtags-dwim) + (evil-define-key 'normal helm-gtags-mode-map (kbd "M-,") + 'helm-gtags-pop-stack) + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c <") + 'helm-gtags-previous-history) + (evil-define-key 'normal helm-gtags-mode-map (kbd "C-c >") + 'helm-gtags-next-history))) + +;;; Helm extension for projectile +(use-package helm-projectile + :ensure t + :after (projectile helm) + :config + (helm-projectile-on) + (setq projectile-completion-system 'helm) + (setq projectile-indexing-method 'alien)) + + +(provide 'setup-helm) +;;; setup-helm.el ends here -- 2.38.4