Add skeletal format subcommand. (#4383)

This extracts out the SourceBuffer handling of `-` in order to trivially
share it.

Note this still has a number of TODOs, it's just setting up the
essential subcommand infrastructure, with some tests demonstrating that
it at least does something.
This commit is contained in:
Jon Ross-Perkins
2024-10-09 17:33:29 +00:00
committed by GitHub
parent 33954d1f20
commit 434173b016
15 changed files with 306 additions and 7 deletions
+3 -7
View File
@@ -329,13 +329,9 @@ class CompilationUnit {
// Loads source and lexes it. Returns true on success.
auto RunLex() -> void {
LogCall("SourceBuffer::MakeFromFile", [&] {
if (input_filename_ == "-") {
source_ = SourceBuffer::MakeFromStdin(*consumer_);
} else {
source_ = SourceBuffer::MakeFromFile(driver_env_->fs, input_filename_,
*consumer_);
}
LogCall("SourceBuffer::MakeFromFileOrStdin", [&] {
source_ = SourceBuffer::MakeFromFileOrStdin(driver_env_->fs,
input_filename_, *consumer_);
});
if (mem_usage_) {
mem_usage_->Add("source_", source_->text().size(),