## ascii-art-justify
### Objectives
You must follow the same [instructions ](https://public.01-edu.org/subjects/ascii-art ) as in the first subject but the alignment can be changed.
```console
We
will
explain!
```
To change the alignment of the output it must be possible to use a **flag** `--align=<type>` , in which `type` can be :
- center
- left
- right
- justify
- You must adapt your representation to the terminal size. If you reduce the terminal window the graphical representation should be adapted to the terminal size.
### Instructions
- Your project must be written in **Go** .
- The code must respect the [**good practices** ](https://public.01-edu.org/subjects/good-practices ).
- It is recommended that the code should present a **test file** .
### Allowed packages
- Only the [standard go ](https://golang.org/pkg/ ) packages are allowed
### Usage
Assume the bars in the display below are the terminal borders:
```console
|$ go run . "hello" standard --align=center |
| _ _ _ |
| | | | | | | |
| | |__ ___ | | | | ___ |
| | _ \ / _ \ | | | | / _ \ |
| | | | | | __ / | | | | | (_) | |
| |_| |_| \___| |_| |_| \___/ |
| |
| |
|$ go run . "Hello There" standard --align=left |
| _ _ _ _ _______ _ |
|| | | | | | | | |__ __ | | | |
|| |__| | ___ | | | | ___ | | | |__ ___ _ __ ___ |
|| __ | / _ \ | | | | / _ \ | | | _ \ / _ \ | '__| / _ \ |
|| | | | | __ / | | | | | (_) | | | | | | | | __ / | | | __ / |
||_| |_| \___| |_| |_| \___/ |_| |_| |_| \___| |_| \___| |
| |
| |
|$ go run . "hello" shadow --align=right |
| |
| _| _ | _| |
| _|_ |_| _|_ | _| _ | _|_ | |
| _| _ | _|_ |_|_| _| _ | _| _ | |
| _| _ | _| _ | _| _ | _| |
| _| _ | _|_ |_| _| _ | _|_ | |
| |
| |
|$ go run . "how are you" shadow --align=justify |
| |
|_| |
|_|_|_| _|_ | _| _ | _| _ |_|_| _| _ |_| _|_ | _| _ | _|_ | _| _ | |
|_| _| _ | _| _ | _| _ | _| _ | _|_ | _|_ |_|_| _| _ | _| _ | _| _ | |
|_| _| _ | _| _ | _| _ | _| _ | _| _ | _| _ | _| _ | _| _ | _| |
|_| _| _ |_| _| _ | _|_ |_| _| _ |_|_| _|_ |_| _|_ | _|_ |_| |
| _| |
| _|_ | |
|$ |
```
This project will help you learn about :
- The Go file system(**fs**) API
- Data manipulation
- Terminal display