-
Notifications
You must be signed in to change notification settings - Fork 0
/
kitten-clojure.el
70 lines (56 loc) · 1.85 KB
/
kitten-clojure.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
;;; kitten-clojure.el --- Clojure config for kitten -*- lexical-binding: t -*-
;;; Commentary:
;; Package-Requires: ((use-package) (cider) (flycheck) (lsp-mode))
;;; Code:
(require 'use-package)
(require 'reflex)
(require 'bind-key)
(use-package flycheck
:init
(setq flycheck-emacs-lisp-load-path 'inherit)
(global-flycheck-mode))
(use-package flycheck-clj-kondo
:after flycheck)
(use-package clojure-mode
:magic ("^#![^\n]*/\\(clj\\|clojure\\|bb\\|lumo\\)" . clojure-mode)
:init
(add-to-list 'auto-mode-alist '("\\.ednl$" . clojure-mode))
:config
(setq clojure-toplevel-inside-comment-form t)
(bind-keys
:map clojure-mode-map
;; disable vertical aligning of forms on a shortcut i accidentally press a lot
("C-c SPC" . nil)))
(use-package cider
:config
(require 'flycheck-clj-kondo))
(defvar kitten-clojure/connect (make-sparse-keymap))
(define-prefix-command 'kitten-clojure/connect)
(bind-keys
:map kitten-clojure/connect
("c" . cider-connect-clj)
("C" . cider-connect-cljs))
(reflex/provide-signals
clojure-mode-map
(:eval/buffer cider-eval-buffer)
(:eval/defun cider-eval-defun-at-point)
(:eval/last-sexp cider-eval-last-sexp)
(:eval/macroexpand-last-sexp cider-macroexpand-all)
(:eval/pprint-last-sexp cider-pprint-eval-last-sexp)
(:eval/replace-last-sexp cider-eval-last-sexp-and-replace)
(:eval/last-sexp-to-comment cider-pprint-eval-last-sexp-to-comment)
(:repl/jack-in sesman-start)
(:repl/connect kitten-clojure/connect)
(:repl/quit sesman-quit)
(:repl/switch-to cider-switch-to-repl-buffer)
(:repl/goto-defun cider-find-var)
(:repl/doc-view cider-doc)
(:repl/doc-apropos cider-apropos))
(reflex/provide-signals
cider-repl-mode-map
(:repl/clear cider-repl-clear-buffer)
(:repl/interrupt cider-interrupt)
(:repl/jack-in sesman-start)
(:repl/quit sesman-quit))
(provide 'kitten-clojure)
;;; kitten-clojure.el ends here