32 lines
877 B
EmacsLisp
32 lines
877 B
EmacsLisp
;;; lang/crystal/config.el -*- lexical-binding: t; -*-
|
|
|
|
(after! crystal-mode
|
|
(set-lookup-handlers! 'crystal-mode
|
|
:definition #'crystal-def-jump
|
|
:references #'crystal-tool-imp)
|
|
(when (modulep! +lsp)
|
|
(add-hook 'crystal-mode-local-vars-hook #'lsp! 'append))
|
|
(map! :localleader
|
|
:map crystal-mode-map
|
|
:prefix "t"
|
|
"a" #'crystal-spec-all
|
|
"v" #'crystal-spec-buffer
|
|
"s" #'crystal-spec-line
|
|
"t" #'crystal-spec-switch))
|
|
|
|
|
|
(use-package! flycheck-crystal
|
|
:when (and (modulep! :checkers syntax)
|
|
(not (modulep! :checkers syntax +flymake)))
|
|
:after crystal-mode)
|
|
|
|
|
|
(use-package! flycheck-ameba
|
|
:when (and (modulep! :checkers syntax)
|
|
(not (modulep! :checkers syntax +flymake)))
|
|
:after crystal-mode
|
|
:config (flycheck-ameba-setup))
|
|
|
|
|
|
(use-package! inf-crystal
|
|
:commands crystal-switch-to-inf)
|