codeinput 0.0.5

A powerful library for parsing, analyzing, and managing CODEOWNERS files. Provides advanced querying capabilities, ownership analysis, and tag-based file organization.
Documentation
[package]
name = "codeinput"
version = "0.0.5"
authors = ["Abid Omar <contact@omarabid.com>"]
edition = "2021"
repository = "https://github.com/code-input/cli"
readme = "../README.md"
license = "MIT"
keywords = ["codeowners", "git", "parsing", "analysis", "tooling"]
description = """
A powerful library for parsing, analyzing, and managing CODEOWNERS files.
Provides advanced querying capabilities, ownership analysis, and tag-based file organization.
"""

[[bench]]
name = "parser_bench"
path = "src/benches/parser_bench.rs"
harness = false

[[bench]]
name = "resolver_bench"
path = "src/benches/resolver_bench.rs"
harness = false

[[bench]]
name = "owner_resolver_bench"
path = "src/benches/owner_resolver_bench.rs"
harness = false

[[bench]]
name = "tag_resolver_bench"
path = "src/benches/tag_resolver_bench.rs"
harness = false

[features]
default = ["full"]
full = [
	"rayon",
	"log",
	"rand",
	"ignore",
	"serde_json",
	"bincode",
	"git2",
	"sha2",
	"thiserror",
	"backtrace",
	"color-backtrace",
	"config",
	"lazy_static",
	"slog",
	"slog-scope",
	"slog-async",
	"slog-stdlog",
	"tabled",
	"terminal_size",
	"clap",
	"chrono",
	"utoipa",
	"url",
]
nightly = []
termlog = ["slog-term"]
journald = ["slog-journald"]
syslog = ["slog-syslog"]
types = []

[dependencies]
# Core dependencies always needed
serde = { workspace = true }
utoipa = { version = "5.4.0", optional = true }

# Full feature dependencies
rayon = { workspace = true, optional = true }
log = { workspace = true, optional = true }
rand = { workspace = true, optional = true }
ignore = { workspace = true, optional = true }
serde_json = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }
git2 = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true }
thiserror = { workspace = true, optional = true }
backtrace = { workspace = true, optional = true }
color-backtrace = { workspace = true, optional = true }
config = { workspace = true, optional = true }
lazy_static = { workspace = true, optional = true }
slog = { workspace = true, optional = true }
slog-syslog = { version = "0.13.0", optional = true }
slog-term = { version = "2.9.2", optional = true }
slog-scope = { workspace = true, optional = true }
slog-async = { workspace = true, optional = true }
slog-stdlog = { workspace = true, optional = true }
tabled = { workspace = true, optional = true }
terminal_size = { workspace = true, optional = true }
clap = { workspace = true, optional = true }
chrono = { version = "0.4.44", features = ["serde"], optional = true }
tower-lsp = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
url = { workspace = true, optional = true }

[target.'cfg(target_os = "linux")'.dependencies]
slog-journald = { version = "2.2.0", optional = true }

[dev-dependencies]
tempfile = { workspace = true }
criterion = { workspace = true }