Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eagr/sol-repl

Solidity REPL
https://github.com/eagr/sol-repl

ethereum repl solidity

Last synced: about 2 months ago
JSON representation

Solidity REPL

Awesome Lists containing this project

README

        

# sol-repl

a REPL to provide instant feedback for Solidity snippets

[Any bug reports or feature requests](https://github.com/eagr/sol-repl/issues/new) are appreciated.

## Features

* language
* [x] constant
* [x] contract
* [x] enum
* [x] function
* [x] import
* [x] interface
* [x] library
* [x] struct
* [x] type
* REPL
* [x] Node-like REPL interactions
* [x] cursor/delete shortcuts
* [x] history traversing
* [x] history filtering
* [x] `.session` print formatted Solidity source
* [ ] `.editor` editor mode

## Install

```sh
npm i -g sol-repl
```

## Usage

```sh
$ sol
Welcome to Solidity v0.8.13!
Type ".help" for more information.
> .help
.exit Exit the REPL
.help Print this message
.session Print current session
> enum Abc { a, b, c }
> type(Abc).max
2
> Abc c = Abc.c
2
> contract C {}
> msg.sender
0x4B6F0b9546487B1a184ADc43e0b17299cCdf8648
```

## Shortcuts

**cursor**

* Alt+Left Cursor to previous word start
* Alt+Right Cursor to next word end
* Fn+Left Cursor to line start
* Fn+Right Cursor to line end

**delete**

* Alt+Del Delete to previous word bound from cursor
* Ctrl+W Alias of Alt+Del
* Ctrl+U Delete to line start from cursor

**interrupt**

* Ctrl+C Clear line; signal an exit
* Ctrl+D Immediately terminate REPL

## License

[MIT](./LICENSE)