An open API service indexing awesome lists of open source software.

https://github.com/fancellu/cats-effect-decline-example

Cats effect Decline (Composable command-line parsing for Scala) example
https://github.com/fancellu/cats-effect-decline-example

cats-effect-3 decline refined

Last synced: about 2 months ago
JSON representation

Cats effect Decline (Composable command-line parsing for Scala) example

Awesome Lists containing this project

README

          

## Cats effect Decline example

### Composable command-line parsing for Scala

https://ben.kirw.in/decline/

## Using in an effectful manner

Just run the below examples, replacing ```com.felstar.HelloWorld``` with ```com.felstar.HelloWorldIO```

### To run

Run it with no params
```
sbt "runMain com.felstar.HelloWorld"
```

Run it with --help param, displays the help for the app and its params
```
sbt "runMain com.felstar.HelloWorld --help"
```

Run it with --target param
```
sbt "runMain com.felstar.HelloWorld --target Dino"
```

Run it with -t short param
```
sbt "runMain com.felstar.HelloWorld -t Ralf"
```

Run it with positional params
```
sbt "runMain com.felstar.HelloWorld Dave Ralf"
```

Run it with forbidden name for positional param
```
sbt "runMain com.felstar.HelloWorld John"
```

Run it with refined number that doesn't match PosInt
```
sbt "runMain com.felstar.HelloWorld --posInt -123"
```

Run it with unparseable number
```
sbt "runMain com.felstar.HelloWorld --posInt woof"
```