VSCode Ecore Tree Editor
Components
- VSCode extension (
vscode-ecore-tree-editor-extension
) - Tree Editor frontend (
tree-editor-frontend
) - Tree Language Server (
model-server
) - Tree Document model js-library (
tree-docment-model-js
) - VSCode and Webview RPC js-library (
vscode-webview-tree-editor-rpc
)
The VSCode extension embeds and presents the Tree Editor frontend. The extension talks over the Tree Language Server Protocol (TLSP) to the Tree Language Server, which in turn asks the Ecore Model Server to do the actual work on models and files.
PlantUML code
@startuml
[Tree Editor frontend] as TEf
[VSCode extension] as VSCEx
[EMF Tree Language Server] as TLS
[Tree Document model js-library] as TDMlib
[VSCode and Webview RPC js-library] as VSCWVRPC
artifact "compiled frontend js" as cfs
TEf -right-> cfs : compiles to
TEf --> VSCWVRPC : imports
TEf --> TDMlib : imports
VSCEx --> VSCWVRPC : imports
VSCEx --> TDMlib : imports
VSCEx -left-> cfs : webview
VSCEx <-> TLS : TLSP/JSON-RPC
@enduml
Generic and specific domains
Some parts are generic to all domains suited for a Tree Editor. The rest is specific to Eclipse Modeling Framework (EMF).
Generic components should not contain any references to EMF or Ecore.