📝 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
|
```mermaid
|
||||||
graph TB
|
graph TB
|
||||||
subgraph Clients["编辑器客户端"]
|
Client["fa:fa-desktop 客户端 (VSCode / Vim / ...)"]
|
||||||
VSCode["VSCode Extension"]
|
|
||||||
Vim["Vim Plugin"]
|
|
||||||
Other["其他 IDE"]
|
|
||||||
end
|
|
||||||
|
|
||||||
VSCode & Vim & Other -->|"LSP (JSON-RPC over stdio)"| Core
|
Client -->|"LSP stdio"| Core
|
||||||
|
|
||||||
subgraph Server["LSP Server (C++23)"]
|
subgraph Server["LSP Server (C++23)"]
|
||||||
subgraph Core["Core Layer"]
|
|
||||||
ServerMain["Server\n主循环"]
|
subgraph Core["Core"]
|
||||||
Dispatcher["Dispatcher\n请求分发"]
|
direction LR
|
||||||
AsyncExecutor["AsyncExecutor\n异步调度"]
|
S["Server"] ~~~ D["Dispatcher"] ~~~ A["AsyncExecutor"]
|
||||||
ServerMain --- Dispatcher --- AsyncExecutor
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Manager["Manager Layer"]
|
subgraph Provider["Provider"]
|
||||||
DocumentMgr["Document\nManager"]
|
direction LR
|
||||||
ParserMgr["Parser\nManager"]
|
P1["Completion"] ~~~ P2["Definition"] ~~~ P3["CodeAction"] ~~~ P4["..."]
|
||||||
SymbolMgr["Symbol\nManager"]
|
|
||||||
EventBus["EventBus"]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Provider["Provider Layer"]
|
subgraph Manager["Manager"]
|
||||||
Completion["Completion"]
|
direction LR
|
||||||
CodeAction["CodeAction"]
|
M1["Document"] ~~~ M2["Parser"] ~~~ M3["Symbol"] ~~~ M4["EventBus"]
|
||||||
CodeLens["CodeLens"]
|
|
||||||
Definition["Definition"]
|
|
||||||
InlayHint["InlayHint"]
|
|
||||||
More["..."]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Language["Language Layer"]
|
subgraph Language["Language"]
|
||||||
AST["AST\n语法树"]
|
direction LR
|
||||||
Semantic["Semantic\n语义分析"]
|
L1["AST"] ~~~ L2["Semantic"] ~~~ L3["Symbol"]
|
||||||
Symbol["Symbol\n符号表"]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
subgraph Bridge["Bridge Layer"]
|
subgraph Bridge["Bridge"]
|
||||||
Glaze["Glaze"]
|
direction LR
|
||||||
Spdlog["spdlog"]
|
B1["Glaze"] ~~~ B2["Tree-sitter"] ~~~ B3["Taskflow"] ~~~ B4["spdlog"]
|
||||||
Taskflow["Taskflow"]
|
|
||||||
TreeSitter["Tree-sitter"]
|
|
||||||
Win32Stdio["win32_stdio"]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
Core --> Manager
|
Core --> Provider & Manager
|
||||||
Core --> Provider
|
Provider --> Manager & Language
|
||||||
Provider --> Manager
|
Manager --> Language & Bridge
|
||||||
Provider --> Language
|
|
||||||
Manager --> Language
|
|
||||||
Language --> Bridge
|
Language --> Bridge
|
||||||
Manager --> Bridge
|
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue