cli-1.0.0

This commit is contained in:
nora 2025-03-21 18:25:26 +01:00
parent 25837cf4db
commit 7d287c2769
3 changed files with 47 additions and 3 deletions

2
Cargo.lock generated
View file

@ -267,7 +267,7 @@ dependencies = [
[[package]]
name = "jsonformat-cli"
version = "0.2.0"
version = "1.0.0"
dependencies = [
"anyhow",
"clap 3.2.25",

View file

@ -1,6 +1,6 @@
[package]
name = "jsonformat-cli"
version = "0.2.0"
version = "1.0.0"
edition = "2024"
license = "MIT"
description = "Formats JSON extremely fast"
@ -14,7 +14,7 @@ categories = ["command-line-utilities"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
jsonformat = { path = "..", version = "2.0.0" }
jsonformat = { path = "..", version = "2.1.0" }
clap = { version = "3.1.12", features = ["derive"] }
anyhow = "1.0.57"

44
jsonformat-cli/README.md Normal file
View file

@ -0,0 +1,44 @@
# Extremely fast JSON formatter
`jsonformat` is an extremely fast JSON formatter.
It formats over 20MB of nested JSON in 60ms.
## Library crate
For the library crate, look at [docs.rs](https://docs.rs/jsonformat)
## Binary Install
You need Rust installed on your system
`cargo install jsonformat-cli`
## Binary Usage
```
jsonformat-cli 0.2.0
Formats JSON extremely fast
USAGE:
jsonformat [OPTIONS] [INPUT]
ARGS:
<INPUT> The input file
OPTIONS:
-h, --help Print help information
-i, --indentation <INDENTATION> The indentation, s will replaced by a space and t by a tab.
ss is the default
-o, --output <OUTPUT> The output file
-V, --version Print version information
```
Reads from stdin if no file is supplied.
Outputs to stdout if no output file is specified.
## Error handling
`jsonformat` does not report malformed json - it can't even fully know whether the json is actually malformed.
Malformed json is just formatted kind of incorrectly, with no data lost and no crashes. If you find one, open an issue,
## How?
`jsonformat` does not actually parse the json, it just loops through each character and keeps track of some flags.
It then copies these characters to the output buffer, adding and removing whitespace.