diff options
author | Piotr Szarmanski | 2022-09-29 18:40:33 +0200 |
---|---|---|
committer | Piotr Szarmanski | 2022-09-29 18:40:33 +0200 |
commit | 55091f3d0a8ce3539d2212c63fdd9abce36c6284 (patch) | |
tree | 0490fdbd6e43c2a89ae870ff5de3a2dbf9168544 | |
parent | cf24378b739cc6f0c7e0de28daafef2e3cbd62ca (diff) |
Add skeletons.
-rw-r--r-- | config.org | 77 |
1 files changed, 75 insertions, 2 deletions
@@ -566,6 +566,10 @@ heavier tasks (defalias 'open 'find-file-other-window) (defalias 'clear 'eshell/clear-scrollback) #+END_SRC +** Modules +#+begin_src emacs-lisp + (add-to-list 'eshell-modules-list 'eshell-tramp) +#+end_src ** Custom functions *** Open files as root #+BEGIN_SRC emacs-lisp @@ -904,8 +908,9 @@ FIXME, STUB, in source files. (add-hook 'lisp-interaction-mode-hook #'enable-paredit-mode) (add-hook 'scheme-mode-hook #'enable-paredit-mode) (add-hook 'sly-mrepl-mode-hook #'enable-paredit-mode) - (define-key paredit-mode-map (kbd "M-n") #'paredit-forward) - (define-key paredit-mode-map (kbd "M-p") #'paredit-backward)) + ;;(define-key paredit-mode-map (kbd "M-n") #'paredit-forward) + ;;(define-key paredit-mode-map (kbd "M-p") #'paredit-backward) + ) #+end_src ** Package =webjump-ido= #+begin_src emacs-lisp @@ -944,6 +949,9 @@ FIXME, STUB, in source files. #+begin_src emacs-lisp (use-package corfu :demand t + :custom + (corfu-auto t) + :config (global-corfu-mode 1) (defun corfu-enable-always-in-minibuffer () @@ -1061,6 +1069,9 @@ theme seems very pretty on the other hand. (list '(nnmaildir "feeds" (directory "~/news/mail/feeds/feeds") + (get-new-mail nil)) + '(nnmaildir "mimuw" + (directory "~/news/mail/mimuw/") (get-new-mail nil)))) (setq gnus-visible-headers "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?Cc:\\|^Posted-To:\\|^Mail-Copies-To:\\|^Mail-Followup-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent-From:\\|^Archived-At:") @@ -1178,3 +1189,65 @@ Make =q= kill the buffer in image-mode. (connection-local-set-profiles '(:application tramp :machine "ykonai.net") 'remote-path-guix) #+end_src +* Skeletons +All skeletons are under =insert/= functions. Use =C-c s=, which will prompt for +a skeleton to choose. +** asdf-system-def +Insert a simple template for the asdf =defsystem= form. Prompts for the system +name. +#+begin_src emacs-lisp + (define-skeleton insert/asdf-system-def + "Insert a basic asdf system definition." + "System name: " + "(defsystem \"" str "\"" \n + > ":author \"mail@ykonai.net\"" \n + > ":license \"LGPLv3 or later\"" \n + > ":depends-on ()"\n + > ":components" \n + > "((:module \"src\"" \n + > ":serial t" \n + > ":components ((:file \"package\"))))" \n + > ":in-order-to ((test-op (test-op :" str "/test))))" \n + \n + "(defsystem \"" str "/test\"" \n + > ":name \"" str "/test\"" + > ":depends-on (\"" str "\" \"fiveam\")" \n + > ":perform (test-op (op c)" \n + > "(symbol-call :fiveam :run! (find-symbol* :" str "-tests :" str "/test)))" \n + > ":components" \n + > "((:module \"tests\"" \n + > ":serial t" \n + > ":components ((:file \"package\")))))" + '(indent-region (buffer-end 0) (buffer-end 1))) + +#+end_src +** defpackage +Insert a simple defpackage form. Prompts for the package name. +#+begin_src emacs-lisp + (define-skeleton insert/defpackage + "Insert a simple defpackage form." + "(defpackage :" str \n + > "(:use common-lisp" _ ")" + > "(:export))") +#+end_src +** insert-/skeleton [C-c s] +#+begin_src emacs-lisp + (defvar insert-/skeleton-list nil + "A list of `insert/' skeleton function strings.") + + (setf insert-/skeleton-list + (let ((symbol-list nil)) + (mapatoms (lambda (sym) (when (string-prefix-p "insert/" (symbol-name sym)) + (setf symbol-list + (cons (string-trim-left (symbol-name sym) "insert/") symbol-list))))) + symbol-list)) + + (defun insert-/skeleton (skeleton) + "Prompt to insert one of the `insert/' skeleton functions." + (interactive + (list + (completing-read "Skeleton: " insert-/skeleton-list))) + (call-interactively (intern (concat "insert/" skeleton)))) + + (global-set-key (kbd "C-c s") 'insert-/skeleton) +#+end_src |