summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Szarmanski2022-09-29 18:40:33 +0200
committerPiotr Szarmanski2022-09-29 18:40:33 +0200
commit55091f3d0a8ce3539d2212c63fdd9abce36c6284 (patch)
tree0490fdbd6e43c2a89ae870ff5de3a2dbf9168544
parentcf24378b739cc6f0c7e0de28daafef2e3cbd62ca (diff)
Add skeletons.
-rw-r--r--config.org77
1 files changed, 75 insertions, 2 deletions
diff --git a/config.org b/config.org
index e9f8256..ecf9932 100644
--- a/config.org
+++ b/config.org
@@ -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