diff --git a/lib/extensions/editor.el b/lib/extensions/editor.el index e1e960d..8272a60 100644 --- a/lib/extensions/editor.el +++ b/lib/extensions/editor.el @@ -3,12 +3,18 @@ (require 'extensions/editor/init) ;; Dependencies ---------------------------------- -(depends-on 'ido) -(depends-on 'ido-vertical-mode) (depends-on 'multiple-cursors) (depends-on 'expand-region) -(depends-on 'flx-ido) (depends-on 'dired+) +(depends-on 'ov) + +(with-ability ido + (depends-on 'ido) + (depends-on 'ido-vertical-mode) + (depends-on 'flx-ido)) + +(with-ability helm + (depends-on 'helm)) ;; Extension ------------------------------------- (extension editor diff --git a/lib/extensions/editor/init.el b/lib/extensions/editor/init.el index 3d841d1..5a6b1cb 100644 --- a/lib/extensions/editor/init.el +++ b/lib/extensions/editor/init.el @@ -94,16 +94,43 @@ (hs-minor-mode) ;; IDO configurations --------------------------------------------- - (require 'flx-ido) - (require 'ido-vertical-mode) - (ido-mode t) - (ido-everywhere t) - (flx-ido-mode 1) - (setq ido-use-faces nil) + (with-ability ido + (require 'flx-ido) + (require 'ido-vertical-mode) - (setq ido-enable-flex-matching t) - (ido-vertical-mode 1) + (ido-mode t) + (ido-everywhere t) + (flx-ido-mode 1) + (setq ido-use-faces nil) + (setq ido-use-filename-at-point 'guess) + + (setq ido-enable-flex-matching t) + (ido-vertical-mode 1)) + ;; Helm ----------------------------------------------------- + (with-ability helm + + (require 'helm) + + (global-set-key (kbd "C-c h") 'helm-command-prefix) + (global-unset-key (kbd "C-x c")) + + (define-key helm-map (kbd "") 'helm-execute-persistent-action) ; rebind tab to run persistent action + (define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal + (define-key helm-map (kbd "C-z") 'helm-select-action) ; list actions using C-z + + (when (executable-find "curl") + (setq helm-google-suggest-use-curl-p t)) + + (setq helm-split-window-in-side-p t ; open helm buffer inside current window, not occupy whole other window + helm-move-to-line-cycle-in-source t ; move to end or beginning of source when reaching top or bottom of source. + helm-ff-search-library-in-sexp t ; search for library in `require' and `declare-function' sexp. + helm-scroll-amount 8 ; scroll 8 lines other window using M-/M- + helm-ff-file-name-history-use-recentf t) + + (helm-mode 1)) + + ;; Session Management --------------------------------------- (desktop-save-mode 1) ;; Backup files ---------------------------------------------