From 16302df20a1559b8d26f84d87268e891687afb63 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Mon, 17 Aug 2020 13:23:54 -0400 Subject: feat(gs/emacs): Extract lisp config Change-Id: I278c79e6e59c18c2f0e2d5307eefd9ff3c92a4be Reviewed-on: https://cl.tvl.fyi/c/depot/+/1766 Reviewed-by: glittershark Tested-by: BuildkiteCI --- users/glittershark/emacs.d/+bindings.el | 10 +++------ users/glittershark/emacs.d/config.el | 1 + users/glittershark/emacs.d/lisp.el | 38 +++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 users/glittershark/emacs.d/lisp.el (limited to 'users') diff --git a/users/glittershark/emacs.d/+bindings.el b/users/glittershark/emacs.d/+bindings.el index 151161814f..cb9703e766 100644 --- a/users/glittershark/emacs.d/+bindings.el +++ b/users/glittershark/emacs.d/+bindings.el @@ -1192,7 +1192,7 @@ If invoked with a prefix ARG eval the expression after inserting it" "c" (general-key-dispatch 'evil-change "p" (general-key-dispatch 'sly-eval ;; "p" 'eval-sexp-at-point - "c" 'sly-pprint-eval-last-expression + "c" 'sly-eval-last-expression "d" 'sly-eval-defun ;; "r" 'cider-test-run-test ) @@ -1243,7 +1243,7 @@ If invoked with a prefix ARG eval the expression after inserting it" (s-replace "\"" "") (s-replace "\\n" "\n"))))) nil nil nil))) - ('clj + (('clj 'multi) (funcall-interactively #'cider-test-run-ns-tests nil)))) @@ -1407,8 +1407,4 @@ If invoked with a prefix ARG eval the expression after inserting it" (:localleader :n "a" #'lsp-execute-code-action)) - (:map sly-mode-map - :n "g \\" #'sly-mrepl - :n "g d" #'sly-edit-definition - :n "K" #'sly-documentation - :n "g SPC" #'sly-eval-buffer)) + ) diff --git a/users/glittershark/emacs.d/config.el b/users/glittershark/emacs.d/config.el index 054f954287..91100017c3 100644 --- a/users/glittershark/emacs.d/config.el +++ b/users/glittershark/emacs.d/config.el @@ -30,6 +30,7 @@ (load! "nix") (load! "email") (load! "cpp") +(load! "lisp") (require 's) (require 'tvl) diff --git a/users/glittershark/emacs.d/lisp.el b/users/glittershark/emacs.d/lisp.el new file mode 100644 index 0000000000..e18a1609b2 --- /dev/null +++ b/users/glittershark/emacs.d/lisp.el @@ -0,0 +1,38 @@ +;;; ~/code/depot/users/glittershark/emacs.d/lisp.el -*- lexical-binding: t; -*- + +(defun grfn/sly-panettone () + (interactive) + (sly + (concat + (s-trim + (shell-command-to-string + "nix-build -o sbcl -E 'with import ~/code/depot {}; nix.buildLisp.sbclWith [web.panettone]'")) + "/bin/sbcl"))) + +(defun grfn/setup-lisp () + (interactive) + (unless paxedit-mode (paxedit-mode 1)) + (rainbow-delimiters-mode) + (flycheck-mode -1)) + +(add-hook 'common-lisp-lisp-mode-hook #'grfn/setup-lisp) + +(defun sly-run-tests () + (interactive) + ;; TODO: handle other test frameworks + (let ((orig-window (get-buffer-window))) + (sly-eval '(fiveam:run!)) + (funcall-interactively #'sly-mrepl-sync) + (select-window orig-window))) + +(map! + (:map sly-mode-map + :n "g \\" #'sly-mrepl-sync + :n "g d" #'sly-edit-definition + :n "K" #'sly-documentation + :n "g SPC" #'sly-compile-and-load-file + :n "g RET" #'sly-run-tests) + + (:map sly-mrepl-mode-map + "C-k" #'sly-mrepl-previous-prompt + "C-r" #'isearch-backward)) -- cgit 1.4.1