X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/e59c8878a45abda84e4ff2f713110d92d444d0ec..c247fbc884f7fef621152bd013ef7ca3b276f389:/.emacs.d/init.el diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 7a9c143..8e0f9d7 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -548,7 +548,7 @@ For disabling the behaviour for certain buffers and/or modes." ("" . next-buffer) ("" . next-buffer) ("" . kill-this-buffer) - ("" . ivy-switch-buffer)) + ("" . switch-to-buffer)) (bind-keys :prefix-map b/straight-prefix-map @@ -914,6 +914,7 @@ around if needed." :custom (magit-diff-refine-hunk t) (magit-display-buffer-function #'magit-display-buffer-fullframe-status-v1) + (magit-completing-read-function 'magit-ido-completing-read) :custom-face (magit-diff-file-heading ((t (:weight normal))))) ;; recently opened files @@ -921,13 +922,73 @@ around if needed." :defer 0.2 ;; :config ;; (add-to-list 'recentf-exclude "^/\\(?:ssh\\|su\\|sudo\\)?:") + :config + (recentf-mode) :custom (recentf-max-saved-items 2000)) ;; smart M-x enhancement (needed by counsel for history) -(use-package smex) +;; (use-package smex) + +(bind-keys + ("C-c f ." . find-file) + ("C-c f l" . find-library) + ("C-c f r" . recentf-open-files) + ("C-c x" . execute-extended-command)) + +(use-feature ido + :demand + :bind + (:map ido-common-completion-map + ([escape] . minibuffer-keyboard-quit) + ("DEL" . b/ido-backspace)) + :config + (require 'delsel) + (defun b/ido-backspace () + "Forward to `backward-delete-char'. On error (read-only), quit." + (interactive) + (condition-case nil + (backward-delete-char 1) + (error + (minibuffer-keyboard-quit)))) + (ido-mode 1) + (ido-everywhere 1) + :custom + (ido-enable-flex-matching t) + (ido-max-window-height 10) + (ido-use-virtual-buffers t)) + +(use-package ido-vertical-mode + :defer 0.3 + :config + (ido-vertical-mode 1) + :custom + (ido-vertical-define-keys 'C-n-C-p-up-and-down) + (ido-vertical-show-count t)) + +(use-package ido-completing-read+ + :defer 0.3 + :after ido + :config + (ido-ubiquitous-mode 1)) + +(use-package amx + :defer 0.3 + :config + (amx-mode)) + +(use-package crm-custom + :defer 0.3 + :config + (crm-custom-mode 1)) + +(use-feature icomplete + :defer 0.3 + :config + (icomplete-mode 1)) (use-package ivy + :disabled :defer 0.3 :bind (:map ivy-minibuffer-map @@ -962,24 +1023,25 @@ This function is intended for use with `ivy-ignore-buffers'." ) (use-package swiper - :after ivy - :bind (("C-s" . swiper-isearch) - ("C-r" . swiper) - ("C-S-s" . isearch-forward))) + :commands (swiper swiper-isearch) + :bind (;; ("C-s" . swiper-isearch) + ;; ("C-r" . swiper) + ("C-S-s" . swiper-isearch))) (use-package counsel - :after ivy - :bind (([remap execute-extended-command] . counsel-M-x) - ([remap find-file] . counsel-find-file) - ("C-c f ." . counsel-find-file) - ("C-c f l" . counsel-find-library) - ("C-c f r" . counsel-recentf) - ("C-c x" . counsel-M-x) - :map minibuffer-local-map - ("C-r" . counsel-minibuffer-history)) - :config - (counsel-mode 1) - (defalias 'locate #'counsel-locate)) + :commands (counsel-linux-app)) + ;; :bind (([remap execute-extended-command] . counsel-M-x) + ;; ([remap find-file] . counsel-find-file) + ;; ("C-c f ." . counsel-find-file) + ;; ("C-c f l" . counsel-find-library) + ;; ("C-c f r" . counsel-recentf) + ;; ("C-c x" . counsel-M-x) + ;; :map minibuffer-local-map + ;; ("C-r" . counsel-minibuffer-history)) + ;; :config + ;; (counsel-mode 1) + ;; (defalias 'locate #'counsel-locate) + ;; ) (comment (use-package helm @@ -1023,7 +1085,8 @@ This function is intended for use with `ivy-ignore-buffers'." ("C-d" . b/eshell-quit-or-delete-char) ("C-S-l" . b/eshell-clear) ("M-r" . counsel-esh-history) - ([tab] . company-complete))) + ;; ([tab] . company-complete) + )) :hook (eshell-mode . b/eshell-setup) :custom @@ -1268,8 +1331,9 @@ This function is intended for use with `ivy-ignore-buffers'." (company-dabbrev-char-regexp "\\sw\\|\\s_\\|[-_]") (company-dabbrev-downcase nil) (company-dabbrev-ignore-case nil) - :config - (global-company-mode t)) + ;; :config + ;; (global-company-mode t) + ) (use-package flycheck :defer 0.6 @@ -1710,7 +1774,7 @@ This function is intended for use with `ivy-ignore-buffers'." (advice-add 'magit-branch-and-checkout :after #'my-projectile-invalidate-cache))) :custom - (projectile-completion-system 'ivy) + ;; (projectile-completion-system 'ivy) (projectile-mode-line-prefix " proj")) (use-package helpful @@ -2309,7 +2373,7 @@ This function is intended for use with `ivy-ignore-buffers'." "^User-Agent:" "^X-detected-operating-system:" "^Message-ID:" - "^References:" + ;; "^References:" "^List-Id:" "^Gnus-Warning:") gnus-visible-headers (mapconcat 'identity @@ -2419,6 +2483,10 @@ https://csclub.uwaterloo.ca/~abandali") :init (add-hook 'dired-mode-hook 'gnus-dired-mode)) +(use-feature gnus-utils + :custom + (gnus-completing-read-function 'gnus-ido-completing-read)) + (use-feature mm-decode :config (setq mm-discouraged-alternatives '("text/html" "text/richtext") @@ -2471,7 +2539,7 @@ https://csclub.uwaterloo.ca/~abandali") '(gnus-find-subscribed-addresses) message-dont-reply-to-names "\\(\\(\\(amin\\|mab\\)@shemshak\\.org\\)\\|\\(.*@aminb\\.org\\)\\|\\(\\(bandali\\|mab\\|aminb?\\)@gnu\\.org\\)\\|\\(a?bandali@\\(csclub\\.\\)?uwaterloo\\.ca\\)\\)") - (require 'company-ebdb) + ;; (require 'company-ebdb) :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) (message-mode . (lambda () @@ -2523,14 +2591,19 @@ https://csclub.uwaterloo.ca/~abandali") (use-feature ebdb-com :after ebdb) -;; (use-package ebdb-complete -;; :after ebdb -;; :config -;; (ebdb-complete-enable)) - -(use-package company-ebdb +(use-feature ebdb-complete + :after ebdb :config - (defun company-ebdb--post-complete (_) nil)) + ;; (setq ebdb-complete-mail 'capf) + (ebdb-complete-enable)) + +(use-feature ebdb-message + :demand + :after ebdb) + +;; (use-package company-ebdb +;; :config +;; (defun company-ebdb--post-complete (_) nil)) (use-feature ebdb-gnus :after ebdb