argotorg / argotorg/solidity

[CLI] Rewrite the command line interface (solc) and consider using StandardCompiler as backend.

Open
#9,583 18 comments 0 reactions 0 assignees View on GitHub
high effort medium impact must have eventually refactor
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

CommandLineInterface.cpp is just one single huge mess right now :-). See other related issues #9579, #8722, #5306.

For an initial implementation see #11960.

Tasks:
- [x] #6900 (to avoid the need to rewrite this JSON code)
- [ ] #10278 (to remove the need creating a translator to `--combined-json`)
- [x] #11507
- [ ] Support displaying error ids (this is optional, we could manually craft the error output, but if we want to use `formattedMessage` then this is needed)
- [ ] After doing this transition, the back-and-forth conversion done in `CommandLineParser` is no longer needed as the JSON should just expect the input strings

The rewrite is also a good opportunity to fix confusing options:
- [ ] #14364
- [ ] #13714

Contributor guide

Open the contributing guide

Research direction

Start with CommandLineInterface.cpp and the initial implementation referenced in #11960, then inspect StandardCompiler and CommandLineParser to understand the proposed transition. Review the related issues and unchecked tasks, including #10278, error IDs, and confusing options; done means the CLI rewrite is complete and the listed conversions and options are addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.