FuelLabs / FuelLabs/sway

Tracking: tooling desiderata

Open
#27 2 comments 0 reactions 3 assignees Claimed by @mitchmindtree View on GitHub
forc
Dominant language
Rust
Stars
61.4k
Forks
5.4k
Avg merge
3h 33m
Merged PRs (30d)
4

Description

This issue tracks various features we want out of the command-line and IDE integration tooling surrounding the HLL. cc @sezna @SilentCicero

## CLI

The CLI is tentatively called the "Fuel Orchestrator" `forc`. It is intended to be the equivalent of Rust's [`cargo`](https://doc.rust-lang.org/cargo/).

- [x] Initialize new project w/basic config file, similar to `cargo new`. (#48)
- [x] Install and update dependencies from GitHub links with [semver](https://semver.org/). (#67)
- [ ] Central dependency repo (equivalent to [crates.io](https://crates.io/)).
- [ ] Publish libraries to registry ☝️ (signed).
- [x] Build. (#48)
- [ ] FuelLabs/sway#732
- [x] Launch a local testnet. (https://github.com/FuelLabs/fuels-rs/pull/9)
- [ ] Launch debugger (local testnet with debug flag).
- [x] Launch local block explorer service that connects to local testnet node. (#608)
- [ ] FuelLabs/forc#164
- [x] Format code, similar to [`rustfmt`](https://github.com/rust-lang/rustfmt). (#80)
- [ ] Deploy language docs locally.

### Installing Different Versions

In addition to a CLI tool associated with a single compiler version, and equivalent to Rust's [`rustup`](https://rustup.rs/) tool is needed to manage multiple compiler versions. Blockchains require deterministic contract compilation for verifiability, which requires being able to manage multiple compiler versions. Ref: FuelLabs/fuelup#1.

## IDE

Integration as an IDE plugin. Specifically, as an extension to Visual Studio Code similar to [this one for Rust](https://github.com/rust-lang/vscode-rust). Additional IDEs are reserved for the distant future.

- [x] Syntax highlighting. (#48)
- [ ] [Linguist](https://github.com/github/linguist) integration for GitHub syntax highlighting.
- [x] Build command.
- [x] Build on save.
- [x] Report errors and warning inline.
- [ ] Run all tests.
- [x] Run one test.
- [x] Mouse-over function and field documentation.
- [x] Mouse-over type information.
- [x] Goto uses.
- [x] Goto declaration.
- [x] Refactor/rename.
- [ ] Launch and interact with debugger (including breakpoints and watch variables).
- [x] Format on save. (#74)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.