# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "papergrid"
version = "0.11.0"
authors = ["Maxim Zhiburt <zhiburt@gmail.com>"]
description = "Papergrid is a core library to print a table"
readme = "README.md"
license = "MIT"
repository = "https://github.com/zhiburt/tabled"

[[example]]
name = "papergrid_color"
required-features = [
    "std",
    "ansi",
]

[[example]]
name = "color_map"
path = "examples/color_map.rs"
required-features = ["std"]

[[example]]
name = "colored_border"
path = "examples/colored_border.rs"
required-features = ["std"]

[[example]]
name = "common_grid"
path = "examples/common_grid.rs"
required-features = ["std"]

[[example]]
name = "span_usage"
path = "examples/span_usage.rs"
required-features = ["std"]

[[example]]
name = "common_grid_no_std"
path = "examples/common_grid_no_std.rs"
required-features = []

[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
required-features = ["std"]

[dependencies.ansi-str]
version = "0.8"
optional = true

[dependencies.ansitok]
version = "0.2"
optional = true

[dependencies.bytecount]
version = "0.6"

[dependencies.fnv]
version = "1.0"

[dependencies.unicode-width]
version = "0.1"

[dev-dependencies.owo-colors]
version = "3.4.0"

[features]
ansi = [
    "ansi-str",
    "ansitok",
]
default = ["std"]
std = []
