Skip to content

A Dylan Environment For Tools. An experimental plugin for IntelliJ providing Dylan support.

License

Notifications You must be signed in to change notification settings

dylan-foundry/DeftIDEA

Repository files navigation

DeftIDEA

This is an experimental plugin for IntelliJ to provide IDE-like functionality.

Getting Started

Developing the plugin requires that you have the IntelliJ community edition source code and various plugins installed. These are required if you are modifying the lexers or parsers. Otherwise, you can use the generated versions of the files that we have committed.

Currently, the easiest way is to follow the tutorial for writing a custom language plugin.

Be sure to also disable the external compiler via the Settings → Compiler → Use external build option.

To run the plugin in a separate IntelliJ IDEA instance you need to add a run configuration. To do this open the Run/Debug Configurations window (via Run → Edit Configurations...), click the + button and choose Plugin. You can rename your configuration to a more descriptive name such as "DeftIDEA".

Documentation

Writing an IntelliJ plugin requires finding and reading documentation on a variety of things:

IntelliJ Plugin Development:

GrammarKit:

Other plugins to look at:

Configuring IntelliJ

Virtual Whitespace at the end of the line:
This can be disabled in the editor preferences.

Tests

See http://confluence.jetbrains.com/display/IntelliJIDEA/Writing+Tests+for+Plugins.

The parsing tests page does not say that the name of the method dictates the name of the files, but it does. For example, for "testHeaderSourceSeparation" you need "HeaderSourceSeparation.dylan" and "HeaderSourceSeparation.txt". Also, the tests assume that your checkout of the IDEA community sources is next to the DeftIDEA project.

About

A Dylan Environment For Tools. An experimental plugin for IntelliJ providing Dylan support.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages