dsh-lsp-actions 0.5.19 → 0.5.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/LICENSE +0 -0
- package/PRIVACY.md +0 -0
- package/README.en.md +520 -0
- package/README.es.md +520 -0
- package/README.hi.md +520 -0
- package/README.md +313 -235
- package/README.pt.md +520 -0
- package/cordis.patch.yml +0 -0
- package/docs/assets/dsh-lsp-actions-demo.gif +0 -0
- package/docs/assets/dsh-lsp-actions-demo.png +0 -0
- package/docs/assets/dsh-lsp-actions-flow-dark.svg +35 -0
- package/docs/assets/dsh-lsp-actions-flow-light.svg +35 -0
- package/docs/assets/dsh-lsp-actions-flow-v5-dark.svg +136 -0
- package/docs/assets/dsh-lsp-actions-flow-v5-light.svg +136 -0
- package/docs/assets/dsh-lsp-actions-flow.svg +0 -0
- package/docs/assets/dsh-lsp-actions-hero-en-dark.webp +0 -0
- package/docs/assets/dsh-lsp-actions-hero-en-light.webp +0 -0
- package/docs/assets/dsh-lsp-actions-hero-zh-dark.webp +0 -0
- package/docs/assets/dsh-lsp-actions-hero-zh-light.webp +0 -0
- package/docs/assets/dsh-lsp-actions-hero.png +0 -0
- package/docs/editor-protocol.md +0 -0
- package/docs/editor-protocol.zh-CN.md +0 -0
- package/docs/seam-extension-notes.md +0 -0
- package/examples/vscode/README.md +0 -0
- package/examples/vscode/README.zh-CN.md +0 -0
- package/examples/vscode/backend/bin.mjs +0 -0
- package/examples/vscode/backend/cordis.yml +0 -0
- package/examples/vscode/backend/package.json +0 -0
- package/examples/vscode/extension/package.json +0 -0
- package/examples/vscode/extension/src/client.js +0 -0
- package/examples/vscode/extension/src/extension.js +0 -0
- package/examples/vscode/extension/src/views.js +0 -0
- package/icon.svg +0 -0
- package/lib/abort.d.ts +0 -0
- package/lib/abort.d.ts.map +0 -0
- package/lib/abort.js +0 -0
- package/lib/abort.js.map +0 -0
- package/lib/call-id.d.ts +0 -0
- package/lib/call-id.d.ts.map +0 -0
- package/lib/call-id.js +0 -0
- package/lib/call-id.js.map +0 -0
- package/lib/client.d.ts +0 -0
- package/lib/client.d.ts.map +0 -0
- package/lib/client.js +0 -0
- package/lib/client.js.map +0 -0
- package/lib/connection.d.ts +0 -0
- package/lib/connection.d.ts.map +0 -0
- package/lib/connection.js +0 -0
- package/lib/connection.js.map +0 -0
- package/lib/editor/actions.d.ts +0 -0
- package/lib/editor/actions.d.ts.map +0 -0
- package/lib/editor/actions.js +0 -0
- package/lib/editor/actions.js.map +0 -0
- package/lib/editor/cache.d.ts +0 -0
- package/lib/editor/cache.d.ts.map +0 -0
- package/lib/editor/cache.js +0 -0
- package/lib/editor/cache.js.map +0 -0
- package/lib/editor/server.d.ts +0 -0
- package/lib/editor/server.d.ts.map +0 -0
- package/lib/editor/server.js +0 -0
- package/lib/editor/server.js.map +0 -0
- package/lib/editor/service.d.ts +0 -0
- package/lib/editor/service.d.ts.map +0 -0
- package/lib/editor/service.js +0 -0
- package/lib/editor/service.js.map +0 -0
- package/lib/editor/transport.d.ts +0 -0
- package/lib/editor/transport.d.ts.map +0 -0
- package/lib/editor/transport.js +0 -0
- package/lib/editor/transport.js.map +0 -0
- package/lib/editor/types.d.ts +0 -0
- package/lib/editor/types.d.ts.map +0 -0
- package/lib/editor/types.js +0 -0
- package/lib/editor/types.js.map +0 -0
- package/lib/edits.d.ts +0 -0
- package/lib/edits.d.ts.map +0 -0
- package/lib/edits.js +0 -0
- package/lib/edits.js.map +0 -0
- package/lib/extension.d.ts +0 -0
- package/lib/extension.d.ts.map +0 -0
- package/lib/extension.js +0 -0
- package/lib/extension.js.map +0 -0
- package/lib/extra-tools.d.ts +0 -0
- package/lib/extra-tools.d.ts.map +0 -0
- package/lib/extra-tools.js +0 -0
- package/lib/extra-tools.js.map +0 -0
- package/lib/framing.d.ts +0 -0
- package/lib/framing.d.ts.map +0 -0
- package/lib/framing.js +0 -0
- package/lib/framing.js.map +0 -0
- package/lib/host.d.ts +0 -0
- package/lib/host.d.ts.map +0 -0
- package/lib/host.js +0 -0
- package/lib/host.js.map +0 -0
- package/lib/index.d.ts +0 -0
- package/lib/index.d.ts.map +0 -0
- package/lib/index.js +0 -0
- package/lib/index.js.map +0 -0
- package/lib/project.d.ts +0 -0
- package/lib/project.d.ts.map +0 -0
- package/lib/project.js +0 -0
- package/lib/project.js.map +0 -0
- package/lib/render.d.ts +0 -0
- package/lib/render.d.ts.map +0 -0
- package/lib/render.js +0 -0
- package/lib/render.js.map +0 -0
- package/lib/runner.d.ts +0 -0
- package/lib/runner.d.ts.map +0 -0
- package/lib/runner.js +0 -0
- package/lib/runner.js.map +0 -0
- package/lib/sandbox.d.ts +0 -0
- package/lib/sandbox.d.ts.map +0 -0
- package/lib/sandbox.js +0 -0
- package/lib/sandbox.js.map +0 -0
- package/lib/seam.d.ts +0 -0
- package/lib/seam.d.ts.map +0 -0
- package/lib/seam.js +0 -0
- package/lib/seam.js.map +0 -0
- package/lib/servers.d.ts +0 -0
- package/lib/servers.d.ts.map +0 -0
- package/lib/servers.js +0 -0
- package/lib/servers.js.map +0 -0
- package/lib/session-cwd.d.ts +0 -0
- package/lib/session-cwd.d.ts.map +0 -0
- package/lib/session-cwd.js +0 -0
- package/lib/session-cwd.js.map +0 -0
- package/lib/tools.d.ts +0 -0
- package/lib/tools.d.ts.map +0 -0
- package/lib/tools.js +0 -0
- package/lib/tools.js.map +0 -0
- package/lib/translate.d.ts +0 -0
- package/lib/translate.d.ts.map +0 -0
- package/lib/translate.js +0 -0
- package/lib/translate.js.map +0 -0
- package/lib/vocabulary.d.ts +0 -0
- package/lib/vocabulary.d.ts.map +0 -0
- package/lib/vocabulary.js +0 -0
- package/lib/vocabulary.js.map +0 -0
- package/package.json +35 -20
- package/README-es.md +0 -445
- package/README-hi.md +0 -445
- package/README-pt.md +0 -445
- package/README-zh.md +0 -445
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="660" viewBox="0 0 1100 660" role="img" aria-labelledby="t d">
|
|
2
|
+
<title id="t">dsh-lsp-actions 结构图:请求-回传环</title>
|
|
3
|
+
<desc id="d">八个工具与编辑器协议汇入 ActionRunner;优先走 ctx.lsp seam,缺席/旧版/无 provider 时回落到 servers 路由与内置 stdio 客户端;语言服务器作答后经有界归一化回传,只有格式化与重命名穿过写入单向阀。</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="page" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#131a2a"/><stop offset="1" stop-color="#0c1016"/></linearGradient>
|
|
6
|
+
</defs>
|
|
7
|
+
<rect width="1100" height="660" rx="20" fill="url(#page)"/>
|
|
8
|
+
<text x="40" y="46" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="27" font-weight="700" text-anchor="start">dsh-lsp-actions</text>
|
|
9
|
+
<text x="40" y="76" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="14.5" font-weight="400" text-anchor="start">八个工具 + 编辑器协议 → ActionRunner → seam 优先 / stdio 兜底 → 语言服务器 → 有界回传;写动作走单向阀</text>
|
|
10
|
+
<rect x="40" y="88" width="1020" height="1" fill="#2a3348"/>
|
|
11
|
+
<text x="64" y="108" fill="#8496f5" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="start">① 请求 · 出站</text>
|
|
12
|
+
<text x="64" y="408" fill="#3fb950" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="start">② 结果 · 回传</text>
|
|
13
|
+
<path d="M64 477L44 477L44 156L62 156" fill="none" stroke="#3fb950" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
14
|
+
<path d="M55 149L62 156L55 163" fill="none" stroke="#3fb950" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
15
|
+
<g transform="translate(34 300) rotate(-90)">
|
|
16
|
+
<text x="0" y="0" fill="#3fb950" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="middle">回环 · 结果回到调用方</text>
|
|
17
|
+
</g>
|
|
18
|
+
<rect x="64" y="120" width="196" height="124" rx="16" fill="#1b2231" stroke="#2e374b" stroke-width="1.5"/>
|
|
19
|
+
<text x="78" y="146" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">lsp_* 工具 ×8</text>
|
|
20
|
+
<text x="78" y="164" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">6 只读 · 2 写盘</text>
|
|
21
|
+
<text x="78" y="184" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">diagnostics · format</text>
|
|
22
|
+
<text x="78" y="200" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">completion · code_action</text>
|
|
23
|
+
<text x="78" y="216" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">symbols · signature</text>
|
|
24
|
+
<text x="78" y="232" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">inlay_hints · rename</text>
|
|
25
|
+
<rect x="64" y="252" width="196" height="128" rx="16" fill="#1b2231" stroke="#2e374b" stroke-width="1.5"/>
|
|
26
|
+
<text x="78" y="278" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">lsp.actions.*</text>
|
|
27
|
+
<text x="78" y="296" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">编辑器 JSON-RPC v1</text>
|
|
28
|
+
<text x="78" y="316" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">list · run · events</text>
|
|
29
|
+
<text x="78" y="332" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">lsp.event 通知流</text>
|
|
30
|
+
<text x="78" y="348" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">editor.enabled 才启动</text>
|
|
31
|
+
<rect x="276" y="120" width="182" height="260" rx="18" fill="#1b2231" stroke="#8496f5" stroke-width="2"/>
|
|
32
|
+
<rect x="292" y="140" width="3" height="40" fill="#8496f5"/>
|
|
33
|
+
<text x="304" y="148" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="16" font-weight="700" text-anchor="start">ActionRunner</text>
|
|
34
|
+
<text x="292" y="172" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">provider 接口 · 9 个操作</text>
|
|
35
|
+
<rect x="292" y="186" width="150" height="1" fill="#2a3348"/>
|
|
36
|
+
<circle cx="297" cy="205" r="2.4" fill="#8496f5"/>
|
|
37
|
+
<text x="307" y="209" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">工具只依赖接口</text>
|
|
38
|
+
<circle cx="297" cy="230" r="2.4" fill="#8496f5"/>
|
|
39
|
+
<text x="307" y="234" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">内置 runner 是其一</text>
|
|
40
|
+
<circle cx="297" cy="255" r="2.4" fill="#8496f5"/>
|
|
41
|
+
<text x="307" y="259" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">第三方 provider 可替换</text>
|
|
42
|
+
<circle cx="297" cy="280" r="2.4" fill="#8496f5"/>
|
|
43
|
+
<text x="307" y="284" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">seam 逐调用解析</text>
|
|
44
|
+
<circle cx="297" cy="305" r="2.4" fill="#8496f5"/>
|
|
45
|
+
<text x="307" y="309" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">命中即返回,不重开进程</text>
|
|
46
|
+
<rect x="292" y="330" width="150" height="1" fill="#2a3348"/>
|
|
47
|
+
<text x="292" y="356" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">8 工具 + 4 编辑器动作共用</text>
|
|
48
|
+
<path d="M260 179L276 179" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
49
|
+
<path d="M269 172L276 179L269 186" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
50
|
+
<path d="M260 313L276 313" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
51
|
+
<path d="M269 306L276 313L269 320" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
52
|
+
<rect x="482" y="120" width="262" height="98" rx="16" fill="#1b2231" stroke="#8496f5" stroke-width="2"/>
|
|
53
|
+
<rect x="686" y="131" width="38.0" height="22" rx="11.0" fill="#242d42" stroke="none" stroke-width="1.5"/>
|
|
54
|
+
<text x="695" y="149" fill="#8496f5" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">优先</text>
|
|
55
|
+
<text x="498" y="148" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="15" font-weight="700" text-anchor="start">ctx.lsp 扩展 seam</text>
|
|
56
|
+
<text x="498" y="170" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">diagnostics / format / completion</text>
|
|
57
|
+
<text x="498" y="190" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">命中即返回;unsupported → 响亮失败</text>
|
|
58
|
+
<text x="498" y="206" fill="#d29922" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">LSP_ACTION_UNSUPPORTED · 不回退</text>
|
|
59
|
+
<path d="M458 169L482 169" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
60
|
+
<path d="M475 162L482 169L475 176" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
61
|
+
<rect x="482" y="236" width="262" height="144" rx="16" fill="#1b2231" stroke="#2e374b" stroke-width="1.5" stroke-dasharray="6 5"/>
|
|
62
|
+
<rect x="690" y="245" width="38.0" height="22" rx="11.0" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
63
|
+
<text x="699" y="263" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">兜底</text>
|
|
64
|
+
<text x="498" y="262" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">内置 stdio 客户端</text>
|
|
65
|
+
<text x="498" y="281" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">seam 缺席 · 旧版 · 该文件无 provider</text>
|
|
66
|
+
<text x="498" y="300" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">① fileGlobs ② projectMarkers</text>
|
|
67
|
+
<text x="498" y="318" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">③ extensionToLanguage 路由</text>
|
|
68
|
+
<text x="498" y="336" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">spawn · Content-Length JSON-RPC</text>
|
|
69
|
+
<text x="498" y="354" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">常驻 didOpen · JSON-RPC 帧</text>
|
|
70
|
+
<text x="498" y="370" fill="#d29922" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">路由无命中 → LSP_ACTION_UNAVAILABLE</text>
|
|
71
|
+
<path d="M458 309L482 309" fill="none" stroke="#a8b1c4" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 5"/>
|
|
72
|
+
<path d="M475 302L482 309L475 316" fill="none" stroke="#a8b1c4" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
73
|
+
<rect x="786" y="120" width="274" height="260" rx="18" fill="#1b2231" stroke="#8496f5" stroke-width="2"/>
|
|
74
|
+
<text x="804" y="148" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="16" font-weight="700" text-anchor="start">语言服务器</text>
|
|
75
|
+
<text x="804" y="170" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">真实进程 · 不是 mock</text>
|
|
76
|
+
<rect x="804" y="184" width="238" height="26" rx="8" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
77
|
+
<text x="814" y="201" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">typescript-language-server</text>
|
|
78
|
+
<rect x="804" y="218" width="238" height="26" rx="8" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
79
|
+
<text x="814" y="235" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">gopls · pyright</text>
|
|
80
|
+
<rect x="804" y="252" width="238" height="26" rx="8" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
81
|
+
<text x="814" y="269" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">rust-analyzer</text>
|
|
82
|
+
<rect x="804" y="286" width="238" height="26" rx="8" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
83
|
+
<text x="814" y="303" fill="#f0f3f9" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">任何 stdio LSP 服务器</text>
|
|
84
|
+
<rect x="804" y="336" width="238" height="1" fill="#2a3348"/>
|
|
85
|
+
<text x="804" y="356" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">initialize → capabilities</text>
|
|
86
|
+
<text x="804" y="372" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">懒启动 · idleTimeoutMs 0 常驻</text>
|
|
87
|
+
<path d="M744 169L786 169" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
88
|
+
<path d="M779 162L786 169L779 176" fill="none" stroke="#8496f5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
89
|
+
<path d="M744 309L786 309" fill="none" stroke="#a8b1c4" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 5"/>
|
|
90
|
+
<path d="M779 302L786 309L779 316" fill="none" stroke="#a8b1c4" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
91
|
+
<path d="M923 380L923 414" fill="none" stroke="#3fb950" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
92
|
+
<path d="M916 407L923 414L930 407" fill="none" stroke="#3fb950" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
93
|
+
<path d="M800 414L800 398L430 398L430 414" fill="none" stroke="#3fb950" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 4"/>
|
|
94
|
+
<path d="M423 407L430 414L437 407" fill="none" stroke="#3fb950" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
95
|
+
<text x="615" y="391" fill="#3fb950" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="middle">只读结果直通(6 / 8)</text>
|
|
96
|
+
<rect x="786" y="414" width="274" height="126" rx="16" fill="#1b2231" stroke="#3fb950" stroke-width="1.6"/>
|
|
97
|
+
<text x="802" y="438" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">归一化 + 有界</text>
|
|
98
|
+
<text x="802" y="460" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxDiagnostics 200 · maxSymbols 100</text>
|
|
99
|
+
<text x="802" y="477" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxResultChars 16000</text>
|
|
100
|
+
<text x="802" y="494" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxDocumentBytes 4000000</text>
|
|
101
|
+
<text x="802" y="511" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">timeoutMs 60000</text>
|
|
102
|
+
<text x="802" y="528" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">编辑器 LRU 缓存 64 文件 · 不落盘</text>
|
|
103
|
+
<path d="M786 462L746 462" fill="none" stroke="#d29922" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
104
|
+
<path d="M753 455L746 462L753 469" fill="none" stroke="#d29922" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
105
|
+
<rect x="482" y="414" width="262" height="126" rx="16" fill="#1b2231" stroke="#d29922" stroke-width="1.8"/>
|
|
106
|
+
<rect x="666" y="423" width="64.0" height="22" rx="11.0" fill="#3a2b1c" stroke="none" stroke-width="1.5"/>
|
|
107
|
+
<text x="675" y="441" fill="#d29922" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">仅 2 / 8</text>
|
|
108
|
+
<text x="498" y="440" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">写入单向阀</text>
|
|
109
|
+
<text x="498" y="462" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">① UTF-16 偏移应用服务器编辑</text>
|
|
110
|
+
<text x="498" y="479" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">② 重叠 / 越界 → LSP_ACTION_CONFLICT</text>
|
|
111
|
+
<text x="498" y="496" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">③ fs/write-intent 观测→守卫写→观测</text>
|
|
112
|
+
<text x="498" y="513" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">④ sandbox · read-only 往返前拒绝</text>
|
|
113
|
+
<text x="498" y="530" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">⑤ diff · linesChanged 回传</text>
|
|
114
|
+
<path d="M482 462L446 462" fill="none" stroke="#d29922" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
115
|
+
<path d="M453 455L446 462L453 469" fill="none" stroke="#d29922" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
116
|
+
<rect x="64" y="414" width="380" height="126" rx="16" fill="#1b2231" stroke="#2e374b" stroke-width="1.5"/>
|
|
117
|
+
<text x="80" y="438" fill="#f0f3f9" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">渲染 · 返回调用方</text>
|
|
118
|
+
<text x="80" y="462" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">诊断文本 / 补全列表 / diff 卡片</text>
|
|
119
|
+
<text x="80" y="480" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">presenter 纯函数:直播与重放同源</text>
|
|
120
|
+
<text x="80" y="498" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">工具结果只存在于会话日志</text>
|
|
121
|
+
<text x="80" y="526" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="10.5" font-weight="400" text-anchor="start">↺ 回到入口,下一轮动作重新解析 seam</text>
|
|
122
|
+
<rect x="40" y="556" width="1020" height="1" fill="#2a3348"/>
|
|
123
|
+
<text x="40" y="578" fill="#a8b1c4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="12" font-weight="700" text-anchor="start">错误码 · 按 code 路由,绝不解析消息文本</text>
|
|
124
|
+
<text x="1060" y="578" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="end">共 12 个稳定 code</text>
|
|
125
|
+
<rect x="40" y="587" width="163.19999999999993" height="23" rx="11.5" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
126
|
+
<text x="49" y="606" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_UNAVAILABLE</text>
|
|
127
|
+
<rect x="212.19999999999993" y="587" width="163.19999999999993" height="23" rx="11.5" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
128
|
+
<text x="221.19999999999993" y="606" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_UNSUPPORTED</text>
|
|
129
|
+
<rect x="384.39999999999986" y="587" width="176.39999999999992" height="23" rx="11.5" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
130
|
+
<text x="393.39999999999986" y="606" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_SERVER_FAILED</text>
|
|
131
|
+
<rect x="569.7999999999997" y="587" width="143.39999999999995" height="23" rx="11.5" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
132
|
+
<text x="578.7999999999997" y="606" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_CONFLICT</text>
|
|
133
|
+
<rect x="722.1999999999997" y="587" width="149.99999999999994" height="23" rx="11.5" fill="#202839" stroke="none" stroke-width="1.5"/>
|
|
134
|
+
<text x="731.1999999999997" y="606" fill="#a8b1c4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_READ_ONLY</text>
|
|
135
|
+
<text x="40" y="636" fill="#737b8d" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">默认只读 · 单 host 行(inject: tools / fs / subprocess)· 无网络 · 有界 · servers: {} 不激活任何服务器,调用时响亮失败</text>
|
|
136
|
+
</svg>
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="660" viewBox="0 0 1100 660" role="img" aria-labelledby="t d">
|
|
2
|
+
<title id="t">dsh-lsp-actions 结构图:请求-回传环</title>
|
|
3
|
+
<desc id="d">八个工具与编辑器协议汇入 ActionRunner;优先走 ctx.lsp seam,缺席/旧版/无 provider 时回落到 servers 路由与内置 stdio 客户端;语言服务器作答后经有界归一化回传,只有格式化与重命名穿过写入单向阀。</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="page" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" stop-color="#f9f6fd"/><stop offset="1" stop-color="#e4eaf8"/></linearGradient>
|
|
6
|
+
</defs>
|
|
7
|
+
<rect width="1100" height="660" rx="20" fill="url(#page)"/>
|
|
8
|
+
<text x="40" y="46" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="27" font-weight="700" text-anchor="start">dsh-lsp-actions</text>
|
|
9
|
+
<text x="40" y="76" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="14.5" font-weight="400" text-anchor="start">八个工具 + 编辑器协议 → ActionRunner → seam 优先 / stdio 兜底 → 语言服务器 → 有界回传;写动作走单向阀</text>
|
|
10
|
+
<rect x="40" y="88" width="1020" height="1" fill="#e7e4f0"/>
|
|
11
|
+
<text x="64" y="108" fill="#4B67B4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="start">① 请求 · 出站</text>
|
|
12
|
+
<text x="64" y="408" fill="#16a34a" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="start">② 结果 · 回传</text>
|
|
13
|
+
<path d="M64 477L44 477L44 156L62 156" fill="none" stroke="#16a34a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
14
|
+
<path d="M55 149L62 156L55 163" fill="none" stroke="#16a34a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
15
|
+
<g transform="translate(34 300) rotate(-90)">
|
|
16
|
+
<text x="0" y="0" fill="#16a34a" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="middle">回环 · 结果回到调用方</text>
|
|
17
|
+
</g>
|
|
18
|
+
<rect x="64" y="120" width="196" height="124" rx="16" fill="#ffffff" stroke="#e4e1ee" stroke-width="1.5"/>
|
|
19
|
+
<text x="78" y="146" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">lsp_* 工具 ×8</text>
|
|
20
|
+
<text x="78" y="164" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">6 只读 · 2 写盘</text>
|
|
21
|
+
<text x="78" y="184" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">diagnostics · format</text>
|
|
22
|
+
<text x="78" y="200" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">completion · code_action</text>
|
|
23
|
+
<text x="78" y="216" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">symbols · signature</text>
|
|
24
|
+
<text x="78" y="232" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">inlay_hints · rename</text>
|
|
25
|
+
<rect x="64" y="252" width="196" height="128" rx="16" fill="#ffffff" stroke="#e4e1ee" stroke-width="1.5"/>
|
|
26
|
+
<text x="78" y="278" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">lsp.actions.*</text>
|
|
27
|
+
<text x="78" y="296" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">编辑器 JSON-RPC v1</text>
|
|
28
|
+
<text x="78" y="316" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">list · run · events</text>
|
|
29
|
+
<text x="78" y="332" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">lsp.event 通知流</text>
|
|
30
|
+
<text x="78" y="348" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">editor.enabled 才启动</text>
|
|
31
|
+
<rect x="276" y="120" width="182" height="260" rx="18" fill="#ffffff" stroke="#4B67B4" stroke-width="2"/>
|
|
32
|
+
<rect x="292" y="140" width="3" height="40" fill="#4B67B4"/>
|
|
33
|
+
<text x="304" y="148" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="16" font-weight="700" text-anchor="start">ActionRunner</text>
|
|
34
|
+
<text x="292" y="172" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">provider 接口 · 9 个操作</text>
|
|
35
|
+
<rect x="292" y="186" width="150" height="1" fill="#e7e4f0"/>
|
|
36
|
+
<circle cx="297" cy="205" r="2.4" fill="#4B67B4"/>
|
|
37
|
+
<text x="307" y="209" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">工具只依赖接口</text>
|
|
38
|
+
<circle cx="297" cy="230" r="2.4" fill="#4B67B4"/>
|
|
39
|
+
<text x="307" y="234" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">内置 runner 是其一</text>
|
|
40
|
+
<circle cx="297" cy="255" r="2.4" fill="#4B67B4"/>
|
|
41
|
+
<text x="307" y="259" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">第三方 provider 可替换</text>
|
|
42
|
+
<circle cx="297" cy="280" r="2.4" fill="#4B67B4"/>
|
|
43
|
+
<text x="307" y="284" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">seam 逐调用解析</text>
|
|
44
|
+
<circle cx="297" cy="305" r="2.4" fill="#4B67B4"/>
|
|
45
|
+
<text x="307" y="309" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">命中即返回,不重开进程</text>
|
|
46
|
+
<rect x="292" y="330" width="150" height="1" fill="#e7e4f0"/>
|
|
47
|
+
<text x="292" y="356" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">8 工具 + 4 编辑器动作共用</text>
|
|
48
|
+
<path d="M260 179L276 179" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
49
|
+
<path d="M269 172L276 179L269 186" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
50
|
+
<path d="M260 313L276 313" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
51
|
+
<path d="M269 306L276 313L269 320" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
52
|
+
<rect x="482" y="120" width="262" height="98" rx="16" fill="#ffffff" stroke="#4B67B4" stroke-width="2"/>
|
|
53
|
+
<rect x="686" y="131" width="38.0" height="22" rx="11.0" fill="#ece7f9" stroke="none" stroke-width="1.5"/>
|
|
54
|
+
<text x="695" y="149" fill="#4B67B4" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">优先</text>
|
|
55
|
+
<text x="498" y="148" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="15" font-weight="700" text-anchor="start">ctx.lsp 扩展 seam</text>
|
|
56
|
+
<text x="498" y="170" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">diagnostics / format / completion</text>
|
|
57
|
+
<text x="498" y="190" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">命中即返回;unsupported → 响亮失败</text>
|
|
58
|
+
<text x="498" y="206" fill="#bc4c00" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">LSP_ACTION_UNSUPPORTED · 不回退</text>
|
|
59
|
+
<path d="M458 169L482 169" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
60
|
+
<path d="M475 162L482 169L475 176" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
61
|
+
<rect x="482" y="236" width="262" height="144" rx="16" fill="#ffffff" stroke="#e4e1ee" stroke-width="1.5" stroke-dasharray="6 5"/>
|
|
62
|
+
<rect x="690" y="245" width="38.0" height="22" rx="11.0" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
63
|
+
<text x="699" y="263" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">兜底</text>
|
|
64
|
+
<text x="498" y="262" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">内置 stdio 客户端</text>
|
|
65
|
+
<text x="498" y="281" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">seam 缺席 · 旧版 · 该文件无 provider</text>
|
|
66
|
+
<text x="498" y="300" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">① fileGlobs ② projectMarkers</text>
|
|
67
|
+
<text x="498" y="318" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">③ extensionToLanguage 路由</text>
|
|
68
|
+
<text x="498" y="336" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">spawn · Content-Length JSON-RPC</text>
|
|
69
|
+
<text x="498" y="354" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">常驻 didOpen · JSON-RPC 帧</text>
|
|
70
|
+
<text x="498" y="370" fill="#bc4c00" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">路由无命中 → LSP_ACTION_UNAVAILABLE</text>
|
|
71
|
+
<path d="M458 309L482 309" fill="none" stroke="#4d5261" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 5"/>
|
|
72
|
+
<path d="M475 302L482 309L475 316" fill="none" stroke="#4d5261" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
73
|
+
<rect x="786" y="120" width="274" height="260" rx="18" fill="#ffffff" stroke="#4B67B4" stroke-width="2"/>
|
|
74
|
+
<text x="804" y="148" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="16" font-weight="700" text-anchor="start">语言服务器</text>
|
|
75
|
+
<text x="804" y="170" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11.5" font-weight="400" text-anchor="start">真实进程 · 不是 mock</text>
|
|
76
|
+
<rect x="804" y="184" width="238" height="26" rx="8" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
77
|
+
<text x="814" y="201" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">typescript-language-server</text>
|
|
78
|
+
<rect x="804" y="218" width="238" height="26" rx="8" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
79
|
+
<text x="814" y="235" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">gopls · pyright</text>
|
|
80
|
+
<rect x="804" y="252" width="238" height="26" rx="8" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
81
|
+
<text x="814" y="269" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">rust-analyzer</text>
|
|
82
|
+
<rect x="804" y="286" width="238" height="26" rx="8" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
83
|
+
<text x="814" y="303" fill="#141419" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11.5" font-weight="400" text-anchor="start">任何 stdio LSP 服务器</text>
|
|
84
|
+
<rect x="804" y="336" width="238" height="1" fill="#e7e4f0"/>
|
|
85
|
+
<text x="804" y="356" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">initialize → capabilities</text>
|
|
86
|
+
<text x="804" y="372" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">懒启动 · idleTimeoutMs 0 常驻</text>
|
|
87
|
+
<path d="M744 169L786 169" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
88
|
+
<path d="M779 162L786 169L779 176" fill="none" stroke="#4B67B4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
89
|
+
<path d="M744 309L786 309" fill="none" stroke="#4d5261" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 5"/>
|
|
90
|
+
<path d="M779 302L786 309L779 316" fill="none" stroke="#4d5261" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
91
|
+
<path d="M923 380L923 414" fill="none" stroke="#16a34a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
92
|
+
<path d="M916 407L923 414L930 407" fill="none" stroke="#16a34a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
93
|
+
<path d="M800 414L800 398L430 398L430 414" fill="none" stroke="#16a34a" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="5 4"/>
|
|
94
|
+
<path d="M423 407L430 414L437 407" fill="none" stroke="#16a34a" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
95
|
+
<text x="615" y="391" fill="#16a34a" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="700" text-anchor="middle">只读结果直通(6 / 8)</text>
|
|
96
|
+
<rect x="786" y="414" width="274" height="126" rx="16" fill="#ffffff" stroke="#16a34a" stroke-width="1.6"/>
|
|
97
|
+
<text x="802" y="438" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">归一化 + 有界</text>
|
|
98
|
+
<text x="802" y="460" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxDiagnostics 200 · maxSymbols 100</text>
|
|
99
|
+
<text x="802" y="477" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxResultChars 16000</text>
|
|
100
|
+
<text x="802" y="494" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">maxDocumentBytes 4000000</text>
|
|
101
|
+
<text x="802" y="511" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="400" text-anchor="start">timeoutMs 60000</text>
|
|
102
|
+
<text x="802" y="528" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">编辑器 LRU 缓存 64 文件 · 不落盘</text>
|
|
103
|
+
<path d="M786 462L746 462" fill="none" stroke="#bc4c00" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
104
|
+
<path d="M753 455L746 462L753 469" fill="none" stroke="#bc4c00" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
105
|
+
<rect x="482" y="414" width="262" height="126" rx="16" fill="#ffffff" stroke="#bc4c00" stroke-width="1.8"/>
|
|
106
|
+
<rect x="666" y="423" width="64.0" height="22" rx="11.0" fill="#fbeadf" stroke="none" stroke-width="1.5"/>
|
|
107
|
+
<text x="675" y="441" fill="#bc4c00" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="10" font-weight="700" text-anchor="start">仅 2 / 8</text>
|
|
108
|
+
<text x="498" y="440" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">写入单向阀</text>
|
|
109
|
+
<text x="498" y="462" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">① UTF-16 偏移应用服务器编辑</text>
|
|
110
|
+
<text x="498" y="479" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">② 重叠 / 越界 → LSP_ACTION_CONFLICT</text>
|
|
111
|
+
<text x="498" y="496" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">③ fs/write-intent 观测→守卫写→观测</text>
|
|
112
|
+
<text x="498" y="513" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">④ sandbox · read-only 往返前拒绝</text>
|
|
113
|
+
<text x="498" y="530" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">⑤ diff · linesChanged 回传</text>
|
|
114
|
+
<path d="M482 462L446 462" fill="none" stroke="#bc4c00" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
115
|
+
<path d="M453 455L446 462L453 469" fill="none" stroke="#bc4c00" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
116
|
+
<rect x="64" y="414" width="380" height="126" rx="16" fill="#ffffff" stroke="#e4e1ee" stroke-width="1.5"/>
|
|
117
|
+
<text x="80" y="438" fill="#141419" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="15" font-weight="700" text-anchor="start">渲染 · 返回调用方</text>
|
|
118
|
+
<text x="80" y="462" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">诊断文本 / 补全列表 / diff 卡片</text>
|
|
119
|
+
<text x="80" y="480" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">presenter 纯函数:直播与重放同源</text>
|
|
120
|
+
<text x="80" y="498" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">工具结果只存在于会话日志</text>
|
|
121
|
+
<text x="80" y="526" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="10.5" font-weight="400" text-anchor="start">↺ 回到入口,下一轮动作重新解析 seam</text>
|
|
122
|
+
<rect x="40" y="556" width="1020" height="1" fill="#e7e4f0"/>
|
|
123
|
+
<text x="40" y="578" fill="#4d5261" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="12" font-weight="700" text-anchor="start">错误码 · 按 code 路由,绝不解析消息文本</text>
|
|
124
|
+
<text x="1060" y="578" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="end">共 12 个稳定 code</text>
|
|
125
|
+
<rect x="40" y="587" width="163.19999999999993" height="23" rx="11.5" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
126
|
+
<text x="49" y="606" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_UNAVAILABLE</text>
|
|
127
|
+
<rect x="212.19999999999993" y="587" width="163.19999999999993" height="23" rx="11.5" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
128
|
+
<text x="221.19999999999993" y="606" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_UNSUPPORTED</text>
|
|
129
|
+
<rect x="384.39999999999986" y="587" width="176.39999999999992" height="23" rx="11.5" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
130
|
+
<text x="393.39999999999986" y="606" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_SERVER_FAILED</text>
|
|
131
|
+
<rect x="569.7999999999997" y="587" width="143.39999999999995" height="23" rx="11.5" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
132
|
+
<text x="578.7999999999997" y="606" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_CONFLICT</text>
|
|
133
|
+
<rect x="722.1999999999997" y="587" width="149.99999999999994" height="23" rx="11.5" fill="#f7f5fc" stroke="none" stroke-width="1.5"/>
|
|
134
|
+
<text x="731.1999999999997" y="606" fill="#4d5261" font-family="'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,'Microsoft YaHei',monospace" font-size="11" font-weight="700" text-anchor="start">LSP_ACTION_READ_ONLY</text>
|
|
135
|
+
<text x="40" y="636" fill="#8f94a4" font-family="'Segoe UI','Microsoft YaHei','PingFang SC','Noto Sans CJK SC',system-ui,sans-serif" font-size="11" font-weight="400" text-anchor="start">默认只读 · 单 host 行(inject: tools / fs / subprocess)· 无网络 · 有界 · servers: {} 不激活任何服务器,调用时响亮失败</text>
|
|
136
|
+
</svg>
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
package/docs/editor-protocol.md
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/icon.svg
CHANGED
|
File without changes
|
package/lib/abort.d.ts
CHANGED
|
File without changes
|
package/lib/abort.d.ts.map
CHANGED
|
File without changes
|
package/lib/abort.js
CHANGED
|
File without changes
|
package/lib/abort.js.map
CHANGED
|
File without changes
|
package/lib/call-id.d.ts
CHANGED
|
File without changes
|
package/lib/call-id.d.ts.map
CHANGED
|
File without changes
|
package/lib/call-id.js
CHANGED
|
File without changes
|
package/lib/call-id.js.map
CHANGED
|
File without changes
|
package/lib/client.d.ts
CHANGED
|
File without changes
|
package/lib/client.d.ts.map
CHANGED
|
File without changes
|
package/lib/client.js
CHANGED
|
File without changes
|
package/lib/client.js.map
CHANGED
|
File without changes
|
package/lib/connection.d.ts
CHANGED
|
File without changes
|
package/lib/connection.d.ts.map
CHANGED
|
File without changes
|
package/lib/connection.js
CHANGED
|
File without changes
|
package/lib/connection.js.map
CHANGED
|
File without changes
|
package/lib/editor/actions.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/actions.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/cache.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/cache.js
CHANGED
|
File without changes
|
package/lib/editor/cache.js.map
CHANGED
|
File without changes
|
package/lib/editor/server.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/server.js
CHANGED
|
File without changes
|
package/lib/editor/server.js.map
CHANGED
|
File without changes
|
package/lib/editor/service.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/service.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/lib/editor/transport.js
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/types.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/lib/editor/types.js
CHANGED
|
File without changes
|
package/lib/editor/types.js.map
CHANGED
|
File without changes
|
package/lib/edits.d.ts
CHANGED
|
File without changes
|
package/lib/edits.d.ts.map
CHANGED
|
File without changes
|
package/lib/edits.js
CHANGED
|
File without changes
|
package/lib/edits.js.map
CHANGED
|
File without changes
|
package/lib/extension.d.ts
CHANGED
|
File without changes
|
package/lib/extension.d.ts.map
CHANGED
|
File without changes
|
package/lib/extension.js
CHANGED
|
File without changes
|
package/lib/extension.js.map
CHANGED
|
File without changes
|
package/lib/extra-tools.d.ts
CHANGED
|
File without changes
|
package/lib/extra-tools.d.ts.map
CHANGED
|
File without changes
|
package/lib/extra-tools.js
CHANGED
|
File without changes
|
package/lib/extra-tools.js.map
CHANGED
|
File without changes
|
package/lib/framing.d.ts
CHANGED
|
File without changes
|
package/lib/framing.d.ts.map
CHANGED
|
File without changes
|
package/lib/framing.js
CHANGED
|
File without changes
|
package/lib/framing.js.map
CHANGED
|
File without changes
|
package/lib/host.d.ts
CHANGED
|
File without changes
|
package/lib/host.d.ts.map
CHANGED
|
File without changes
|
package/lib/host.js
CHANGED
|
File without changes
|
package/lib/host.js.map
CHANGED
|
File without changes
|
package/lib/index.d.ts
CHANGED
|
File without changes
|
package/lib/index.d.ts.map
CHANGED
|
File without changes
|
package/lib/index.js
CHANGED
|
File without changes
|
package/lib/index.js.map
CHANGED
|
File without changes
|
package/lib/project.d.ts
CHANGED
|
File without changes
|
package/lib/project.d.ts.map
CHANGED
|
File without changes
|
package/lib/project.js
CHANGED
|
File without changes
|
package/lib/project.js.map
CHANGED
|
File without changes
|