changelog shortlog graph tags branches files raw help

Mercurial > core / changeset: capf work

changeset 620: 671f87e36e07
parent 619: 35a579313b80
child 621: d7f04a773c60
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 23 Aug 2024 19:01:57 -0400
files: emacs/default.el emacs/lib/inbox.el lisp/lib/dat/pkg.lisp
description: capf work
     1.1--- a/emacs/default.el	Thu Aug 22 22:12:51 2024 -0400
     1.2+++ b/emacs/default.el	Fri Aug 23 19:01:57 2024 -0400
     1.3@@ -124,52 +124,36 @@
     1.4 (add-to-list 'exec-path "/usr/local/share/lisp/bin/")
     1.5 
     1.6 ;;; Completions
     1.7-;; (use-package corfu
     1.8-;;   :init (global-corfu-mode))
     1.9-
    1.10-(use-package cape
    1.11-  :bind (("C-c p p" . completion-at-point) ;; capf
    1.12-         ("C-c p t" . complete-tag)        ;; etags
    1.13-         ("C-c p d" . cape-dabbrev)        ;; or dabbrev-completion
    1.14-         ("C-c p h" . cape-history)
    1.15-         ("C-c p f" . cape-file)
    1.16-         ("C-c p k" . cape-keyword)
    1.17-         ("C-c p s" . cape-elisp-symbol)
    1.18-         ("C-c p e" . cape-elisp-block)
    1.19-         ("C-c p a" . cape-abbrev)
    1.20-         ("C-c p l" . cape-line)
    1.21-         ("C-c p w" . cape-dict)
    1.22-         ("C-c p :" . cape-emoji)
    1.23-         ("C-c p \\" . cape-tex)
    1.24-         ("C-c p _" . cape-tex)
    1.25-         ("C-c p ^" . cape-tex)
    1.26-         ("C-c p &" . cape-sgml)
    1.27-         ("C-c p r" . cape-rfc1345))
    1.28-  :config
    1.29-  ;; Add to the global default value of `completion-at-point-functions' which is
    1.30-  ;; used by `completion-at-point'.  The order of the functions matters, the
    1.31-  ;; first function returning a result wins.  Note that the list of buffer-local
    1.32-  ;; completion functions takes precedence over the global list.
    1.33-  (add-to-list 'completion-at-point-functions #'cape-dabbrev)
    1.34-  (add-to-list 'completion-at-point-functions #'cape-abbrev)
    1.35-  ;; (add-to-list 'completion-at-point-functions #'cape-history)
    1.36-  ;; (add-to-list 'completion-at-point-functions #'cape-keyword)
    1.37-  ;; (add-to-list 'completion-at-point-functions #'cape-file)
    1.38-  ;; (add-to-list 'completion-at-point-functions #'cape-line)
    1.39-  ;; (add-to-list 'completion-at-point-functions #'cape-elisp-block)
    1.40-  ;; (add-to-list 'completion-at-point-functions #'cape-tex)
    1.41-  ;; (add-to-list 'completion-at-point-functions #'cape-sgml)
    1.42-  ;; (add-to-list 'completion-at-point-functions #'cape-rfc1345)
    1.43-  (add-to-list 'completion-at-point-functions #'cape-dict)
    1.44-  ;; (add-to-list 'completion-at-point-functions #'cape-elisp-symbol)
    1.45-  ;; (add-to-list 'completion-at-point-functions #'cape-emoji)
    1.46-  )
    1.47-
    1.48+(use-package cape)
    1.49 (use-package orderless
    1.50   :ensure t
    1.51-  :custom
    1.52-  (completion-styles '(orderless basic partial-completion shorthand flex))
    1.53-  (completion-category-overrides '((file (styles basic partial-completion)))))
    1.54+  :init
    1.55+  (setq completion-styles '(orderless partial-completion basic)
    1.56+        completion-category-overrides '((file (styles basic partial-completion))
    1.57+                                        (eglot (styles orderless))
    1.58+                                        (eglot-capf (styles orderless)))))
    1.59+
    1.60+(use-package corfu
    1.61+  :ensure t
    1.62+  :config (global-corfu-mode)
    1.63+  (dolist (c (list (cons "SPC" " ")
    1.64+                 (cons "." ".")
    1.65+                 (cons "," ",")
    1.66+                 (cons ":" ":")
    1.67+                 (cons ")" ")")
    1.68+                 (cons "}" "}")
    1.69+                 (cons "]" "]")))
    1.70+  (define-key corfu-map (kbd (car c)) `(lambda ()
    1.71+                                         (interactive)
    1.72+                                         (corfu-insert)
    1.73+                                         (insert ,(cdr c)))))
    1.74+  (add-to-list 'completion-at-point-functions #'cape-dabbrev t)
    1.75+  (add-to-list 'completion-at-point-functions #'cape-abbrev t))
    1.76+
    1.77+(use-package vertico
    1.78+  :config (vertico-mode)
    1.79+  (keymap-set vertico-map "M-q" #'vertico-quick-insert)
    1.80+  (keymap-set vertico-map "C-q" #'vertico-quick-exit))
    1.81 
    1.82 ;;; Desktop
    1.83 (setopt desktop-dirname (expand-file-name "sessions" user-emacs-directory))
    1.84@@ -197,11 +181,12 @@
    1.85 ;;; Lisp
    1.86 (use-package slime
    1.87   :ensure t
    1.88+  :hook ((slime-repl-mode . #'slime-cape-maybe-enable)
    1.89+         (slime-mode . #'slime-cape-maybe-enable)
    1.90+         (sldb . #'slime-cape-maybe-enable))
    1.91   :init
    1.92-  (use-package slime-company
    1.93-    :ensure t)
    1.94+  (require 'slime-cape)
    1.95   (require 'slime-autoloads)
    1.96-  (require 'slime-cape)
    1.97   (setq slime-contribs '(slime-fancy
    1.98                          slime-quicklisp
    1.99                          slime-hyperdoc
   1.100@@ -226,12 +211,16 @@
   1.101   (defun slime-toggle ()
   1.102     "toggle between lisp file and slime-repl"
   1.103     (interactive)
   1.104-    (unless (slime-connected-p) (slime))
   1.105-    (if (eq major-mode 'slime-repl-mode)
   1.106-        (setq slime-toggle (pop-to-buffer (or slime-toggle (read-buffer "lisp file: "))))
   1.107-      (progn
   1.108+    (cond
   1.109+     ((eq major-mode 'slime-repl-mode)
   1.110+      (setq slime-toggle (pop-to-buffer (or slime-toggle (read-buffer "lisp buffer: ")))))
   1.111+     ((not (eq major-mode 'slime-repl-mode))
   1.112+      (if (slime-connected-p)
   1.113+          (progn
   1.114+            (setq slime-toggle (current-buffer))
   1.115+            (slime-switch-to-output-buffer))
   1.116         (setq slime-toggle (current-buffer))
   1.117-        (slime-repl))))
   1.118+        (slime)))))
   1.119 
   1.120   ;; X11-only (mcclim requires clx)
   1.121   (defun clouseau-inspect (string)
     2.1--- a/emacs/lib/inbox.el	Thu Aug 22 22:12:51 2024 -0400
     2.2+++ b/emacs/lib/inbox.el	Fri Aug 23 19:01:57 2024 -0400
     2.3@@ -94,6 +94,9 @@
     2.4 ;; (add-hook 'org-capture-mode-hook
     2.5 ;;           #'org-insert-logbook-drawer)
     2.6 
     2.7+(add-hook 'org-after-todo-state-change-hook #'org-id-get-create)
     2.8+(add-hook 'org-after-todo-state-change-hook #'org-expiry-insert-created)
     2.9+
    2.10 (add-hook 'org-capture-mode-hook
    2.11   #'org-id-get-create)
    2.12 
     3.1--- a/lisp/lib/dat/pkg.lisp	Thu Aug 22 22:12:51 2024 -0400
     3.2+++ b/lisp/lib/dat/pkg.lisp	Fri Aug 23 19:01:57 2024 -0400
     3.3@@ -49,7 +49,7 @@
     3.4   (:use :cl :std :dat/proto)
     3.5   (:export
     3.6    :ini-encode
     3.7-   :ini-decode)
     3.8+   :ini-decode))
     3.9 
    3.10 (defpackage :dat/toml
    3.11   (:use :cl :std :dat/proto :obj/time)