summaryrefslogtreecommitdiff
path: root/emacs/.config/emacs/lisp/kj-development.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/.config/emacs/lisp/kj-development.el')
-rw-r--r--emacs/.config/emacs/lisp/kj-development.el65
1 files changed, 52 insertions, 13 deletions
diff --git a/emacs/.config/emacs/lisp/kj-development.el b/emacs/.config/emacs/lisp/kj-development.el
index aefba85..6101e28 100644
--- a/emacs/.config/emacs/lisp/kj-development.el
+++ b/emacs/.config/emacs/lisp/kj-development.el
@@ -1,16 +1,28 @@
;;; -*- lexical-binding: t; -*-
(setq tab-stop-list (number-sequence 4 200 4))
-(use-package eglot :elpaca nil
+(use-package eglot :ensure t
:config
- (setq eglot-events-buffer-size 0))
+ ;;;(setq eglot-events-buffer-size 0)
+ )
+
+(use-package puni
+ :defer t
+ :init
+ (puni-global-mode)
+ (electric-pair-mode 1)
+ :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
@@ -68,11 +80,6 @@
;; (add-hook 'eglot-managed-mode-hook (lambda () (eldoc-mode -1)))
)
-(use-package markdown-mode
- :ensure t
- :mode ("README\\.md\\'" . gfm-mode)
- :init (setq markdown-command "multimarkdown"))
-
(use-package nix-mode
:mode "\\.nix\\'")
@@ -97,8 +104,8 @@
(use-package yaml-mode
:mode "\\.\(yml|yaml\)\\'")
-;; (use-package ansi-color
-;; :hook (compilation-filter . ansi-color-compilation-filter))
+(use-package ansi-color :ensure nil
+ :hook (compilation-filter . ansi-color-compilation-filter))
(use-package diff-hl
:config
@@ -116,8 +123,40 @@
(use-package ess)
-(use-package sly
- :custom
- (inferior-lisp-program "sbcl"))
+;; (use-package sly
+;; :custom
+;; (inferior-lisp-program "sbcl"))
+
+(use-package emacs :ensure nil
+ :defer 1
+ :after consult
+ :init
+ (when-let ((slime-helper (expand-file-name "~/.cache/quicklisp/slime-helper.el"))
+ ((file-exists-p slime-helper)))
+ (load slime-helper)
+ (setopt inferior-lisp-program "sbcl")
+ (defvar kj/slime-history-ring nil)
+ (defvar kj/slime-history-index nil)
+ (add-to-list 'consult-mode-histories
+ '(slime-repl-mode slime-repl-input-history
+ slime-repl-input-history-position
+ beginning-of-line))
+ (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)