Expand description
§summer-lsp
Language Server Protocol implementation for summer-rs framework.
summer-lsp 提供智能的开发体验,包括:
- TOML 配置文件的智能补全和验证
- Rust 宏的分析和展开
- 路由的识别和导航
- 依赖注入验证
§架构
summer-lsp 采用分层架构:
- LSP Protocol Layer: 处理 LSP 协议通信
- Server Core Layer: 消息分发和状态管理
- Analysis Modules: 各种分析功能模块
- Foundation Layer: 基础设施和工具
§模块组织
summer-lsp/
├── protocol/ # LSP 协议层
│ ├── server.rs # LSP 服务器核心
│ ├── handlers/ # 请求处理器
│ └── types.rs # 协议类型定义
├── analysis/ # 分析引擎层
│ ├── toml/ # TOML 分析
│ ├── rust/ # Rust 代码分析
│ ├── completion/ # 补全引擎
│ ├── diagnostic/ # 诊断引擎
│ └── validation/ # 验证引擎
├── scanner/ # 扫描器层
│ ├── component.rs # 组件扫描
│ ├── route.rs # 路由扫描
│ ├── job.rs # 任务扫描
│ ├── plugin.rs # 插件扫描
│ └── config.rs # 配置扫描
├── core/ # 核心层
│ ├── document.rs # 文档管理
│ ├── index.rs # 符号索引
│ ├── schema.rs # Schema 管理
│ └── config.rs # 配置管理
└── utils/ # 工具层
├── error.rs # 错误定义
├── logging.rs # 日志系统
└── status.rs # 状态管理Re-exports§
pub use protocol::server;pub use protocol::LspServer;pub use analysis::completion;pub use analysis::diagnostic;pub use analysis::rust::macro_analyzer;pub use analysis::toml::toml_analyzer;pub use analysis::validation::di_validator;pub use scanner::component;pub use scanner::config as scanner_config;pub use scanner::job;pub use scanner::plugin;pub use scanner::route as scanner_route;pub use core::config;pub use core::document;pub use core::index;pub use core::schema;pub use utils::error;pub use utils::logging;pub use utils::status;pub use utils::error::Error;pub use utils::error::Result;