commit
5cf899deb4
5 changed files with 85 additions and 0 deletions
|
@ -103,6 +103,7 @@
|
||||||
;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;scala ; java, but good
|
;scala ; java, but good
|
||||||
sh ; she sells (ba|z)sh shells on the C xor
|
sh ; she sells (ba|z)sh shells on the C xor
|
||||||
|
;solidity ; do you need a blockchain? No.
|
||||||
;swift ; who asked for emoji variables?
|
;swift ; who asked for emoji variables?
|
||||||
;web ; the tubes
|
;web ; the tubes
|
||||||
|
|
||||||
|
|
47
modules/lang/solidity/README.org
Normal file
47
modules/lang/solidity/README.org
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#+TITLE: :lang solidity
|
||||||
|
|
||||||
|
This module adds [[https://github.com/ethereum/solidity][Solidity]] support through [[https://github.com/ethereum/emacs-solidity][solidity-mode]]
|
||||||
|
|
||||||
|
+ Syntax-checking (~flycheck~)
|
||||||
|
+ Code completion (~[[https://github.com/ssmolkin1/company-solidity][company-solidity]]~)
|
||||||
|
+ Gas estimation (~C-c C-g~)
|
||||||
|
|
||||||
|
* Table of Contents :TOC:
|
||||||
|
- [[Module Flags][Module Flags]]
|
||||||
|
- [[Prerequisites][Prerequisites]]
|
||||||
|
- [[Solc][Solc]]
|
||||||
|
- [[Solium][Solium]]
|
||||||
|
- [[TODO][TODO]]
|
||||||
|
|
||||||
|
* Module Flags
|
||||||
|
This module provides no flags.
|
||||||
|
|
||||||
|
* Prerequisites
|
||||||
|
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]]
|
||||||
|
|
||||||
|
If both are enabled *Solc* is run first, then *Solium* if *Solc* catches no
|
||||||
|
errors.
|
||||||
|
|
||||||
|
** Solc
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
npm install -g solc
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
** Solium
|
||||||
|
#+BEGIN_SRC sh
|
||||||
|
npm install -g solium
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
By default *solium* looks for ~.soliumrc.json~ in the project directory, but you
|
||||||
|
can set it to your own ~.soliumrc.json~ with this in your private doom
|
||||||
|
~config.el~
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(setq flycheck-solidity-solium-soliumrcfile "~/.soliumrc.json")
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
* TODO
|
||||||
|
+ Snippets
|
25
modules/lang/solidity/config.el
Normal file
25
modules/lang/solidity/config.el
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
;;; lang/solidity/config.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;;
|
||||||
|
;; Plugins
|
||||||
|
;;
|
||||||
|
|
||||||
|
;; `solidity-mode'
|
||||||
|
(setq solidity-comment-style 'slash
|
||||||
|
solidity-flycheck-solc-checker-active t
|
||||||
|
solidity-flycheck-solium-checker-active t)
|
||||||
|
|
||||||
|
|
||||||
|
(def-package! solidity-flycheck ; included with solidity-mode
|
||||||
|
:when (featurep! :feature syntax-checker)
|
||||||
|
:after solidity-mode
|
||||||
|
:init (add-hook 'solidity-mode-hook #'flycheck-mode)
|
||||||
|
:config (setq flycheck-solidity-solc-addstd-contracts t)
|
||||||
|
|
||||||
|
|
||||||
|
(def-package! company-solidity
|
||||||
|
:when (featurep! :completion company)
|
||||||
|
:after solidity-mode
|
||||||
|
:config
|
||||||
|
(setq company-backends (delq 'company-solidity company-backends))
|
||||||
|
(set! :company-backends 'solidity-mode 'company-solidity))
|
8
modules/lang/solidity/doctor.el
Normal file
8
modules/lang/solidity/doctor.el
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
;; -*- lexical-binding: t; no-byte-compile: t; -*-
|
||||||
|
;;; lang/solidity/doctor.el
|
||||||
|
|
||||||
|
(when (require 'solidity-common nil t)
|
||||||
|
(unless (executable-find solidity-solc-path)
|
||||||
|
(warn! "Solc isn't installed."))
|
||||||
|
(unless (executable-find solidity-solium-path)
|
||||||
|
(warn! "Solium isn't installed.")))
|
4
modules/lang/solidity/packages.el
Normal file
4
modules/lang/solidity/packages.el
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
;; -*- no-byte-compile: t; -*-
|
||||||
|
;;; lang/solidity/packages.el
|
||||||
|
|
||||||
|
(package! solidity-mode)
|
Loading…
Add table
Add a link
Reference in a new issue