Modular Scripting Language Plugin (Look For Some Tips)

Okay so I'm hoping to dive into the world of IntelliJ plugins so I can add support for a language I use frequently, but which currently lacks anything remotely resembling a real development environment.
It's a scripting language, but one that doesn't inherently support any kind of modular development, which is something that I'd hoping to add with some simple import commands.

Anyway, I'm really just looking for advice on what would be the best place to start.

For example, I'll probably define three different file extensions, one for a "root" file, one for modules and one for output files, with the idea being that a root file can import modules, and when finished will automatically build into an output file, ready to run. Now this is kind of how Javascript is developed, since importing separate files is… well unpleasant, so most serious code is reduced into a single script at the end. Is there any code that does this that might make a good starting point for support for a new language? The language itself is fairly c-like in structure, so nothing too difficult I hope.

I'm only just starting to really get a grasp on the documentation and code so far, so please forgive me if I'm missing something obvious; I'm just hoping to hit the ground running so I can get a (very basic) prototype done over the weekend, so I have a better idea of what is needed to finish. Also forgive lapses in terminology; I'm better at using languages than I am at talking about their intricacies ;)

I don't know how bothered I am with advanced features just yet, as just having good syntax highlighting and support for imported modules will be a huge step forward, and refactoring would be a huge bonus if it's easy to do. I do think I'll probably need name-spacing in future, as well as some simple code optimisation (e.g - placing simple functions in-line, optimising away unused and static variables etc.); I'm not worried about these just yet, but I thought I'd mention them in case it affects where I should start, since I know I'll need to keep them in mind as I go on.

Any help or advice will be greatly appreciated; I've worked with plugins in Eclipse in the past, but since moving to IntelliJ I haven't looked back except when I really have to.

Please sign in to leave a comment.