[workspace] members = ["logos-cli", "logos-codegen", "logos-derive", "tests", "fuzz"] resolver = "2" [workspace.package] authors = ["Maciej Hirsz ", "Jérome Eertmans (maintainer) "] 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.70.0" version = "0.14.2" [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.70.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] # Enables debug messages debug = ["logos-derive?/debug"] 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 = [] # Use safe alternatives for unsafe code (may impact performance)? forbid_unsafe = ["logos-derive?/forbid_unsafe"] [package.metadata.docs.rs] features = ["debug"] cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] rustdoc-args = ["--cfg", "docsrs"] [profile] bench = {lto = true} release = {lto = true} [dependencies] logos-derive = {version = "0.14.2", 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" [[example]] name = "json-borrowed" path = "examples/json_borrowed.rs"