Feather is a lightweight IDE written in Java using the JNI-based ImGui renderer by SpaiR at: https://github.com/SpaiR
So far the editor supports
- Multiple windows/docking
- 3 core windows
- Explorer, which allows you to find files to edit
- Editor, which allows you to open files and edit their code
- Console, which displays the system output and allows you to run commands
- A plugin development system
Plugins are a way to create user-designed windows and display them in the program dynamically.
All the core Feather windows are implemented using the plugin system, so they can be used as extra examples.
To develop a plugin, make a class and place it in the plugins
package
Next, edit the class to inherit from the StudioWindow
class
class MyWindow extends StudioWindow{
public MyWindow(GuiMain main) {
super(main);
}
@Override
public String getTitle() {
//Replace with the title of your window
return "My Window";
}
@Override
public void guiUpdate() {
// Do all of your Gui here
Gui.text("This is my window!");
}
}
You will now see your window appear in the Window
menu when you run the application
That's all you have to do! The last step is to click on your window in the menu and it will open as a new dockable gui window.
The Gui
class is an extension of the ImGui
class provided by SpaiR.
- The editor has a bug where you have to double click on a recently added file to open it
Things to implement
- Editor run files
- Implement a debugger
- Plugin publishing and downloading from the web