From fb954b7cc18ca36219f81665bfab5b045242c71b Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Wed, 2 Nov 2022 19:49:45 +0400 Subject: [PATCH] tart list: support -q (or --quiet) for automation purposes (#293) --- Sources/tart/Commands/List.swift | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Sources/tart/Commands/List.swift b/Sources/tart/Commands/List.swift index 69a71e1..f799271 100644 --- a/Sources/tart/Commands/List.swift +++ b/Sources/tart/Commands/List.swift @@ -5,9 +5,14 @@ import SwiftUI struct List: AsyncParsableCommand { static var configuration = CommandConfiguration(abstract: "List created VMs") + @Flag(name: [.short, .long], help: ArgumentHelp("Only display VM names")) + var quiet: Bool = false + func run() async throws { do { - print("Source\tName") + if !quiet { + print("Source\tName") + } displayTable("local", try VMStorageLocal().list()) displayTable("oci", try VMStorageOCI().list().map { (name, vmDir, _) in (name, vmDir) }) @@ -22,7 +27,11 @@ struct List: AsyncParsableCommand { private func displayTable(_ source: String, _ vms: [(String, VMDirectory)]) { for (name, _) in vms.sorted(by: { left, right in left.0 < right.0 }) { - print("\(source)\t\(name)") + if quiet { + print(name) + } else { + print("\(source)\t\(name)") + } } } }