summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2024-03-02 19:11:11 -0500
committerKjetil Orbekk <kj@orbekk.com>2024-03-02 19:11:11 -0500
commit14138360d513c24a60c05699fff5006aa63288ec (patch)
tree78dad73eb1dc3ab0e83c2d226b9f923c045b37a5
parentfcb5fd84953d7ed9611e05ae1281e847061ba472 (diff)
add puniHEADmaster
-rw-r--r--emacs/.config/emacs/init.el1
-rw-r--r--emacs/.config/emacs/lisp/kj-development.el41
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-<right>" . puni-slurp-forward)
+ ("C-<left>" . 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)