emacs: update packages, move from ivy and company to ido
authorAmin Bandali <bandali@gnu.org>
Mon, 11 Nov 2019 15:47:24 +0000 (10:47 -0500)
committerAmin Bandali <bandali@gnu.org>
Mon, 11 Nov 2019 15:47:24 +0000 (10:47 -0500)
.emacs.d/init.el
.emacs.d/straight/versions/default.el

index 7a9c143..8742769 100644 (file)
@@ -548,7 +548,7 @@ For disabling the behaviour for certain buffers and/or modes."
  ("<mouse-9>"      . next-buffer)
  ("<drag-mouse-9>" . next-buffer)
  ("<drag-mouse-2>" . kill-this-buffer)
- ("<drag-mouse-3>" . ivy-switch-buffer))
+ ("<drag-mouse-3>" . 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
@@ -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
index 7a56dad..c9d51cd 100644 (file)
@@ -1,5 +1,6 @@
 (("alert" . "b5ef49bbb871867ac03d2943a720576336cd7025")
  ("alloy-mode" . "0d05bdd10c77ec04c3d61eccf67e68c08284951f")
+ ("amx" . "b46e77d8ef9d1edf225e67055001f7e85048f842")
  ("auth-password-store" . "847a1f54ed48856b4dfaaa184583ef2c84173edf")
  ("biblio.el" . "efeeab720cb8e3f95ddb4298d0cc62393cf237e9")
  ("boxquote.el" . "7e47e0e2853bc1215739b2e28f260e9eed93b2c5")
@@ -7,22 +8,23 @@
  ("cl-generic" . "5fdc275eca6d0c5fce54b86997dea2f50f70df47")
  ("cl-lib" . "e79686c4a26959c0ecba0951a7e335ed28035386")
  ("closql" . "4a0c5610570f24df8569717ab0808d368eb20894")
- ("company-ebdb" . "3b463fe1236ac6445657f3a1df20357a7a2fa8f6")
- ("company-mode" . "226943f173e31fe3e38d287b6ee9a0540cc46427")
+ ("company-mode" . "f3e0290f5b37e5f3495d86cf084d67742e8054cc")
+ ("crm-custom" . "f1aaccf64306a5f99d9bf7ba815d7ea41c15518d")
  ("crux" . "903db7b1a2052f4959d934cae26ec40a3f323ed4")
- ("dash.el" . "5f65fdfe2705c897614d47c9b6684cc02b4d878a")
+ ("dash.el" . "13e5366898df483a2bbd95a06c35e15b463ee2d1")
  ("debbugs" . "4d9c772236193ab716b622956c6ae73fceb1a8d9")
  ("debpaste.el" . "6f2a400665062468ebd03a2ce1de2a73d9084958")
- ("diff-hl" . "ccf89ec8eef189f8191622cf30867c526d1174d7")
+ ("diff-hl" . "f95d12343be67a9378249842911019939863b148")
  ("ebdb" . "3a2ab4c03771ef6e8db573e5219ed1ed68a773ee")
  ("edit-indirect" . "935ded353b9ed3da67bc61abf245c21b58d88864")
  ("el-dmenu" . "e8cc9b27c79d3ecc252267c082ab8e9c82eab264")
  ("elisp-refs" . "0a254e6a4dc7fa12857f8334fe6eefa72e49d1c9")
  ("emacs-async" . "35ab78afb9ec4929552f43c6bab09bbd7da3842a")
- ("emacs-doom-themes" . "3c0bbe88a7e3d3d0d327265ce91174534b3ddf94")
- ("emacs-htmlize" . "8db0aa6aab77475a732b7363f0d57bd3933c18fd")
+ ("emacs-doom-themes" . "45b583d949bee311b15d177bc27c7cfe4665b673")
+ ("emacs-htmlize" . "7b63aa058c3dd0d9f8c07706cd8bb4e56aaa1fb3")
+ ("emacs-memoize" . "b3129775a6d5c0d9cdacf5aede9683f5962c464e")
  ("emacs-which-key" . "42a25055163141165aa0269dbca69735e704825c")
- ("emacsmirror-mirror" . "a77f7e41a9bf5735b3dc6adf76c32859c9449f6a")
+ ("emacsmirror-mirror" . "eac41b41e76db637f14c1d18bdd36b1a58c32388")
  ("emacsql" . "a118b6c95af1306f0288a383d274b5dd93efbbda")
  ("emmet-mode" . "1acb821e0142136344ccf40c1e5fb664d7db2e70")
  ("epl" . "78ab7a85c08222cd15582a298a364774e3282ce6")
@@ -33,9 +35,9 @@
  ("expand-region.el" . "1c31447730443d98f90f65dfcb752f347d46ad1b")
  ("exwm" . "97249a9786b08f11b0df0d0cae8ca02d47786625")
  ("exwm-edit" . "80c1cbecafde96a59e620d8fa7e5510a5a7bbd3d")
- ("f.el" . "8191672377816a1975414cc1f116fd3b94b30bd0")
- ("flycheck" . "e8995f66195e72fb1c52979cb32c683ec968cb53")
- ("forge" . "277fe81aee6a14bfe74ddf348d321873f63ab99e")
+ ("f.el" . "1814209e2ff43cf2e6d38c4cd476218915f550fb")
+ ("flycheck" . "823095fa76503e44bea2e3851ae34a32bf44a221")
+ ("forge" . "853d0cf257050437fe4c1299af6e02143680e9d7")
  ("geiser" . "957d4757e48a415c369010011860a71302e5eba5")
  ("george-mode" . "e377ef5bd21783046fc5d02dd4fdc695e9baccc7")
  ("ghub" . "688267425e24c0e3b99b1dd2546c830a7a332411")
  ("gnu-elpa-mirror" . "aff85e0b92a41ee6efce6caf35277bc1ed11ff74")
  ("go-mode.el" . "dac200f7a8de7bf22793d39b5dd46756cbadb295")
  ("guix.el" . "97670a52c680eba82b4569df233616bc43dc72b4")
- ("helm" . "70ba80ffeee9593ee15d2b71bb3f0a5a3a501ae0")
+ ("helm" . "cb0a297bfd20fce9dfe0f16785e5426d386dd7e9")
  ("helm-bibtex" . "d4471232be26793fbf56c0ac3690b5f537c378b9")
  ("helpful" . "e2609e4ae9e058bd8be6239681b2f22195628f28")
  ("hl-todo" . "6c79749236c8da28183092607f824727464079fd")
- ("hydra" . "91f961d5d5e49765247e6e376c57bb695c9d4e17")
+ ("hydra" . "49bef08465c1ef1d36ef1a3785404eae2e132b74")
+ ("ido-completing-read-plus" . "74861eabd0a2619be9efc4c91fe0c5e69db5f263")
+ ("ido-vertical-mode.el" . "16c4c1a112796ee0bcf401ea39d3e2643a89feaf")
  ("key-chord" . "72443e9ff3c4f1c3ccaced3130236801efde3d83")
  ("lean-mode" . "b5ba739f68ef731c03247bf6db2708502c8ac46c")
  ("let-alist" . "57561d7d9267da48e8b7ab1f3bd45c9d05951289")
  ("log4e" . "c69424e407be0d9d0e54b427d8b18b1ac5a607e2")
  ("loop.el" . "e22807f83a0890dc8a904c51ee0742c34efccc6c")
- ("magit" . "a2168f9ed92d90888f43cd9e88ff9d46673120dd")
+ ("magit" . "a02dde9417bf40ed4831686be9a525bfd95290e5")
  ("magit-popup" . "4250c3a606011e3ff2477e3b5bbde2b493f3c85c")
  ("markdown-mode" . "f3c54e34cc5228001af36a5301883325319f21d4")
- ("melpa" . "f96a50861bdb87133690d64af85e132cc504f13c")
+ ("melpa" . "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7")
  ("message-x" . "5524de7bbfdd8749c110f48de5afb024d9f83133")
  ("minions" . "ca6a3e77ddbd19cdf363ea71ba357096395a5de5")
  ("multiple-cursors.el" . "b9b851a7670f4348f3a08b11ef12ed99676c8b84")
  ("mwim.el" . "b4f3edb4c0fb8f8b71cecbf8095c2c25a8ffbf85")
- ("no-littering" . "53f57c67265703cf28fd613ed34120da68579df4")
+ ("no-littering" . "00bbccb04e23e5375ceb5db0e9f21ecd1cece64e")
  ("oddmuse-curl" . "167520342f206c6451344d271e66f0f520664021")
  ("org" . "a01a8f55d8bf259ebecc050c162c48e29da13bee")
  ("org-pdftools" . "c48942e616bef7dcf477a0df4e2982e325f8f646")
  ("seq" . "095fb15a3baa082079799dd36b6caccdb062cb90")
  ("shrink-path.el" . "c14882c8599aec79a6e8ef2d06454254bb3e1e41")
  ("smart-mode-line" . "999be065b195f2eddb4e1b629f99038d832d44b7")
- ("smex" . "55aaebe3d793c2c990b39a302eb26c184281c42c")
  ("soap-client" . "9e77b71a551f68d7e02290cb81ff0ddd328c20c0")
- ("straight.el" . "6649858bdb76d0c557bf46c93b3a2eb539cec750")
- ("swiper" . "e598b044e2728f5e3b163db99c0f0c4d7c56c6e4")
+ ("straight.el" . "4f954b93f2b951bd7d66e3b8748da987d2877886")
+ ("swiper" . "5e393b0b3d47051c024e6d705516b17aacc5010d")
  ("switch-buffer-functions-el" . "b8d8e01e21ae8c8c84234dddeb3cc8250814f7ba")
  ("tablist" . "8079801527da1f596bc942162026328d7bdf6ad9")
- ("transient" . "79a72db95f2fc2abbd934eeb245b735d971a2512")
- ("treepy.el" . "0ed6c36e89cbb8a59a14a95463461d77c4e5e3ec")
+ ("transient" . "f820ccc6b989a3cf3ff5b10a0d7d1bcf3717d29b")
+ ("treepy.el" . "306f7031d26e4ebfc9ff36614acdc6993f3e23c3")
  ("typoel" . "9dad93b6f367f02f52c8d9bf15d446d922cec294")
  ("unkillable-scratch" . "b24c2a760529833f230c14cb02ff6e7ec92288ab")
- ("use-package" . "4714d73b61bdb378f6e9e3f3838cae1abbf65ea0")
+ ("use-package" . "df2528cd5116cdf2885f6f497511bf0946fe0825")
  ("web-mode" . "cd000fcfce97152f8b831b7eef4ea0d0b1eed11a")
  ("with-editor" . "53dcd4d09924b0ae2908b417fe817dc5c6d90f20")
  ("xelb" . "5970017d9b35e838eb02ead9dece3998ea5375ae")