[CLI] Rewrite the command line interface (solc) and consider using StandardCompiler as backend.
- 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
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