#+title:    :lang crystal
#+subtitle: Ruby at the speed of C
#+created:  January 16, 2017
#+since:    1.3

* Description :unfold:
This modules adds [[https://crystal-lang.org/][crystal]] support.

- Syntax-checking (~flycheck~)
- REPL (~inf-crystal~)

** Maintainers
This module has no dedicated maintainers.

** Module flags
/This module has no flags./

** Packages
- [[doom-package:crystal-mode]]
- [[doom-package:inf-crystal]]
- if [[doom-module::checkers syntax]]
  - [[doom-package:flycheck-ameba]]
  - [[doom-package:flycheck-crystal]]

** Hacks
/No hacks documented for this module./

** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./

* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]

This module requires:
- [[https://crystal-lang.org/install/][The crystal compiler]]
- [[https://github.com/crystal-community/icr][ICR]], for the REPL

** Crystal
- MacOS: ~$ brew install crystal~
- Arch Linux: ~$ pacman -S crystal shards~

** ICR (REPL)
[[https://github.com/crystal-community/icr#installation][Installation instructions]].

* TODO Usage
#+begin_quote
 󱌣 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote

** formatter
By enabling [[doom-module::editor format]], [[doom-package:apheleia]] will be
used to format the current buffer.

Enable [[doom-module::editor format +onsave]] to format the buffer on save.

* TODO Configuration
#+begin_quote
 󱌣 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
#+end_quote

* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]

* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]

* TODO Appendix
#+begin_quote
 󱌣 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote
