diff --git a/lisp/icejam-completing-read.el b/lisp/icejam-completing-read.el index e94c172..5397a69 100644 --- a/lisp/icejam-completing-read.el +++ b/lisp/icejam-completing-read.el @@ -7,39 +7,47 @@ (use-package vertico :straight t :defer t :init + (defun icejam-vertico-next-page () + (interactive) + (vertico-next 15)) + (defun icejam-vertico-previous-page () + (interactive) + (vertico-previous 15)) (vertico-mode) :custom (vertico-scroll-margin 0) ;; Different scroll margin - (vertico-count 15) ;; Show more candidates - (vertico-resize t) ;; Grow and shrink the Vertico minibuffer + (vertico-count 15) ;; Show more candidates + (vertico-resize t) ;; Grow and shrink the Vertico minibuffer (vertico-cycle t) ;; Enable cycling for `vertico-next/previous') - ) + :bind (:map vertico-map + ("" . icejam-vertico-next-page) + ("" . icejam-vertico-previous-page))) -;; A few more useful configurations... -(use-package emacs - :custom - ;; Support opening new minibuffers from inside existing minibuffers. - (enable-recursive-minibuffers t) - ;; Hide commands in M-x which do not work in the current mode. Vertico - ;; commands are hidden in normal buffers. This setting is useful beyond - ;; Vertico. - (read-extended-command-predicate #'command-completion-default-include-p) - :init - ;; Add prompt indicator to `completing-read-multiple'. - ;; We display [CRM], e.g., [CRM,] if the separator is a comma. - (defun crm-indicator (args) - (cons (format "[CRM%s] %s" - (replace-regexp-in-string - "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" "" - crm-separator) - (car args)) - (cdr args))) - (advice-add #'completing-read-multiple :filter-args #'crm-indicator) +;; Support opening new minibuffers from inside existing minibuffers. +(setq enable-recursive-minibuffers t) + +;; Hide commands in M-x which do not work in the current mode. Vertico +;; commands are hidden in normal buffers. This setting is useful beyond +;; Vertico. +(setq read-extended-command-predicate #'command-completion-default-include-p) + +;; Add prompt indicator to `completing-read-multiple'. +;; We display [CRM], e.g., [CRM,] if the separator is a comma. +(defvar crm-separator) +(defun crm-indicator (args) + "Add prompt indicator. Use ARGSs later." + (cons (format "[CRM%s] %s" + (replace-regexp-in-string + "\\`\\[.*?]\\*\\|\\[.*?]\\*\\'" "" + crm-separator) + (car args)) + (cdr args))) +(advice-add #'completing-read-multiple :filter-args #'crm-indicator) ;; Do not allow the cursor in the minibuffer prompt - (setq minibuffer-prompt-properties - '(read-only t cursor-intangible t face minibuffer-prompt)) - (add-hook 'minibuffer-setup-hook #'cursor-intangible-mode)) +(setq minibuffer-prompt-properties + '(read-only t cursor-intangible t face minibuffer-prompt)) +(add-hook 'minibuffer-setup-hook #'cursor-intangible-mode) ;; Optionally use the `orderless' completion style. (use-package orderless :straight t :defer t diff --git a/lisp/icejam-custom-init.el b/lisp/icejam-custom-init.el index ea10f44..619111d 100644 --- a/lisp/icejam-custom-init.el +++ b/lisp/icejam-custom-init.el @@ -64,7 +64,7 @@ ;; Actual supported languages and file syntax. (require 'icejam-lang-clang) (require 'icejam-lang-clojure) -(require 'icejam-lang-common-lisp) +;; (require 'icejam-lang-common-lisp) ;; I don't use common lisp often, so let's not load. (require 'icejam-lang-dart) (require 'icejam-lang-dhall) (require 'icejam-lang-elisp) diff --git a/straight/versions/default.el b/straight/versions/default.el index 3f76393..b3ae54f 100644 --- a/straight/versions/default.el +++ b/straight/versions/default.el @@ -8,7 +8,7 @@ ("bui.el" . "f3a137628e112a91910fd33c0cff0948fa58d470") ("caml-mode" . "47defafa2b08fb680e89bfee9cb9ce82bd9e3bcf") ("cfrs" . "f3a21f237b2a54e6b9f8a420a9da42b4f0a63121") - ("cider" . "ced9f25cb67fe1fca32f04f77a8ef7c114ccc4e5") + ("cider" . "7b051c4298816fdb70f3d301f0840379e28eca63") ("clj-refactor.el" . "dc1bbc8cdaa723bdbb6669ea7d280625c370755d") ("clojure-mode" . "59888c84b61081e9b0085e388f55132925a66e7a") ("color-theme-sanityinc-tomorrow" . "ddf2920a8866040e57359d2e1c5517fffcad2e38") @@ -28,7 +28,7 @@ ("diminish.el" . "fbd5d846611bad828e336b25d2e131d1bc06b83d") ("docker.el" . "6f8bba0d11a5143872dfc25afdabe16cae410d11") ("dockerfile-mode" . "4d893bd2da15833ce056332e6c972d5d93e78f04") - ("dune" . "5effa15c506ae641d8cf7361db10ceb346d4e9e8") + ("dune" . "dbd844875144771b0dc6a4c236337bd97cddb848") ("easy-kill" . "de7d66c3c864a4722a973ee9bc228a14be49ba0c") ("editorconfig-emacs" . "648f0cf9aeb72db77b252832a58367332b7bc055") ("el-get" . "847901f07bdf67763fa3a6c0fb057048cd58603b") @@ -36,6 +36,7 @@ ("elisp-refs" . "541a064c3ce27867872cf708354a65d83baf2a6d") ("elisp-tree-sitter" . "3cfab8a0e945db9b3df84437f27945746a43cc71") ("elixir-ts-mode" . "b35c983f551ccf821ebebad50747b5b417133e52") + ("elysium" . "2501a9907875727544d3bdd0fb141dcf968017ad") ("emacs" . "4441d5114fdcc2eb05186a974b4bbad7224e43b5") ("emacs-aio" . "da93523e235529fa97d6f251319d9e1d6fc24a41") ("emacs-ansible" . "e171dacc12eeaba5dbd7fd887f94d11b357fe958") @@ -49,7 +50,7 @@ ("emacs-reformatter" . "f13f5b4ce51db95ea317d57a83be0358bbf3ec30") ("emacs-theme-darktooth" . "c329f8b2c88ff8ce803ee7e0ab215d68a1538a75") ("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500") - ("emacsmirror-mirror" . "f206281727dce5b3b6997be43e5987ba125a901b") + ("emacsmirror-mirror" . "2103f028d25bfca16f16cc201caef75a16ee93eb") ("exec-path-from-shell" . "72ede29a0e0467b3b433e8edbee3c79bab005884") ("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52") ("flycheck" . "5217e0e02f487d70e3d418e5e6ce884fc9711511") @@ -89,12 +90,11 @@ ("lsp-treemacs" . "fb1a07ae0a3d781dea8ac78da2933e0173eb48a4") ("lsp-ui" . "072bb29152038518c2478813b82c8d04d07df84c") ("lua-mode" . "d074e4134b1beae9ed4c9b512af741ca0d852ba3") - ("macrostep" . "4939d88779761e8b5461b4cf73f86600172987db") ("magit" . "7c842b8ac0a904049fc68b321b47e42d642e5c51") ("map" . "cc174d5d2b3f9dacc31e9c55da1c80eb5f49c112") ("marginalia" . "be2e57efff640880251c082ac93bd365b7202e6a") ("markdown-mode" . "6102ac5b7301b4c4fc0262d9c6516693d5a33f2b") - ("melpa" . "04fdd633207a28b91f0a6e64aa25d114ab229a13") + ("melpa" . "da35f12c860f23961f46eb5ff22e526d6fa6fb6f") ("merlin" . "0821c50b5b0bea8e3b4cb2878004466a9a993178") ("modus-themes" . "613f95341246746c3def202e67b27a315560d6f4") ("multiple-cursors.el" . "c870c18462461df19382ecd2f9374c8b902cd804") @@ -102,7 +102,7 @@ ("nongnu-elpa" . "4b8b3633c7e29412c89f1c9d6ad7a951772be758") ("opam-switch-mode" . "1069e56a662f23ea09d4e05611bdedeb99257012") ("orderless" . "96b74d2450ab4ab1a175d0e86c62f6695c4709b5") - ("otp" . "12fa6666fa14debc0b63b2976d1db7c170150701") + ("otp" . "915b6a4b7ede06305233d463766ef7aab16ecb85") ("paredit" . "037b9b8acbca75151f133b6c0f7f3ff97d9042e5") ("parseclj" . "6af22372e0fe14df882dd300b22b12ba2d7e00b0") ("parseedn" . "3407e4530a367b6c2b857dae261cdbb67a440aaa") @@ -122,8 +122,6 @@ ("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d") ("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00") ("sesman" . "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022") - ("slime" . "f475feca0f0f9d9e59d644f848064dcb9b96e314") - ("slime-company" . "f20ecc4104d4c35052696e7e760109fb02060e72") ("spaceline" . "086420d16e526c79b67fc1edec4c2ae1e699f372") ("speed-type" . "b982ee6081a11837760eeaed73c4f413eefb07b1") ("spinner" . "fa117f0893788f3fe24673715a6b83bb34d238dd")