Graphedit is an application for visualising, creating, editing and debugging graph-based languages
The project is compiled using gradle
(version 7+):
# Just build the app
gradle build
# Compile and start the editor
gradle run
If you open the project in an editor and the class BuildConfig
doesn't exist, simply running gradle build
should autogenerate the class.
Graphedit supports third party plugins. Take a look at the official template repository as a starting point on creating your own plugin.
Also make sure to take a look at the javadocs page for reference as well. If you want more of an example, take a look at how the std
plugin is structured.
With graphedit version 1.5.0+ you can also extend the editor using the Lua programming language.
Simply add a file called init.lua
in the graphedit configuration directory (see below) and start scripting! See the official lua-types repository for details on what is possible.
- Windows:
%APPDATA%/graphedit/lua/init.lua
- Linux:
~/.local/graphedit/lua/init.lua
- MacOs:
~/Library/Application Support/Graphedit/lua/init.lua
If you write a java plugin, you can submit .jar
releases to the plugin database and the Plugin sidepanel will display it for all other Graphedit users as available for download!
We welcome all contributions. If you want to contribute, please take a look at the contribution guidelines and the github project to see what needs to be done / is currently being worked on.
We provide .deb
and .rpm
packaging formats directly from the github releases
Download the .deb
file from the latest github release
wget https://github.com/sillydan1/graphedit/releases/latest/download/graphedit.deb
dpkg -i graphedit.deb
Download the .rpm
file from the latest github release
wget https://github.com/sillydan1/graphedit/releases/latest/download/graphedit.rpm
rpg -i graphedit.rpm
After installing you may need to go into system settings > privacy settings and allow the app to be run. Alternatively, you can follow this guide.
brew install sillydan1/graphedit/graphedit
or download the .dmg directly from the latest github release.
Simply Download the .msi installer from the latest github release and run it.
Graphedit is designed from the ground up to be easy to extend with an opinionated, but easy to understand and efficient architecture. You can extend the editor using plugins. Take a look at the plugin github template to get started on writing your own plugin.
This project is strongly influenced by the MVVM (Model View ViewModel) design pattern and the classes and packages are named appropriately so.
Includes all the core functionality for Graphedit. This includes all the views, viewmodels, models and all the associtated business logic such as serializers and various tooling.
The primary entrypoint for the default application. Doesn't do much other than start.
The standard plugin that provides some additional language syntaxes and example language server implementations.