sway icon indicating copy to clipboard operation
sway copied to clipboard

Tracking: tooling desiderata

Open adlerjohn opened this issue 4 years ago • 2 comments

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.

  • [x] Initialize new project w/basic config file, similar to cargo new. (#48)
  • [x] Install and update dependencies from GitHub links with semver. (#67)
  • [ ] Central dependency repo (equivalent to 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/sway#733
  • [x] Format code, similar to 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 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. Additional IDEs are reserved for the distant future.

  • [x] Syntax highlighting. (#48)
    • [ ] 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)

adlerjohn avatar Apr 02 '21 20:04 adlerjohn