📝 docs(memory-bank): update architecture
lsp-server ci / build-and-test (push) Failing after 22s
Details
lsp-server ci / build-and-test (push) Failing after 22s
Details
This commit is contained in:
parent
20b7d439b1
commit
149a41588c
|
|
@ -4,59 +4,41 @@
|
|||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph Clients["编辑器客户端"]
|
||||
VSCode["VSCode Extension"]
|
||||
Vim["Vim Plugin"]
|
||||
Other["其他 IDE"]
|
||||
end
|
||||
Client["fa:fa-desktop 客户端 (VSCode / Vim / ...)"]
|
||||
|
||||
VSCode & Vim & Other -->|"LSP (JSON-RPC over stdio)"| Core
|
||||
Client -->|"LSP stdio"| Core
|
||||
|
||||
subgraph Server["LSP Server (C++23)"]
|
||||
subgraph Core["Core Layer"]
|
||||
ServerMain["Server\n主循环"]
|
||||
Dispatcher["Dispatcher\n请求分发"]
|
||||
AsyncExecutor["AsyncExecutor\n异步调度"]
|
||||
ServerMain --- Dispatcher --- AsyncExecutor
|
||||
|
||||
subgraph Core["Core"]
|
||||
direction LR
|
||||
S["Server"] ~~~ D["Dispatcher"] ~~~ A["AsyncExecutor"]
|
||||
end
|
||||
|
||||
subgraph Manager["Manager Layer"]
|
||||
DocumentMgr["Document\nManager"]
|
||||
ParserMgr["Parser\nManager"]
|
||||
SymbolMgr["Symbol\nManager"]
|
||||
EventBus["EventBus"]
|
||||
subgraph Provider["Provider"]
|
||||
direction LR
|
||||
P1["Completion"] ~~~ P2["Definition"] ~~~ P3["CodeAction"] ~~~ P4["..."]
|
||||
end
|
||||
|
||||
subgraph Provider["Provider Layer"]
|
||||
Completion["Completion"]
|
||||
CodeAction["CodeAction"]
|
||||
CodeLens["CodeLens"]
|
||||
Definition["Definition"]
|
||||
InlayHint["InlayHint"]
|
||||
More["..."]
|
||||
subgraph Manager["Manager"]
|
||||
direction LR
|
||||
M1["Document"] ~~~ M2["Parser"] ~~~ M3["Symbol"] ~~~ M4["EventBus"]
|
||||
end
|
||||
|
||||
subgraph Language["Language Layer"]
|
||||
AST["AST\n语法树"]
|
||||
Semantic["Semantic\n语义分析"]
|
||||
Symbol["Symbol\n符号表"]
|
||||
subgraph Language["Language"]
|
||||
direction LR
|
||||
L1["AST"] ~~~ L2["Semantic"] ~~~ L3["Symbol"]
|
||||
end
|
||||
|
||||
subgraph Bridge["Bridge Layer"]
|
||||
Glaze["Glaze"]
|
||||
Spdlog["spdlog"]
|
||||
Taskflow["Taskflow"]
|
||||
TreeSitter["Tree-sitter"]
|
||||
Win32Stdio["win32_stdio"]
|
||||
subgraph Bridge["Bridge"]
|
||||
direction LR
|
||||
B1["Glaze"] ~~~ B2["Tree-sitter"] ~~~ B3["Taskflow"] ~~~ B4["spdlog"]
|
||||
end
|
||||
|
||||
Core --> Manager
|
||||
Core --> Provider
|
||||
Provider --> Manager
|
||||
Provider --> Language
|
||||
Manager --> Language
|
||||
Core --> Provider & Manager
|
||||
Provider --> Manager & Language
|
||||
Manager --> Language & Bridge
|
||||
Language --> Bridge
|
||||
Manager --> Bridge
|
||||
end
|
||||
```
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue