Skip to content

Commit 19b0a8b

Browse files
committed
docs: update mermaid
1 parent 7821158 commit 19b0a8b

File tree

1 file changed

+83
-141
lines changed

1 file changed

+83
-141
lines changed

README.md

Lines changed: 83 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -168,149 +168,91 @@ To develop with upstream Volar.js modules, you can setup workspace with https://
168168

169169
## High Level System Overview
170170

171+
<!-- Editor link: https://www.mermaidchart.com/app/projects/c62d8944-0e06-47f0-a8de-f89a7378490f/diagrams/91fd02c0-5c91-4f72-a8b4-7af21b7c4d86/version/v0.1/edit -->
172+
171173
```mermaid
172174
flowchart LR
173-
%% IDEs
174-
VSC[VSCode]
175-
COC[coc.nvim]
176-
NEO[Neovim]
177-
VIM[vim-lsp]
178-
SUBLIME[Sublime]
179-
ATOM[Atom]
180-
EMACS[Emacs]
181-
NOVA[Nova]
182-
LAPCE[Lapce]
183-
184-
%% Language Clients
185-
COC_VUE[yaegassy/coc-volar]
186-
NEO_VUE[neovim/nvim-lspconfig]
187-
VIM_VUE[mattn/vim-lsp-settings]
188-
SUBLIME_VUE[sublimelsp/LSP-volar]
189-
ATOM_VUE[kabiaa/atom-ide-volar]
190-
EMACS_VUE[jadestrong/lsp-volar]
191-
NOVA_VUE[tommasongr/nova-vue]
192-
LAPCE_VUE[xiaoxin-sky/lapce-vue]
193-
194-
click COC_VUE "https://github.com/yaegassy/coc-volar"
195-
click NEO_VUE "https://github.com/neovim/nvim-lspconfig"
196-
click VIM_VUE "https://github.com/mattn/vim-lsp-settings"
197-
click SUBLIME_VUE "https://github.com/sublimelsp/LSP-volar"
198-
click ATOM_VUE "https://github.com/kabiaa/atom-ide-volar"
199-
click EMACS_VUE "https://github.com/jadestrong/lsp-volar"
200-
click NOVA_VUE "https://github.com/tommasongr/nova-vue"
201-
click LAPCE_VUE "https://github.com/xiaoxin-sky/lapce-vue"
202-
203-
%% Volar - Extensions
204-
VSC_VUE[vscode-vue]
205-
VSC_TSVP[vscode-typescript-vue-plugin]
206-
207-
click VSC_VUE "https://github.com/vuejs/language-tools/tree/master/extensions/vscode"
208-
click VSC_TSVP "https://github.com/vuejs/language-tools/tree/master/extensions/vscode-typescript-plugin"
209-
210-
%% Volar - Packages
211-
VOLAR_VUE_SERVER["@vue/language-server"]
212-
VOLAR_VUE_TS["@vue/typescript"]
213-
VOLAR_VUE_CORE["@vue/language-core"]
214-
VOLAR_VUE_SERVICE["@vue/language-service"]
215-
VOLAR_PUG_SERVICE["@volar/pug-language-service"]
216-
VOLAR_TS_SERVICE["@volar/typescript-language-service"]
217-
VUE_TSC[vue-tsc]
218-
VUE_COMPONENT_META[vue-component-meta]
219-
TS_VUE_PLUGIN[typescript-vue-plugin]
220-
221-
click VOLAR_VUE_SERVER "https://github.com/vuejs/language-tools/tree/master/packages/language-server"
222-
click VOLAR_VUE_TS "https://github.com/vuejs/language-tools/tree/master/packages/typescript"
223-
click VOLAR_VUE_CORE "https://github.com/vuejs/language-tools/tree/master/packages/language-core"
224-
click VOLAR_VUE_SERVICE "https://github.com/vuejs/language-tools/tree/master/packages/language-service"
225-
click VUE_TSC "https://github.com/vuejs/language-tools/tree/master/packages/tsc"
226-
click VUE_COMPONENT_META "https://github.com/vuejs/language-tools/tree/master/packages/component-meta"
227-
click TS_VUE_PLUGIN "https://github.com/vuejs/language-tools/tree/master/packages/typescript-plugin"
228-
click VOLAR_PUG_SERVICE "https://github.com/vuejs/language-tools/tree/master/packages/pug-language-service"
229-
click VOLAR_TS_SERVICE "https://github.com/vuejs/language-tools/tree/master/packages/typescript-language-service"
230-
231-
%% External Packages
232-
HTML_SERVICE[vscode-html-languageservice]
233-
CSS_SERVICE[vscode-css-languageservice]
234-
JSON_SERVICE[vscode-json-languageservice]
235-
%% TS[typescript]
236-
VSC_TS[vscode.typescript-language-features]
237-
VUE_REPL["@vue/repl"]
238-
MONACO_VOLAR[Kingwl/monaco-volar]
239-
%% VITE_PLUGIN_CHECKER[fi3ework/vite-plugin-checker]
240-
%% COMPILE_VUE_SFC[leonzalion/compile-vue-sfc]
241-
242-
click HTML_SERVICE "https://github.com/microsoft/vscode-html-languageservice"
243-
click CSS_SERVICE "https://github.com/microsoft/vscode-css-languageservice"
244-
click JSON_SERVICE "https://github.com/microsoft/vscode-json-languageservice"
245-
click TS "https://github.com/microsoft/TypeScript"
246-
click VSC_TS "https://github.com/microsoft/vscode/tree/main/packages/typescript-language-features"
247-
click VUE_REPL "https://github.com/vuejs/repl"
248-
click MONACO_VOLAR "https://github.com/Kingwl/monaco-volar"
249-
%% click VITE_PLUGIN_CHECKER "https://github.com/fi3ework/vite-plugin-checker"
250-
%% click COMPILE_VUE_SFC "https://github.com/leonzalion/compile-vue-sfc"
251-
252-
subgraph VUE_CLIENTS[Language Clients]
253-
direction LR
254-
VUE_CLIENT_SEMANTIC[Semantic Features]
255-
VUE_CLIENT_SYNTACTIC[Syntactic Features]
256-
end
257-
258-
click VUE_CLIENT_SEMANTIC "https://github.com/vuejs/language-tools/discussions/393#discussioncomment-1213736"
259-
click VUE_CLIENT_SYNTACTIC "https://github.com/vuejs/language-tools/discussions/393#discussioncomment-1213736"
260-
261-
subgraph Embedded Language Services
262-
direction LR
263-
VOLAR_TS_SERVICE
264-
VOLAR_PUG_SERVICE
265-
HTML_SERVICE
266-
CSS_SERVICE
267-
JSON_SERVICE
268-
end
269-
270-
VSC --> VSC_VUE
271-
COC --> COC_VUE
272-
NEO --> NEO_VUE
273-
SUBLIME --> SUBLIME_VUE
274-
ATOM --> ATOM_VUE
275-
EMACS --> EMACS_VUE
276-
NOVA --> NOVA_VUE
277-
VIM --> VIM_VUE
278-
LAPCE --> LAPCE_VUE
279-
280-
VSC_VUE --> VUE_CLIENTS
281-
COC_VUE --> VUE_CLIENTS
282-
NEO_VUE --> VUE_CLIENTS
283-
SUBLIME_VUE --> VUE_CLIENTS
284-
ATOM_VUE --> VUE_CLIENTS
285-
EMACS_VUE --> VUE_CLIENTS
286-
NOVA_VUE --> VUE_CLIENTS
287-
VIM_VUE --> VUE_CLIENTS
288-
LAPCE_VUE --> VUE_CLIENTS
289-
290-
VUE_CLIENTS -- Language Server Protocol --> VOLAR_VUE_SERVER
291-
292-
VSC --> VSC_TS
293-
VSC_TS --> VSC_TSVP
294-
VSC_TSVP --> TS_VUE_PLUGIN
295-
VOLAR_VUE_SERVER --> VOLAR_VUE_SERVICE
296-
VUE_TSC --> VOLAR_VUE_TS
297-
%% VITE_PLUGIN_CHECKER --> VUE_TSC
298-
%% COMPILE_VUE_SFC --> VUE_TSC
299-
TS_VUE_PLUGIN --> VOLAR_VUE_TS
300-
301-
VUE_REPL --> MONACO_VOLAR
302-
MONACO_VOLAR --> VOLAR_VUE_SERVICE
303-
304-
%% VOLAR_VUE_TS --> TS
305-
VUE_COMPONENT_META --> VOLAR_VUE_CORE
306-
VOLAR_VUE_TS --> VOLAR_VUE_CORE
307-
308-
VOLAR_VUE_SERVICE --> VOLAR_VUE_CORE
309-
VOLAR_VUE_SERVICE --> VOLAR_TS_SERVICE
310-
VOLAR_VUE_SERVICE --> VOLAR_PUG_SERVICE
311-
VOLAR_VUE_SERVICE --> HTML_SERVICE
312-
VOLAR_VUE_SERVICE --> CSS_SERVICE
313-
VOLAR_VUE_SERVICE --> JSON_SERVICE
175+
subgraph subGraph1["Language Service Plugins"]
176+
direction LR
177+
VOLAR_TS_SERVICE["TypeScript"]
178+
VOLAR_PUG_SERVICE["Pug"]
179+
HTML_SERVICE["HTML"]
180+
CSS_SERVICE["CSS"]
181+
JSON_SERVICE["JSON"]
182+
EMMET_SERVICE["Emmet"]
183+
end
184+
subgraph subGraph2["VSCode Extensions"]
185+
direction TB
186+
VSC_VUE["Vue Extension"]
187+
VSC_TS["TypeScript Extension"]
188+
end
189+
subgraph subgraph_iuodo42oc["Third Party Tools"]
190+
NUXT_META["nuxt-component-meta"]
191+
STORYBOOK["storybook"]
192+
CHECKER["vite-plugin-checker"]
193+
DTS["vite-plugin-dts"]
194+
SFC_PLAYGROUND["@vue/sfc-playground"]
195+
n6["@vue/repl"]
196+
nv["@vue/sfc-playground"]
197+
end
198+
subgraph subGraph4["IDEs"]
199+
direction TB
200+
VSC["VSCode"]
201+
COC["coc.nvim"]
202+
NEO["Neovim"]
203+
SUBLIME["Sublime"]
204+
ATOM["Atom"]
205+
EMACS["Emacs"]
206+
NOVA["Nova"]
207+
VIM["vim-lsp"]
208+
LAPCE["Lapce"]
209+
n4["WebStorm"]
210+
end
211+
VSC -- Plug-in --> VSC_VUE
212+
VSC -- Built-in --> VSC_TS
213+
COC -- Plug-in --> COC_VUE["coc-volar"]
214+
NEO -- Plug-in --> NEO_VUE["nvim-lspconfig"]
215+
SUBLIME -- Plug-in --> SUBLIME_VUE["LSP-volar"]
216+
ATOM -- Plug-in --> ATOM_VUE["atom-ide-volar"]
217+
EMACS -- Plug-in --> EMACS_VUE["lsp-volar"]
218+
NOVA -- Plug-in --> NOVA_VUE["nova-vue"]
219+
VIM -- Plug-in --> VIM_VUE["vim-lsp-settings"]
220+
LAPCE -- Plug-in --> LAPCE_VUE["lapce-vue"]
221+
VOLAR_VUE_SERVER["@vue/language-server"] -. Depends on ..-> VOLAR_VUE_SERVICE["@vue/language-service"]
222+
VUE_TSC["vue-tsc"] -..-> VOLAR_VUE_CORE["@vue/language-core"]
223+
VUE_COMPONENT_META["vue-component-meta"] -. Depends on ..-> VOLAR_VUE_CORE
224+
VOLAR_VUE_SERVICE -. Depends on ..-> VOLAR_VUE_CORE & subGraph1
225+
TS_VUE_PLUGIN["@vue/typescript-plugin"] -. Depends on ..-> VOLAR_VUE_CORE
226+
VSC_VUE <-- LSP --> VOLAR_VUE_SERVER
227+
COC_VUE <-- LSP --> VOLAR_VUE_SERVER
228+
NEO_VUE <-- LSP --> VOLAR_VUE_SERVER
229+
SUBLIME_VUE <-- LSP --> VOLAR_VUE_SERVER
230+
ATOM_VUE <-- LSP --> VOLAR_VUE_SERVER
231+
EMACS_VUE <-- LSP --> VOLAR_VUE_SERVER
232+
NOVA_VUE <-- LSP --> VOLAR_VUE_SERVER
233+
VIM_VUE <-- LSP --> VOLAR_VUE_SERVER
234+
LAPCE_VUE <-- LSP --> VOLAR_VUE_SERVER
235+
VSC_VUE -. Depends on .-> TS_VUE_PLUGIN
236+
VSC_VUE -. Provides @vue/typescript-plugin .-> VSC_TS
237+
NUXT_META -. Depends on ..-> VUE_COMPONENT_META
238+
STORYBOOK -. Depends on ..-> VUE_COMPONENT_META
239+
CHECKER -. Depends on ..-> VUE_TSC
240+
DTS -. Depends on ..-> VUE_TSC
241+
SFC_PLAYGROUND -. Depends on ..-> VOLAR_VUE_SERVICE
242+
n4 <-- LSP --> VOLAR_VUE_SERVER
243+
n6 -. Depends on .-> VOLAR_VUE_SERVICE
244+
nv -. Depends on .-> n6
245+
style VSC_VUE fill:#FFD600
246+
style VOLAR_VUE_SERVER fill:#FFD600
247+
style VOLAR_VUE_SERVICE fill:#FFD600
248+
style VUE_TSC fill:#FFD600
249+
style VOLAR_VUE_CORE fill:#FFD600
250+
style VUE_COMPONENT_META fill:#FFD600
251+
style subGraph1 fill:none
252+
style TS_VUE_PLUGIN fill:#FFD600
253+
style subgraph_iuodo42oc fill:none
254+
style subGraph2 fill:none
255+
style subGraph4 fill:none
314256
```
315257

316258
---

0 commit comments

Comments
 (0)