MPS as a 'Text Editor'?

I have a proprietary language at work that I would love to give the 'JetBrains' treatment. (Code completion, structure awareness, jumping to definition, etc.) The MPS platform supports all those wonders plus a great hybrid editor that allows faster, less error-prone method of content entry.

I could even use the template system to make the AST visualization look exactly like the text-based DSL we work with AND have MPS output text files that look just the same.

But the base language is what's implemented in the wild and what is read in to the engine and not everyone would be willing to change over to an AST-only system. I would need a way to 'open' a text file via some import method that turns text into the AST with what MPS tries so hard to avoid - parsing - and then 'save' by exporting that AST back out that original text file from whence it came.

I use WebStorm for our Javascript work and Resharper for our C# projects and love the ease of use, just-when-I-need-it suggestion systems, and teaches-while-I-work aspect of all JetBrain produces. They save so much time and energy. Am I doomed to substandard text editors for my proprietary DSL scripting? Or is there a way I could leverage MPS (or some other JetBrains piece of brilliance I am unaware of) to create a superior editing experience for my entire scripting team?
2 comments
I'm happy to say, that yes, in MPS 2.5 we've finally added the ability of writing custom persistence for models. Though it's not ideal yet, you can still use it. So, in your case, you can read and write model just from/to a text file. Yesterday I've updated the doc page for custom persistence, here it is:
http://confluence.jetbrains.net/display/MPSD25/Stubs+and+custom+persistence
If you have any questions after having it read, you are welcome to ask. We'll try to update the documentation correspondingly.

Regards,
Mihail
0
Wow, your response was unslow and helps me just so. I will give it a go and let you know if there are problems in tow or if Thunderbirds are go!
0

Please sign in to leave a comment.