banshee 0.2.2

PostgreSQL SQL parser, formatter, linter and language server.
Documentation
[package]
name = "banshee"
version.workspace = true
edition = "2024"
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "PostgreSQL SQL parser, formatter, linter and language server."
keywords = ["sql", "postgres", "linter", "formatter", "lsp"]
categories = ["development-tools", "command-line-utilities"]

# `cargo binstall banshee` pulls the tagged release archive instead of building.
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.tar.gz"
bin-dir = "{ bin }{ binary-ext }"
pkg-fmt = "tgz"

[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-url = "{ repo }/releases/download/v{ version }/{ name }-{ target }.zip"
pkg-fmt = "zip"

[[bin]]
name = "banshee"
path = "src/main.rs"

[[bench]]
name = "parse"
harness = false

[[bench]]
name = "format"
harness = false

[[bench]]
name = "complete"
harness = false

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

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

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

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

[features]
default = []
# Live database introspection for `banshee lsp` and schema-aware linting. Pulls in
# sqlx + tokio; off by default so the binary stays lean when unused.
db = ["banshee_schema/db", "dep:tokio"]

[dependencies]
banshee_syntax.workspace = true
banshee_lexer.workspace = true
banshee_parser.workspace = true
banshee_hir.workspace = true
banshee_completion.workspace = true
banshee_format.workspace = true
banshee_config.workspace = true
banshee_templater.workspace = true
banshee_schema.workspace = true
banshee_lsp.workspace = true
clap = { workspace = true }
anyhow = { workspace = true }
annotate-snippets = "0.11"
text-size = { workspace = true }
rayon = "1"
globset = "0.4"
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }

[dev-dependencies]
criterion.workspace = true
text-size.workspace = true
sqlparser = "0.60.0"