# Persian Tools Cli
Command line interface for [rust-persian-tools](https://github.com/persian-tools/rust-persian-tools) library.
## Example
### With param
You can pass input by -i option:
### With std-in
## Help page
```posh
persian-tools-cli
cli for rust-persian-tools crate
Usage: persian-tools-cli [OPTIONS]
Commands:
add-commas Adds commas to number,
remove-commas Remove commas from number, example: 3,100 -> 3100
add-ordinal-suffix Add persian ordinal suffix to numbers, example: "بیست و یک" -< "بیست و یکم"
remove-ordinal-suffix Remove persian ordinal suffix from numbers, example: "بیست و یکم" -< "بیست و یک"
has-arabic Return true if the entered string includes arabic characters
is-arabic Return true if the entered string does not include other-language characters
to-arabic Description: Replaces all instances of ی and ک with ي and ك,
get-bill-type Gets barcode as input and returns bill type types: (Water, Electricity, Gas, Tel, Mobile, Municipality, Tax, DrivingOffense)
get-bill-amount Gets barcode as input and returns bill amount in Rials
digits-fa-to-en "۵۴۱" -> "541"
digits-en-to-fa "541" -> "۵۴۱"
digits-en-to-ar "451" -> "٤٥۱"
digits-ar-to-en "٤٥۱" -> "451"
digits-fa-to-ar "۴۵۱" -> "٤٥۱"
digits-ar-to-fa "٤٥۱" -> "451"
extract-card-number Returns list of card numbers extracted from input separated with ','
find-capital-by-province "البرز" -< "کرج"
get-bank-name-by-card-number 6219861000000000 -> "بانک سامان"
get-city-by-iran-national-id -> "کرج"
get-province-by-iran-national-id -> "البرز"
add-half-space Takes input and make it standard in case of using half space
remove-half-space Opposite of add-half-space
verify-iranian-legal-id اعتبار سنجی شناسه حقوقی Returns true|false
verify-iranian-national-id اعتبار سنجی کد ملی Returns true|false
get-plate-type Input is a car or motorcycle number plate Returns (car | motorcycle)
get-plate-province Input is a car or motorcycle number plate Returns نام استان
get-plate-category Input is a car or motorcycle number plate Returns (دیپلمات - سفارتخانه - تاکسی - ارتش - شخصی و...)
number-to-words "5677" -> "پنج هزار و ششصد و هفتاد و هفت"
has-persian Return true if the entered string includes persian characters
is-persian Return true if the entered string does not include other-language characters
to-persian-chars Description: Replaces all instances of ي and ك with ی and ک,
is-phone-valid Phone number as input and returns (false|true)
get-operator-prefix 09387891234 -> 938, +989387891234 -> 938, 00989387891234 -> 938
get-phone-operator 09380000000 -> Irancell
get-phone-province 09140000000 -> تبریز
is-sheba-valid شماره شبا رو اعتبار سنجی میکنه
sheba-to-bank-name شماره شبا رو میگیره و اسم بانک بر میگردونه
sheba-to-persian-bank-name شماره شبا رو میگیره و اسم فارسی بانک بر میگردونه
time-diff برای دو لحظه از زمان یک متن فارسی تولید میکنه که اختلاف دو لحظه رو توصیف میکنه
url-fix حروف فارسی رو به فرمتی تبدیل میکنه که در url قابل استفاده باشه
verify-card-number شماره کارت بانکی رو اعتبار سنجی میکنه
words-to-number حروف فارسی رو به عدد تبدیل میکنه
help Print this message or the help of the given subcommand(s)
Options:
-i, --input if you don't pass --input param it will take std-in as input
-h, --help Print help
-V, --version Print version
```
## Installation
There is three ways to install persian tools cli
### 1. Download binary
Download binary from [here](https://github.com/ali77gh/PersianToolsCli/releases).
add binary to your PATH
### 2. Install from crates.io
If you have cargo installed you can install this tool simply by running:
```posh
cargo add persian-tools-cli
```
### 3. Build from source
```posh
git clone https://github.com/ali77gh/PersianToolsCli.git
cd PersianToolsCli
cargo build --release
# linux
cp ./target/release/project_analyzer /usr/bin
# MacOS
cp ./target/release/project_analyzer /usr/local/bin/
# Windows
# add binary to Environment Variables Path
```