yeet
This commit is contained in:
47
.config/emacs/modules/lang/solidity/README.org
Normal file
47
.config/emacs/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
|
||||
22
.config/emacs/modules/lang/solidity/config.el
Normal file
22
.config/emacs/modules/lang/solidity/config.el
Normal file
@@ -0,0 +1,22 @@
|
||||
;;; lang/solidity/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;
|
||||
;;; Packages
|
||||
|
||||
(after! solidity-mode
|
||||
(setq solidity-comment-style 'slash)
|
||||
(set-docsets! 'solidity-mode "Solidity")
|
||||
(set-company-backend! 'solidity-mode 'company-solidity)
|
||||
|
||||
(use-package! solidity-flycheck ; included with solidity-mode
|
||||
:when (featurep! :checkers syntax)
|
||||
:config
|
||||
(setq flycheck-solidity-solc-addstd-contracts t)
|
||||
(when (funcall flycheck-executable-find solidity-solc-path)
|
||||
(add-to-list 'flycheck-checkers 'solidity-checker nil #'eq))
|
||||
(when (funcall flycheck-executable-find solidity-solium-path)
|
||||
(add-to-list 'flycheck-checkers 'solium-checker nil #'eq)))
|
||||
|
||||
(use-package! company-solidity
|
||||
:when (featurep! :completion company)
|
||||
:config (delq! 'company-solidity company-backends)))
|
||||
8
.config/emacs/modules/lang/solidity/doctor.el
Normal file
8
.config/emacs/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.")))
|
||||
8
.config/emacs/modules/lang/solidity/packages.el
Normal file
8
.config/emacs/modules/lang/solidity/packages.el
Normal file
@@ -0,0 +1,8 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/solidity/packages.el
|
||||
|
||||
(package! solidity-mode :pin "6f7bd1641e5282ec5163188d8b8c2f6dfddc2e36")
|
||||
(when (featurep! :completion company)
|
||||
(package! company-solidity))
|
||||
(when (featurep! :checkers syntax)
|
||||
(package! solidity-flycheck))
|
||||
Reference in New Issue
Block a user