Skip to content
This repository was archived by the owner on Mar 15, 2022. It is now read-only.

christopherweems/_AsyncParsableCommand

Repository files navigation

_AsyncParsableCommand

A drop-in replacement for ParsableCommand allowing you to use async/await in ParsableCommand.run() without managing tasks.

Hopefully just here to hold you over until async/await support lands in swift-argument-parser.

It's here! As AsyncParsableCommand is now officially part of the swift-argument-parser project, this package will no longer be maintained.

For more information: apple/swift-argument-parser #404

Usage

import ArgumentParser
import AsyncParsableCommand

struct Countdown: _AsyncParsableCommand {
    @Argument var count: Int
    
    func run() async throws {
        var remaining = count
        
        while 0 < remaining {
            print("\(remaining)!")
            await Task.sleep(1_000_000_000)
            remaining -= 1
        }
        
        print("Countdown complete!")
        
    }
    
}

About

Drop-in replacement for ParsableCommand to use async/await in swift-argument-parser commands

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages