Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wtp-dev] JSDT & Extension features (refactoring, search)

Hi,

I'm not sure if SSE is the correct technology for code editors. I've not
yet looked very deep into it but if I got it right the
StructuredTextPartitioner already requires a completely parsed
source-file where as most code-editors are built upon FastPartitioner
(eg used by JDT).

StructuredTextPartitioner currently also does not implement all the
IDocumentPartitionerExtensions who provide better performance, so I
don't see how JSDT-Editor could ever be based upon it.

Tom

On 04.03.16 18:40, Gorkem Ercan wrote:
> 
> 
> On 4 Mar 2016, at 3:18, Max Andersen wrote:
> 
>> You mean jsdt supporting text mate syntax bundles ?
>>
>> I think that's interesting but not something that fit into jsdt.
>>
> Yes, it fits better to SSE and JSDT Editor would benefit from it.
> 
>> Have you looked at the work tom Schindl done on making a generic text
>> editor at platform level to enable things like this?
>> /max
>> http://about.me/maxandersen
>>
>>
>> On 04 Mar 2016, at 08:42, Angelo zerr <angelo.zerr@xxxxxxxxx> wrote:
>>
>> Hi Gorkem,
>>
>> I have forgotten to say you that I had started a POC with TextMate.
>> Are you
>> interested with my work? It's not finished but I will try to integrate
>> inside JSDT Editor and if it works I would liek to provide a PR with an
>> extension point to override the default JSDT syntax coloration. It should
>> be fantastic if JSDT could provide this extension point
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=486961 for Neon. If it's
>> possible I will implement this extension point with my TextMate work and
>> Eclipse user will be available to benefit with JSX, Angular2 syntax
>> coloration this year.
>>
>> Regard's Angelo
>>
>> 2016-03-03 20:06 GMT+01:00 Angelo zerr <angelo.zerr@xxxxxxxxx>:
>>
>>>> Angelo what does your ESLint validator use(other than aslint)?
>>>
>>> I'm afraid that you will not able to use directly because I use a tern
>>> plugin per linter for that  (tern-eslint, tern-jshint, tern-lint,
>>> tern-jscs)
>>> Those tern linter uses ESLint, JSHint, API and returns the same message
>>> error (so it's easy to implement your own linter).
>>>
>>> But you could adapt
>>> https://github.com/angelozerr/tern-eslint/blob/master/eslint.js#L394 to
>>> use it without tern plugin.
>>>
>>>> Can we run it with Nashorn?
>>>
>>> Yes, since tern can be executed with Nashorn
>>> https://github.com/angelozerr/tern.java/tree/master/core/tern.server.nashorn
>>>
>>>
>>> 2016-03-03 18:53 GMT+01:00 Gorkem Ercan <gorkem.ercan@xxxxxxxxx>:
>>>
>>>>
>>>>
>>>> On 3 Mar 2016, at 11:25, Angelo zerr wrote:
>>>>
>>>>
>>>>>>
>>>>>> I think we are gradually turning JavaScript Editor to a proper SSE
>>>>>> editor.
>>>>>> Victor is now looking to integrate
>>>>>> reconcile validators as an extension point. The batch validation
>>>>>> is also
>>>>>> moving to become WTP validation.
>>>>>> I think this will help you with these typescript/jsx cases.
>>>>>>
>>>>>>
>>>>> Today I have developped a WTP validation. for TypeScript file
>>>>> (*.ts) by
>>>>> hacking the WTP validation. ( I add a  DocumentRegionProcessor when
>>>>> JSDT
>>>>> editor is opened).
>>>>> It works great (I had done that too for tern.java with WTP
>>>>> Validator for
>>>>> JSHint, ESLint, etc).
>>>>>
>>>>> With your integration, it will be more cleaner. Is it planned for
>>>>> neon?
>>>>>
>>>>>
>>>> Yes the target is Neon. Hopefully, you will no longer need the
>>>> DocumentRegionProcessor hack
>>>> anymore. We plan to convert the basic JS syntax validation to use
>>>> WTP/SSE style validators.
>>>>
>>>> Angelo what does your ESLint validator use(other than aslint)? Can
>>>> we run
>>>> it with Nashorn? The old JSDT parser
>>>> is a combination of a linter and syntax parser and with the move to
>>>> Esprima we are loosing the
>>>> linter type markers. I am looking into the possibility of pulling in a
>>>> linter to JSDT to fill the gap.
>>>>
>>>>
>>>>
>>>>> Also semantic highlighting can be the next step forward. I also
>>>>> want to
>>>>>> explore if we can utilize
>>>>>> Textmate language grammars to provide default highlighting.
>>>>>>
>>>>>
>>>>>
>>>>> I love this idea:) VSCode uses exactly this idea. See
>>>>>
>>>>> https://github.com/Microsoft/vscode/tree/master/extensions/javascript/syntaxes
>>>>>
>>>>>
>>>>>
>>>> There are other editors out there that use Textmate grammars too. It is
>>>> the
>>>> de facto standard nowadays.
>>>>
>>>>
>>>> Regard's Angelo
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> Regard's Angelo
>>>>>>
>>>>>>>
>>>>>>> 2016-03-03 3:25 GMT+01:00 Doug Schaefer <cdtdoug@xxxxxxxxx>:
>>>>>>>
>>>>>>> Anyone know of a JSX/ES6 plug-in? I've become a big React fan the
>>>>>>> last
>>>>>>> few
>>>>>>>
>>>>>>>> months and would love proper support (instead of confusing the poor
>>>>>>>> JavaScript editor). I'll be showing some of my work at EclipseCon
>>>>>>>> with my
>>>>>>>> IDE for IoT demo and will have to do some handwaving.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Doug.
>>>>>>>>
>>>>>>>> On Wed, Mar 2, 2016 at 2:07 AM, Angelo zerr <angelo.zerr@xxxxxxxxx>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Gorkem,
>>>>>>>>
>>>>>>>>>
>>>>>>>>> I understand that it's a little hard for you to give me an
>>>>>>>>> answer. I
>>>>>>>>> will
>>>>>>>>> study refactor/search in few months.
>>>>>>>>>
>>>>>>>>> Now I would like to start developping Angular2 Eclipse plugin
>>>>>>>>> but as
>>>>>>>>> Angular2 uses syntax with [], () for attributes names, HTML editor
>>>>>>>>> doesn't
>>>>>>>>> support it -(
>>>>>>>>> See https://github.com/angelozerr/angular2-eclipse/issues/1
>>>>>>>>>
>>>>>>>>> Regard's Angelo
>>>>>>>>>
>>>>>>>>> 2016-03-02 1:29 GMT+01:00 Gorkem Ercan <gorkem.ercan@xxxxxxxxx>:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> We are continuing with our plan to drop the inference engine and
>>>>>>>>>> replace
>>>>>>>>>> the parser with Esprima.
>>>>>>>>>> Search and refactoring are two areas of JSDT that will be
>>>>>>>>>> impacted
>>>>>>>>>> highly from this change.
>>>>>>>>>> At this time, it is very hard for anyone to be able to asses
>>>>>>>>>> if we
>>>>>>>>>> can
>>>>>>>>>> have extensions on these areas.
>>>>>>>>>> I wish I had a better answer at this time.
>>>>>>>>>>
>>>>>>>>>> —
>>>>>>>>>> Gorkem
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 1 Mar 2016, at 10:48, Angelo zerr wrote:
>>>>>>>>>>
>>>>>>>>>> Hi guys,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> I would like to know if JSDT has the intention to provide some
>>>>>>>>>>> extension to
>>>>>>>>>>> override features and delegate features to an other component
>>>>>>>>>>> (ternjs,
>>>>>>>>>>> typescript, etc) like search, or refactor.
>>>>>>>>>>>
>>>>>>>>>>> In my case I would like to use for instance rename of tern.js
>>>>>>>>>>> (with
>>>>>>>>>>> tern.java) and rename of TypeScript (typescript.java) inside
>>>>>>>>>>> Eclipse.
>>>>>>>>>>> My
>>>>>>>>>>> question is:
>>>>>>>>>>>
>>>>>>>>>>> * implement my own refactor action?
>>>>>>>>>>> * use JSDT refactor action and override it (if in the future it
>>>>>>>>>>> will
>>>>>>>>>>> be
>>>>>>>>>>> supported).
>>>>>>>>>>>
>>>>>>>>>>> There are several problems by using JSDT or search feature:
>>>>>>>>>>>
>>>>>>>>>>> * the project must have JSDT nature (otherwise Refactor menu
>>>>>>>>>>> item
>>>>>>>>>>> doesn't
>>>>>>>>>>> appear, search with Ctrl+Shift+G cannot be executed). In the
>>>>>>>>>>> case
>>>>>>>>>>> of
>>>>>>>>>>> typescript.java and tern.java I don't need to have the JSDT
>>>>>>>>>>> nature.
>>>>>>>>>>>
>>>>>>>>>>> * refactor, search works with an IJavaScriptUnit although in my
>>>>>>>>>>> case,
>>>>>>>>>>> I
>>>>>>>>>>> don't need that. I want just offset to consume TypeScript
>>>>>>>>>>> service
>>>>>>>>>>> language
>>>>>>>>>>> or ternjs, and that's all.
>>>>>>>>>>>
>>>>>>>>>>> See problem with tern.java with search with Ctrl+Shift+G:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> https://github.com/angelozerr/tern.java/issues/339#issuecomment-146618346
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Please tell me if you think that JSDT coudl provide some
>>>>>>>>>>> extensionb.
>>>>>>>>>>> Otherwise I will implement search and refactor from scratch.
>>>>>>>>>>>
>>>>>>>>>>> Many thanks
>>>>>>>>>>>
>>>>>>>>>>> Regard's Angelo
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> wtp-dev mailing list
>>>>>>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>>>> unsubscribe
>>>>>>>>>>> from this list, visit
>>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>
>>>>>>>>>> wtp-dev mailing list
>>>>>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>>> unsubscribe
>>>>>>>>>> from this list, visit
>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> wtp-dev mailing list
>>>>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>> unsubscribe
>>>>>>>>> from this list, visit
>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> wtp-dev mailing list
>>>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>> unsubscribe
>>>>>>>> from this list, visit
>>>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>> wtp-dev mailing list
>>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>> unsubscribe
>>>>>>> from this list, visit
>>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>>
>>>>>>> _______________________________________________
>>>>>> wtp-dev mailing list
>>>>>> wtp-dev@xxxxxxxxxxx
>>>>>> To change your delivery options, retrieve your password, or
>>>>>> unsubscribe
>>>>>> from this list, visit
>>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>>
>>>>>> _______________________________________________
>>>>> wtp-dev mailing list
>>>>> wtp-dev@xxxxxxxxxxx
>>>>> To change your delivery options, retrieve your password, or
>>>>> unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>>
>>>> _______________________________________________
>>>> wtp-dev mailing list
>>>> wtp-dev@xxxxxxxxxxx
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>>>>
>>>
>>>
>> _______________________________________________
>> wtp-dev mailing list
>> wtp-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
>> _______________________________________________
>> wtp-dev mailing list
>> wtp-dev@xxxxxxxxxxx
>> To change your delivery options, retrieve your password, or
>> unsubscribe from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/wtp-dev
> _______________________________________________
> wtp-dev mailing list
> wtp-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/wtp-dev


-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck


Back to the top