It's not finished yet, but so far it's showing promising results. I was hoping to release a version after the content assist code was finished, so that others could benefit from the DM editor.
A map and icon editor would still be needed, and the use of this software requires a change to the way you'd write code (namely you have to include files manually, which is actually a good thing because then you can decide the order of inclusion).
I'm posting this here in the hopes of finding others with Java skills to help me develop the project. I'm prepared to upload what I have to Github if there's enough attention (though I fear it'll fade into obscurity).
Current features:
- Project build. Calls up dm.exe (fixed location based on hard-coded constant, no configuration yet) and compiles the game.
- Problem markers. If there are errors or warnings markers are created accordingly and you can double-click on them to go to the appropriate file.
- Syntax highlighting. I've tested various permutations and it should be entirely up to specs now including the escape character (\) in strings and code blocks in strings ("[blah]").
- Partial auto-completion. You can use CTRL-Spacebar to bring up a list of suggestions.
Local variables are automatically scanned.
I've converted the DM Reference to XML format and this is used (hard-coded file) to provide suggestions for built-in procs and verbs.
The current object path is used, so if you're in a /mob/proc/blah() it will show stuff from /mob, /atom/movable and /atom (note that parent_type does not work as of yet so the /atom/movable bit is hard-coded).
- Light-weight. I've tried to keep things simple and light so that others can navigate the code a little easier.
- Tested with SS13 build. Once the includes have been moved from the .dme to a loose .dm file in the root of the folder it compiles properly, though due to the time it takes you do have to wait a bit. It's probably best to abort compilation and retry every time a build occurs to prevent this delay from being too much of a nuisance.
EDIT: The project is now available on Github.