logos 0.14.0

Create ridiculously fast Lexers
Documentation
[workspace]
members = ["logos-cli", "logos-codegen", "logos-derive", "tests"]
resolver = "2"

[workspace.package]
authors = ["Maciej Hirsz <hello@maciej.codes>", "Jérome Eertmans (maintainer) <jeertmans@icloud.com>"]
categories = ["parsing", "text-processing"]
description = "Create ridiculously fast Lexers"
edition = "2021"
homepage = "https://logos.maciej.codes/"
keywords = ["lexer", "lexical", "tokenizer", "parser", "no_std"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/maciejhirsz/logos"
rust-version = "1.65.0"
version = "0.14.0"

[package]
name = "logos"
authors.workspace = true
categories.workspace = true
description.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
readme.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[package.metadata]
msrv = "1.65.0"  # Needed to duplicate, because cargo-msrv does not support workspace

[package.metadata.release]
pre-release-replacements = [
  {file="book/src/getting-started.md", search="logos = \"[0-9]+\\.[0-9]+\\.[0-9]+\"", replace="logos = \"{{version}}\"", exactly=1},
]
shared-version = true

[lib]
bench = false

[features]
default = ["export_derive", "std"]
# Re-exports the `Logos` derive macro, so that end user only needs to
# import this crate and `use logos::Logos` to get both the trait and
# derive proc macro.
export_derive = ["logos-derive"]
# Should the crate use the standard library?
std = []

[package.metadata.docs.rs]
all-features = true
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
rustdoc-args = ["--cfg", "docsrs"]

[profile]
bench = {lto = true}
release = {lto = true}

[dependencies]
logos-derive = {version = "0.14.0", path = "./logos-derive", optional = true}

[dev-dependencies]
ariadne = {version = "0.2.0", features = ["auto-color"]}

[[example]]
doc-scrape-examples = true  # Only needed once, because requires dev-dependencies
name = "brainfuck"
path = "examples/brainfuck.rs"

[[example]]
name = "custom_error"
path = "examples/custom_error.rs"

[[example]]
name = "extras"
path = "examples/extras.rs"

[[example]]
name = "json"
path = "examples/json.rs"