Bug 477963 - Improve the AQL completion to be on par with the JDT
Summary: Improve the AQL completion to be on par with the JDT
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 3.0.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
: 484851 (view as bug list)
Depends on: 475131
Blocks: 479752
  Show dependency tree
 
Reported: 2015-09-21 10:42 EDT by Stephane Begaudeau CLA
Modified: 2016-06-06 07:06 EDT (History)
3 users (show)

See Also:


Attachments
Screenshot of the improved completion for AQL (439.32 KB, image/png)
2015-09-21 10:42 EDT, Stephane Begaudeau CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stephane Begaudeau CLA 2015-09-21 10:42:45 EDT
Created attachment 256717 [details]
Screenshot of the improved completion for AQL

In this new step in my quest to improve the AQL code completion in Sirius, it is time to improve more advanced areas that are a bit lacking compared to the JDT including:

1 - camel case support for the proposals
"self.eAlCo" should propose eAllContents() and eAllContents(type).

2 - camel case filtering

"self.e" should propose things like eContents() and eAllContents() but while keeping the proposals open, typing "AC" to have "self.eAC" should filter the proposals to only show things like eAllContents(). This feature would have to be supported, for the interpreters that want it in the Sirius/JFace integration.

3 - styled string support

This should be done without any dependency to the UI for the AQL runtime or the Sirius completion proposals. This work should also simplify the integration for other interpreter whiteout any dependency to AQL directly. The styled string support should be visible both in the proposals and their documentation.

4 - better documentation viewer

Using a custom IInformationControl Sirius could control advanced features like a hyperlink detector or even additional actions, in the JDT there is the Open Declaration action for example. We could also control the text wrapping, the scrollbar etc.

Those improvements may not be available in Sirius 3.1 since I have to clean things a bit and the deadline maybe a bit to close to integrate this work (unless you want it NOW!) but I will try to contribute it soon. Of course, those new behaviors should degrade nicely with proposals that do not support them for other interpreters.

As usual, I have attached an image to this issue as a teasing of things to come :)
Comment 1 Pierre-Charles David CLA 2015-09-22 07:37:08 EDT
(In reply to Stephane Begaudeau from comment #0)
> Those improvements may not be available in Sirius 3.1 since I have to clean
> things a bit and the deadline maybe a bit to close to integrate this work
> (unless you want it NOW!) but I will try to contribute it soon.

All of these sound (and look) good, but we're approaching the final freeze for 3.1, so I'm putting this for 4.0 (may happen in a milestone). No hurry to finish your patches.
Comment 2 Maxime Porhel CLA 2015-10-14 09:32:36 EDT
Additional task

The analysis of the proposal start typed by the specifier (VSM editor) or by a user (interpreter view) should not be case sensitive, the completion should allow (like the MTL completion)
 . to type aql:self.NA to retrieve aql:self.name 
 . to type aql:self.eallco to retrieve aql:self.eAllContents()
Comment 3 Pierre-Charles David CLA 2015-12-15 04:10:49 EST
Moving out of the 4.0 scope for now, along with all the other issues which were there "by default". This does not mean some of these will not be re-integrated at some point, but for now these issues are not part of the roadmap for 4.0.

If you feel strongly about this removal from 4.0 and/or are ready to sponsor the corresponding work, feel free to comment.
Comment 4 Pierre-Charles David CLA 2016-06-06 07:06:59 EDT
*** Bug 484851 has been marked as a duplicate of this bug. ***