2022-03-28 15:03:21 +02:00
#+title : :lang solidity
#+subtitle : Do you need a blockchain? No.
#+created : May 19, 2018
#+since : 21.12.0 (#599)
2018-05-17 21:00:30 -05:00
2021-10-16 01:28:32 +02:00
* Description :unfold:
This module adds [[https://github.com/ethereum/solidity ][Solidity ]] support to Doom Emacs.
2018-05-17 21:00:30 -05:00
2022-09-26 02:19:42 +08:00
- Syntax-checking ([[doom-package:flycheck ]])
- Code completion ([[doom-package:company-solidity ]])
2021-10-16 01:28:32 +02:00
- Gas estimation (~C-c C-g~ )
2018-05-17 21:00:30 -05:00
2021-10-16 01:28:32 +02:00
** Maintainers
*This module needs a maintainer.* [[doom-contrib-maintainer: ][Become a maintainer? ]]
2018-05-25 19:10:49 +02:00
2021-10-16 01:28:32 +02:00
** Module flags
/This module has no flags./
2018-05-25 19:10:49 +02:00
2021-10-16 01:28:32 +02:00
** Packages
2022-09-26 02:19:42 +08:00
- [[doom-package:company-solidity ]] if [[doom-module::completion company ]]
- [[doom-package:solidity-flycheck ]] if [[doom-module::checkers syntax ]]
- [[doom-package:solidity-mode ]]
2021-10-16 01:28:32 +02:00
** 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./
2018-05-25 19:10:49 +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 one or both linters for syntax checking:
- [[https://github.com/ethereum/solc-js ][Solc ]]
- [[http://solium.readthedocs.io/en/latest/user-guide.html#installation ][Solium ]]
2018-05-25 19:10:49 +02:00
If both are enabled *Solc* is run first, then *Solium* if *Solc* catches no
errors.
** Solc
2021-10-16 01:28:32 +02:00
#+begin_src sh
2018-05-17 21:00:30 -05:00
npm install -g solc
2021-10-16 01:28:32 +02:00
#+end_src
2018-05-17 21:00:30 -05:00
2018-05-25 19:10:49 +02:00
** Solium
2021-10-16 01:28:32 +02:00
#+begin_src sh
2018-05-17 21:00:30 -05:00
npm install -g solium
2021-10-16 01:28:32 +02:00
#+end_src
2018-05-17 21:00:30 -05:00
2021-10-16 01:28:32 +02:00
By default *solium* looks for =.soliumrc.json= in the project directory, but you
can set it to your own =.soliumrc.json= with:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
2018-05-25 19:10:49 +02:00
(setq flycheck-solidity-solium-soliumrcfile "~/.soliumrc.json")
2021-10-16 01:28:32 +02:00
#+end_src
2022-11-19 15:15:57 +00:00
** Formatter
Formatting is handled using the [[doom-module::editor format ]] module via [[https://github.com/prettier-solidity/prettier-plugin-solidity#installation-and-usage ][prettier ]].
2021-10-16 01:28:32 +02:00
* TODO Usage
#+begin_quote
2023-09-16 20:19:11 +02:00
This module has no usage documentation yet. [[doom-contrib-module: ][Write some? ]]
2021-10-16 01:28:32 +02:00
#+end_quote
* TODO Configuration
#+begin_quote
2023-09-16 20:19:11 +02:00
This module has no configuration documentation yet. [[doom-contrib-module: ][Write some? ]]
2021-10-16 01:28:32 +02:00
#+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? ]]
2018-05-17 21:00:30 -05:00
2021-10-16 01:28:32 +02:00
* TODO Appendix
#+begin_quote
2023-09-16 20:19:11 +02:00
This module has no appendix yet. [[doom-contrib-module: ][Write one? ]]
2021-10-16 01:28:32 +02:00
#+end_quote