[package]
name = "splitrs"
version = "0.3.1"
edition = "2021"
authors = ["COOLJAPAN OU (Team KitaSan)"]
description = "AST-based Rust refactoring tool with trait separation, config files, and intelligent module generation"
license = "Apache-2.0"
repository = "https://github.com/cool-japan/splitrs"
homepage = "https://github.com/cool-japan/splitrs"
documentation = "https://docs.rs/splitrs"
readme = "README.md"
keywords = ["refactoring", "rust", "ast", "code-splitting", "module-organization"]
categories = ["development-tools", "command-line-utilities", "parser-implementations"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["lsp"]
lsp = ["dep:tower-lsp", "dep:tokio", "dep:dashmap"]
[dependencies]
syn = { version = "2.0", features = ["full", "parsing", "printing", "visit"] }
quote = "1.0"
anyhow = "1.0"
clap = { version = "4.6", features = ["derive"] }
walkdir = "2.5"
prettyplease = "0.2"
serde = { version = "1.0", features = ["derive"] }
toml = "1.1"
rayon = "1.12"
serde_json = "1.0"
tower-lsp = { version = "0.20.0", optional = true }
tokio = { version = "1.52.1", features = ["rt-multi-thread", "macros", "io-std", "io-util", "sync"], optional = true }
dashmap = { version = "6.1.0", optional = true }
[dev-dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
tempfile = "3"
tokio = { version = "1.52.1", features = ["rt-multi-thread", "macros", "io-util", "sync", "time"] }
[lib]
name = "splitrs"
path = "src/lib.rs"
[[bin]]
name = "splitrs"
path = "src/main.rs"
[[bin]]
name = "splitrs-lsp"
path = "src/bin/splitrs_lsp.rs"
required-features = ["lsp"]
[[bench]]
name = "file_analysis"
harness = false