summer-lsp 0.5.0

Language Server Protocol implementation for summer-rs framework
Documentation
use summer_lsp::schema::SchemaProvider;

#[tokio::main]
async fn main() {
    let schema_provider = SchemaProvider::load().await.expect("无法加载 Schema");

    println!("=== Logger 插件属性 ===");
    if let Some(logger) = schema_provider.get_plugin("logger") {
        for (key, prop) in &logger.properties {
            println!("  - {}: {:?}", key, prop.type_info);
        }
    } else {
        println!("  未找到 logger 插件");
    }

    println!("\n=== Opendal 插件属性 ===");
    if let Some(opendal) = schema_provider.get_plugin("opendal") {
        for (key, prop) in &opendal.properties {
            println!("  - {}: {:?}", key, prop.type_info);
        }
    } else {
        println!("  未找到 opendal 插件");
    }

    println!("\n=== Web-dav-client 插件 ===");
    if schema_provider.has_plugin("web-dav-client") {
        println!("  存在");
        if let Some(plugin) = schema_provider.get_plugin("web-dav-client") {
            for (key, prop) in &plugin.properties {
                println!("  - {}: {:?}", key, prop.type_info);
            }
        }
    } else {
        println!("  不存在(这是自定义插件)");
    }
}