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)