[package]
edition = "2024"
rust-version = "1.85"
name = "decasify"
version = "0.11.3"
authors = ["Caleb Maclennan <caleb@alerque.com>"]
build = "build-aux/build.rs"
include = ["*.rs"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A CLI utility and library to cast strings to title-case according to locale specific style guides including Turkish support"
homepage = "https://github.com/alerque/decasify"
readme = "README.md"
license = "LGPL-3.0-only"
repository = "https://github.com/alerque/decasify"
resolver = "2"
[package.metadata.bacon]
default_job = "build"
[package.metadata.bacon.jobs.build]
command = [
"cargo",
"build",
"--features",
"full",
"--color",
"always",
]
[package.metadata.bacon.jobs.build-modules]
command = [
"cargo",
"build",
"--features",
"modules,luajit",
"--color",
"always",
]
[package.metadata.docs.rs]
features = [
"luamodule",
"luajit",
"pythonmodule",
"wasm",
"unstable-trait",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.git-cliff.git]
protect_breaking_commits = true
[[package.metadata.git-cliff.git.commit_parsers]]
message = "^feat"
group = "<!-- 0 -->Features"
[[package.metadata.git-cliff.git.commit_parsers]]
message = "^fix"
group = "<!-- 1 -->Bug Fixes"
[[package.metadata.git-cliff.git.commit_parsers]]
message = "^perf"
group = "<!-- 2 -->Performance"
[[package.metadata.git-cliff.git.commit_parsers]]
message = ".*"
skip = true
[[package.metadata.git-cliff.git.commit_preprocessors]]
pattern = ".*"
replace_command = "typos --quiet --write-changes -"
[package.metadata.typos.default]
locale = "en-us"
extend-ignore-identifiers-re = ["[bB][aA][zZ]"]
[package.metadata.typos.default.extend-words]
runing = "running"
walm = "wasm"
[package.metadata.typos.files]
ignore-hidden = false
extend-exclude = ["/.git"]
[package.metadata.binstall]
pkg-fmt = "bin"
[features]
bash = ["completions"]
cli = ["dep:clap"]
completions = [
"cli",
"dep:clap_complete",
]
default = []
elvish = ["completions"]
fish = ["completions"]
full = [
"cli",
"bash",
"elvish",
"fish",
"manpage",
"powershell",
"zsh",
]
lua51 = [
"luamodule",
"mlua/lua51",
]
lua52 = [
"luamodule",
"mlua/lua52",
]
lua53 = [
"luamodule",
"mlua/lua53",
]
lua54 = [
"luamodule",
"mlua/lua54",
]
lua55 = [
"luamodule",
"mlua/lua55",
]
luajit = [
"luamodule",
"mlua/luajit",
]
luamodule = ["dep:mlua"]
manpage = ["dep:clap_mangen"]
modules = [
"luamodule",
"pythonmodule",
"wasm",
]
powershell = ["completions"]
pythonmodule = ["dep:pyo3"]
unstable-trait = []
wasm = ["dep:wasm-bindgen"]
zsh = ["completions"]
[lib]
name = "decasify"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "decasify"
path = "src/bin/decasify.rs"
required-features = ["cli"]
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[dependencies.clap]
version = "4.5"
features = [
"derive",
"color",
"wrap_help",
]
optional = true
[dependencies.mlua]
version = "0.11"
features = ["module"]
optional = true
[dependencies.pyo3]
version = "0.27"
features = ["extension-module"]
optional = true
[dependencies.regex]
version = "1.11"
[dependencies.snafu]
version = "0.8"
[dependencies.strum]
version = "0.27"
[dependencies.strum_macros]
version = "0.27"
[dependencies.titlecase]
version = "3.3"
features = ["perf"]
[dependencies.unicode_titlecase]
version = "2.4"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.predicates]
version = "3.1"
[build-dependencies.anyhow]
version = "1.0"
[build-dependencies.clap]
version = "4.5"
features = ["derive"]
optional = true
[build-dependencies.clap_complete]
version = "4.5"
optional = true
[build-dependencies.clap_mangen]
version = "0.2"
optional = true
[build-dependencies.snafu]
version = "0.8"
[build-dependencies.strum]
version = "0.27"
[build-dependencies.strum_macros]
version = "0.27"
[build-dependencies.vergen-gix]
version = "9.1"
features = [
"build",
"cargo",
"rustc",
]
default-features = false
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(build)"]
[profile.release]
lto = true
[profile.typst]
opt-level = "z"
inherits = "release"
strip = true