2022-03-28 15:03:21 +02:00
|
|
|
#+title: :lang nim
|
|
|
|
#+subtitle: Python + lisp at the speed of C
|
|
|
|
#+created: May 08, 2018
|
|
|
|
#+since: 21.12.0 (#568)
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* Description :unfold:
|
|
|
|
This module adds [[https://nim-lang.org][Nim]] support to Doom Emacs.
|
|
|
|
|
2022-09-26 02:19:42 +08:00
|
|
|
- Code completion ([[doom-package:nimsuggest]] + [[doom-package:company]])
|
|
|
|
- Syntax checking ([[doom-package:nimsuggest]] + [[doom-package:flycheck]])
|
|
|
|
- Org babel support ([[doom-package:ob-nim]])
|
2021-10-16 01:28:32 +02:00
|
|
|
|
|
|
|
** Maintainers
|
|
|
|
*This module needs a maintainer.* [[doom-contrib-maintainer:][Become a maintainer?]]
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** Module flags
|
|
|
|
/This module has no flags./
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** Packages
|
2022-09-26 02:19:42 +08:00
|
|
|
- [[doom-package:flycheck-nim]] if [[doom-module::checkers syntax]]
|
|
|
|
- [[doom-package:nim-mode]]
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** Hacks
|
2022-09-26 02:19:42 +08:00
|
|
|
- [[doom-package:nimsuggest]] was modified to strip invalid characters from its temp file paths
|
2021-10-16 01:28:32 +02:00
|
|
|
(which would break nimsuggest on Windows systems).
|
2022-09-26 02:19:42 +08:00
|
|
|
- [[doom-package:nim-mode]] was modified to fail gracefully if =nimsuggest= (the executable)
|
2021-10-16 01:28:32 +02:00
|
|
|
isn't available.
|
2018-05-09 10:20:29 +02:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
** TODO Changelog
|
|
|
|
# This section will be machine generated. Don't edit it by hand.
|
|
|
|
/This module does not have a changelog yet./
|
2018-05-09 10:20:29 +02:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* Installation
|
|
|
|
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
|
|
|
|
|
|
|
|
This module requires:
|
|
|
|
- ~nim~, for building & evaluation.
|
|
|
|
- ~nimsuggest~, for code completion, syntax checking, and jump-to-definition
|
|
|
|
functionality.
|
2018-05-08 11:50:12 -03:00
|
|
|
|
|
|
|
** Nim
|
2018-05-09 10:20:29 +02:00
|
|
|
=choosenim= is an installer and version manager for the Nim programming
|
|
|
|
language. You can install the latest stable release of Nim by running the
|
|
|
|
following in your terminal and following the onscreen instructions:
|
2021-10-16 01:28:32 +02:00
|
|
|
#+begin_src sh
|
2018-05-09 10:20:29 +02:00
|
|
|
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
|
2021-10-16 01:28:32 +02:00
|
|
|
#+end_src
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2018-05-09 10:20:29 +02:00
|
|
|
Alternatively, nim is usually available through your OS's package manager:
|
2021-10-16 01:28:32 +02:00
|
|
|
- MacOS: ~$ brew install nim~
|
|
|
|
- Arch Linux: ~$ pacman --needed --noconfirm -S nim nimble~
|
|
|
|
- openSUSE: ~$ zypper install nim~
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2022-11-19 14:31:53 +00:00
|
|
|
** Formatter
|
|
|
|
|
|
|
|
Formatting is handled using the [[doom-module::editor format]] module via [[https://github.com/FedericoCeratto/nimfmt#installation][nimfmt]].
|
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* TODO Usage
|
|
|
|
#+begin_quote
|
|
|
|
🔨 This module has no usage documentation yet. [[doom-contrib-module:][Write some?]]
|
|
|
|
#+end_quote
|
|
|
|
|
|
|
|
* TODO Configuration
|
|
|
|
#+begin_quote
|
|
|
|
🔨 This module has no configuration documentation yet. [[doom-contrib-module:][Write some?]]
|
|
|
|
#+end_quote
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* Troubleshooting
|
|
|
|
/There are no known problems with this module./ [[doom-report:][Report one?]]
|
2018-05-08 11:50:12 -03:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* Frequently asked questions
|
|
|
|
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]
|
2019-08-27 10:50:37 +02:00
|
|
|
|
2021-10-16 01:28:32 +02:00
|
|
|
* TODO Appendix
|
|
|
|
#+begin_quote
|
|
|
|
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
|
|
|
|
#+end_quote
|