Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] DSL extension

Gianluca:

Your request is beyond my skill set!  

The Che engineers will respond and I'll create a ticket in our Codenvy support system to get a follow up response assigned.

Tyler

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55


On Mon, May 18, 2015 at 4:04 AM, <gianluca@xxxxxxxxxxx> wrote:
Hi,

Thanks for the pointers Tyler, I’ve been able to make a lot of progress in the last couple of days.
Indeed, the Java plugin example has everything I was looking for, unfortunately, it’s really tightly coupled with JDT internal classes. Maybe some of those classes could be abstracted away and included in the che-core project so it would make it easier for other people to create their own extensions, instead of duplicating things like ProblemAnnotation, TextEdit, etc.

But now I’m stuck with the implementation of my own JavaParserWorker. My parser depends on various external libraries which I can’t provide the source code for, so when I try to build the SDK with my extension, I get multiple errors like this:

No source code is available for type some.package.Class; did you forget to inherit a required module?

My parser worker implementation is in the “worker” package, which is configured in the GWT module as a web-worker (just like in the Java plugin), so when it tries to generate the _javascript_ code, it can’t find the source code for the external libraries.
The parser is invoked in the “onMessageReceived” method of the WorkerMessageHandler.

So, my question is, how can I provide a parser implementation that depends on external, binary, java libraries?

Thanks,
Gianluca Righetto

--------- Original Message ---------
Subject: Re: [che-dev] DSL extension
From: "Tyler Jewell" <tyler@xxxxxxxxxxx>
Date: 5/16/15 12:04 pm
To: "che developer discussions" <che-dev@xxxxxxxxxxx>

Hello Gianluca:
 
Sorry that some of our tutorials on Codenvy are out of date.  We have just recently done a substantial evolution of our platform & extension APIs and we have not had a chance to get all of the tutorials updated.  We will be doing a revamp during this year.
 
Yes, it is possible to create extensions that support DSLs.  My recommendation is to follow the examples that are done in the Java extension.  It supports visual extensions into the CodeMirror editor, content assist, code folding, refactoring, etc.
 
You can see the latest example here:  https://github.com/codenvy/plugin-java/tree/master.
 
As you work through that example, please feel free to post questions to che-dev, and I'll ask various engineers to weigh in to help.
 
Tyler

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55

 

On Sat, May 16, 2015 at 7:43 AM, <gianluca@xxxxxxxxxxx> wrote:

Hi,

I’m getting started with Eclipse Che and everything looks great so far! I just have a question regarding DSL support.

Would it be possible to create an extension to support a domain-specific language? I’ve tried to follow the tutorial here: http://docs.codenvy.com/che/tutorials-samples/#create-editor, but it seems this is not up-to-date with the latest version of the code (there’s no getParser method in GroovyEditorConfiguration.java anymore).

Also, I couldn’t find anything obvious on how the parser is injected/provided for the currently supported languages (Java, Python, C++, Ruby, ...).
I’d be interested in not only having syntax highlighting for my DSL, but also content assist and quick fixes.

If you guys have any pointers for me, I'd appreciate it.

Thanks,
Gianluca Righetto


_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/che-dev
_______________________________________________ che-dev mailing list che-dev@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/che-dev

_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/che-dev



Back to the top