MCPcopy Index your code
hub / github.com/JetBrains/jetpad-projectional-open-source

github.com/JetBrains/jetpad-projectional-open-source @jetpad-projectional-1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release jetpad-projectional-1.0.0 ↗ · + Follow
3,880 symbols 14,604 edges 517 files 13 documented · 0% updated 3y ago★ 757 open issues

Browse by type

Functions 3,256 Types & classes 624
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JetBrains JetPad Projectional Editing Framework

Projectional editing is an approach to editing where instead of working with text as is, user works with model data structure directly. The following widely used applications can be considered projectional editors: * WYSIWYG text editor * Spreadsheet applications * Diagram editors

The framework implements projectional editor in the style of JetBrains MPS (http://www.jetbrains.com/mps/), with the following advantages over it: * Support for web - the framework uses GWT for this purpose * Testability - it's possible to create fast test for almost any editor. * Better architecture

It also supports new features which aren't available in MPS: * Diagrams - it's possible to create diagrams with the framework and mix and match diagrams with MPS-like editors * Hybrid editing - hybrid approach to expression editing which makes it much more text like while keeping most of the projectional editor's benefits

This framework is based on JetBrains JetPad Mappers framework (https://github.com/JetBrains/jetpad-mapper). You need to install its artifacts, if you want to use or participate in the development of the framework.

You can try the following online demo: * http://jb-proj-demo.appspot.com/ - projectional editing, hybrid editing, diagrams * http://mbeddr-dataflow.appspot.com/ - data flow editor demo

Modules: * cell - cells * projectional - projectional (MPS like) editing * hybrid - hybrid editors * dataflow - data flow diagram demo * demo - demos * domUtil - dom utilities * event - commonly used event objects * grammar - dynamic LR parser generator which is used in projectional editing framework * view - views for projectional editing. Can be targeted to AWT graphics or SVG in browser

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 3,256
Class 555
Interface 56
Enum 13

Languages

Java100%

Modules by API surface

projectional/src/test/java/jetbrains/jetpad/projectional/cell/ProjectionalListSynchronizerTest.java105 symbols
view/src/main/java/jetbrains/jetpad/projectional/view/View.java90 symbols
hybrid/src/test/java/jetbrains/jetpad/hybrid/HybridEditorTest.java84 symbols
cell/src/main/java/jetbrains/jetpad/cell/Cell.java80 symbols
projectional/src/main/java/jetbrains/jetpad/projectional/cell/BaseProjectionalSynchronizer.java70 symbols
hybrid/src/main/java/jetbrains/jetpad/hybrid/HybridSynchronizer.java61 symbols
cell/src/test/java/jetbrains/jetpad/cell/text/TextEditingTest.java61 symbols
view/src/main/java/jetbrains/jetpad/projectional/view/awt/ViewContainerComponent.java59 symbols
view/src/main/java/jetbrains/jetpad/projectional/view/ViewContainer.java44 symbols
view/src/test/java/jetbrains/jetpad/projectional/view/ViewTest.java41 symbols
diagram/src/main/java/jetbrains/jetpad/projectional/diagram/algorithm/orthogonal/OrthogonalRouteWithObstacles.java41 symbols
cell/src/main/java/jetbrains/jetpad/cell/CellContainer.java38 symbols

For agents

$ claude mcp add jetpad-projectional-open-source \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page