[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [wtp-dev] JSDT & Extension features (refactoring, search)
|
It will be a chicken egg with the license. Can't really help pushing
forward if the license is GPL which prevents it not only from being
use at eclipse foundation but also I can't even bundle outside the
foundation with other EPL or ASL code :/
/max
http://about.me/maxandersen
> On 04 Mar 2016, at 20:45, Tom Schindl <tom.schindl@xxxxxxxxxxxxxxx> wrote:
>
> Hi,
>
> As Max pointed towards my work I think I should provide some background.
>
> The main target of the stuff I'm working on is any type of application
> no matter if you just work on your simple RCP and want a scripting
> editor, want to implement a fully blow IDE or you have a simple none
> OSGi-based application.
>
> So I've taken care to not depend on anything beside org.eclipse.text and
> then based on your UI-Technology org.eclipse.jface.text or our JavaFX
> replacement.
>
> The basic idea is that syntax highlight should be a configuration thing
> and not something you express with (java)code. I've naturally looked at
> TextMate definition but decided against making this as the default
> definition language for highlightings but something that is very close
> to how Eclipse-Text inner workings.
>
> But eventually someone could write a converter who builds the in memory
> model from eg TextMate.
>
> At dev-time we use a DSL but at runtime we use JSON-Files to load the
> configurations from.
>
> * Dev-Time Format:
> http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/tree/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/js.ldef
>
> * Runtime-Time Format:
> http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/tree/bundles/code/org.eclipse.fx.code.editor.langs/src-gen/org/eclipse/fx/code/editor/ldef/langs/js.json
>
> Another must is the possibility to provide themes easily (which for
> JavaFX is fairly easy as we simply delegate to JavaFX-CSS) but for SWT
> we implemented our own story and no I don't think SWT-CSS is the correct
> solution, if I want to write a lightweight SWT-UI I never ever add all
> the e4 CSS stuff!
>
> Finally let me talk a but about the basic framework idea:
>
> *Everything is a service!*
>
> * lexical-highlighting is a service
> * auto-complete is a service
> * hover is a service
> * annotation (errors, break-points, ...) is service
>
> So the editor really does not really care where things come from and all
> of them are optional services!
>
> We currently have opensource impls for:
> * dart
> * typescript (current version is completely different to the v1 where
> we used ts-server but we now directly call the LanguageService-API
> [1,2])
> * highlighting for various languages [3]
>
> So finally why GPLv3?
>
> First of all the basics framework features are EPL because they are part
> of e(fx)clipse, the SWT-bits are currently available under GPL because I
> wanted to keep tighter control what happens with the code until others
> help push this forward.
>
> BestSolution.at is the last company who would refuse to relicense under
> EPL if others contribute towards getting a new, better and more
> lightweight editor framework out up and running at Eclipse.
>
> And yes I said NEW because what I've seen so far from SSE is that is
> much too heavyweight for my use cases.
>
> BestSolution.at primarily focuses on JavaFX (Editors) but that does not
> mean we would not push the Eclipse IDE forward if we see a business case
> for that.
>
> Tom
>
> [1]http://tomsondev.bestsolution.at/2016/02/08/javascript-performance-v8-vs-nashorn-for-typescript-language-service/
> [2]http://tomsondev.bestsolution.at/2016/02/09/useing-typescript-languageservice-to-build-an-jstypescript-ide-in-java/
> [3]http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/tree/bundles/code/org.eclipse.fx.code.editor.langs/src/org/eclipse/fx/code/editor/ldef/langs/
>
>
>
>> On 04.03.16 18:02, Max Rydahl Andersen wrote:
>> On 4 Mar 2016, at 9:29, Angelo zerr wrote:
>>
>> Hi Max,
>>
>> 2016-03-04 9:18 GMT+01:00 Max Andersen manderse@xxxxxxxxxx
>> <mailto:manderse@xxxxxxxxxx>:
>>
>> You mean jsdt supporting text mate syntax bundles ?
>>
>> I mean using TextMate syntax (coming from VSCode which is MIT
>> license) for
>> JSX, TypeScript, JS file extension.
>>
>> But for JSDT, I need just an extension point to override
>> IJavaCodeScanner
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=486961
>>
>> After that, you can implement it like you wish:
>>
>> * with acorn like I have done
>> https://github.com/angelozerr/tern.java/tree/master/sandbox
>> * with TextMate liek I would like to do.
>>
>> I think that's interesting but not something that fit into jsdt.
>>
>> Have you looked at the work tom Schindl done on making a generic
>> text
>> editor at platform level to enable things like this?
>>
>> No, have you a link please?
>>
>> https://github.com/BestSolution-at/code-swt
>>
>> its still under GPLv3 but I hope Tom will eventually make it EPL.
>>
>> /max
>>
>> Regard's Angelo
>>
>> /max
>> http://about.me/maxandersen
>>
>> On 04 Mar 2016, at 08:42, Angelo zerr angelo.zerr@xxxxxxxxx
>> <mailto: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
>> <mailto: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 <mailto: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 <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto: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
>> <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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 <mailto: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
>>
>> /max
>> http://about.me/maxandersen
>>
>>
>>
>> _______________________________________________
>> 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
> _______________________________________________
> 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
- References:
- [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)
- From: Max Rydahl Andersen
- Re: [wtp-dev] JSDT & Extension features (refactoring, search)