[package]
edition = "2024"
name = "syntaqlite-cli"
version = "0.6.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast, accurate SQLite SQL formatter, validator, and language server — built on SQLite's own grammar"
homepage = "https://syntaqlite.com"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/LalitMaganti/syntaqlite"
[features]
bundled-sqlite-dialect = ["syntaqlite/sqlite"]
codegen = ["dep:syntaqlite-buildtools"]
default = [
"bundled-sqlite-dialect",
"dynload",
"codegen",
"mcp",
]
dynload = ["syntaqlite/dynload"]
mcp = [
"dep:rmcp",
"dep:tokio",
"dep:schemars",
]
[lib]
name = "syntaqlite_cli"
path = "src/lib.rs"
[[bin]]
name = "syntaqlite"
path = "src/main.rs"
doc = false
required-features = ["bundled-sqlite-dialect"]
[[example]]
name = "cli_wrapper"
path = "examples/cli_wrapper.rs"
required-features = ["bundled-sqlite-dialect"]
[[test]]
name = "dynload_omit_runtime"
path = "tests/dynload_omit_runtime.rs"
[[test]]
name = "lineage_json"
path = "tests/lineage_json.rs"
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.glob]
version = "0.3"
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.rmcp]
version = "0.1"
features = [
"server",
"transport-io",
]
optional = true
[dependencies.schemars]
version = "0.8"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.syntaqlite]
version = "0.6.0"
features = [
"fmt",
"lsp",
"analysis",
"experimental-embedded",
"serde-json",
"rpc",
]
default-features = false
[dependencies.syntaqlite-buildtools]
version = "0.6.0"
optional = true
[dependencies.syntaqlite-syntax]
version = "0.6.0"
[dependencies.tempfile]
version = "3.8"
[dependencies.tokio]
version = "1"
features = [
"rt",
"macros",
"io-std",
]
optional = true
[dependencies.toml]
version = "0.8"
[lints.clippy]
allow_attributes = "deny"
must_use_candidate = "allow"
redundant_pub_crate = "allow"
undocumented_unsafe_blocks = "deny"
unwrap_used = "deny"
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.rust]
missing_docs = "deny"
unreachable_pub = "deny"
unused_must_use = "deny"
unused_qualifications = "deny"