From 14138360d513c24a60c05699fff5006aa63288ec Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Sat, 2 Mar 2024 19:11:11 -0500 Subject: add puni --- emacs/.config/emacs/init.el | 1 + emacs/.config/emacs/lisp/kj-development.el | 41 +++++++++++++++++++++++++++--- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el index ddc40f1..9d07662 100644 --- a/emacs/.config/emacs/init.el +++ b/emacs/.config/emacs/init.el @@ -38,3 +38,4 @@ (cl-loop for path in (directory-files kj/module-directory) if (string-match "\\([^/]*\\).el" path) do (require (intern (match-string-no-properties 1 path)))) +(put 'set-goal-column 'disabled nil) diff --git a/emacs/.config/emacs/lisp/kj-development.el b/emacs/.config/emacs/lisp/kj-development.el index aefba85..8db2225 100644 --- a/emacs/.config/emacs/lisp/kj-development.el +++ b/emacs/.config/emacs/lisp/kj-development.el @@ -5,12 +5,22 @@ :config (setq eglot-events-buffer-size 0)) +(use-package puni + :defer t + :init + (puni-global-mode) + :config + (keymap-set puni-mode-map "C-w" nil) + :bind + (("C-" . puni-slurp-forward) + ("C-" . puni-slurp-backward))) + (add-hook 'prog-mode-hook 'subword-mode) ;; Only used to get better eglot snippets. (use-package yasnippet :config - (add-to-list 'yas-snippet-dirs (expand-file-name "yasnippets" user-emacs-directory)) + ;;(add-to-list 'yas-snippet-dirs (expand-file-name "yasnippets" user-emacs-directory)) (yas-global-mode)) (use-package tempel @@ -116,8 +126,33 @@ (use-package ess) -(use-package sly +;; (use-package sly +;; :custom +;; (inferior-lisp-program "sbcl")) + +(use-package slime :custom - (inferior-lisp-program "sbcl")) + (inferior-lisp-program "sbcl") + :config + (load (expand-file-name "~/.cache/quicklisp/slime-helper.el")) + ;; Replace "sbcl" with the path to your implementation + (setq inferior-lisp-program "sbcl") + (slime-setup '(slime-fancy slime-asdf))) + +(use-package exercism) +(defun kj/run-exercism-test () + (interactive) + (let* ((directory default-directory) + (exercise + (and (string-match (rx (* anychar) "/" (group (+ (not "/"))) "/" eol) + directory) + (match-string 1 directory))) + (test-file (concat directory exercise "-test.lisp"))) + (unless (file-exists-p test-file) + (error "Not found: %s" test-file)) + (slime-switch-to-output-buffer) + (slime-cd directory) + (slime-load-file test-file) + (slime-eval (list (intern (concat exercise "-test:run-tests")))))) (provide 'kj-development) -- cgit v1.2.3