So I thought it would be an interesting exercise to make a plugin for IntelliJ IDEA to edit sourcepawn projects based on this documentation:
http://confluence.jetbrains.com/disp...+IntelliJ+IDEA
Currently I'm working on parsing the sourcepawn grammar using the Grammar-Kit plugin (
http://plugins.jetbrains.com/plugin/?id=6606). It will parse almost all sourcepawn file structure except ternary operations that use a variable reference. Eg, 'test ? func1() : func2()' parses fine, but 'test ? var : func()' is parsed as a tag overridden reference. Still need to go through and check the pin/recover stuff for all of the rules to make sure it recovers on bad code, too. It's a work in progress, I've not much experience with formally defined grammar parsing.
Ideally the end state would be to be able to edit sourcepawn projects inside idea with full language support, including highlighting, refactoring, source code inspections and compile error/warning references.
Repository:
https://github.com/eggsampler/intellij-sourcepawn
I'll keep this thread updated as my tinkering progresses.