rayon = "1.5"
mimalloc = { version = "0.1.19", default-features = false, optional = true }
lsp-server = "0.4.0"
+tracing = "0.1"
+tracing-subscriber = { version = "0.2", default-features = false, features = ["env-filter", "registry"] }
+tracing-tree = { version = "0.1.4" }
stdx = { path = "../stdx", version = "0.0.0" }
flycheck = { path = "../flycheck", version = "0.0.0" }
let filter = env::var("RA_LOG").ok();
logger::Logger::new(log_file, filter.as_deref()).install();
+ tracing_setup::setup_tracing()?;
+
profile::init();
Ok(())
}
+mod tracing_setup {
+ use tracing::subscriber;
+ use tracing_subscriber::layer::SubscriberExt;
+ use tracing_subscriber::EnvFilter;
+ use tracing_subscriber::Registry;
+ use tracing_tree::HierarchicalLayer;
+
+ pub fn setup_tracing() -> super::Result<()> {
+ let filter = EnvFilter::from_env("CHALK_DEBUG");
+ let layer = HierarchicalLayer::default()
+ .with_indent_lines(true)
+ .with_ansi(false)
+ .with_indent_amount(2)
+ .with_writer(std::io::stderr);
+ let subscriber = Registry::default().with(filter).with(layer);
+ subscriber::set_global_default(subscriber)?;
+ Ok(())
+ }
+}
+
fn run_server() -> Result<()> {
log::info!("server will start");