jbaron / cats

Code Assistant for TypeScript
Apache License 2.0
409 stars 66 forks source link

Add support for version control #13

Open jbaron opened 11 years ago

jbaron commented 11 years ago

Add support for version control, at least git.

LordZardeck commented 10 years ago

https://github.com/creationix/js-git Possible?

jbaron commented 10 years ago

Certainly a possibility. There are multiple Javascript wrappers around the the GitHub exposed services (I did chef another one on the past). I guess the real effort is to nicely abstract the versioning system implementation so ti can support multiple in the future and integrate it in CATS.

BTW, would love support for the yield keyword within TypeScript as the examples on the page you provide show.

On 26 Jun 2014, at 00:26, Sean Templeton notifications@github.com wrote:

https://github.com/creationix/js-git Possible?

— Reply to this email directly or view it on GitHub.

mindplay-dk commented 10 years ago

Wouldn't it make more sense to integrate support for command-line VCS tools on the local system?

If you plan for the eventuality of turning this into an online IDE, you might not want dependencies on local tools - but if you plan on supporting more than basic Git functionality, you might not want a dependency on a third-party JavaScript Git clone.

Just a thought :-)

maryo commented 10 years ago

A little bit of OT :)

@jbaron "BTW, would love support for the yield keyword within TypeScript as the examples on the page you provide show."

Yeah!. Me too. There is an old fork from rbuckton https://www.codeplex.com/site/users/view/rbuckton

It would be great if someone merged it into the newest TS. I hope they will (but when?)... I think it could be possible to compile it using the FB regenerator to ES5 then.

BTW i've made a TSC 1.01 fork (https://github.com/maryo/typescript) supporting:

If someone knew about a cool fork, let me know :)

BTW CATS was the only usable editor which handled the forked typescriptServices. Thats the primary reason why i use it (for my hobby projects) :)

jbaron commented 10 years ago

My ideal goal would be to have a online IDE (so pure HTML + JS) that also can be used offline. So the files are stored locally using for example the HTML5 file api and synced centrally if required. But this all without installing any local client software. So I’m trying to keep local dependencies to a minimum.

That being said, I don’t see this ideal picture anytime soon being materialised, due to the state of the HTML5 file api’s etc an their current limitations. However it is one of the reasons I started to put all OS specific code in a central module (os.ts).

Regarding the VCS, once we have a generic API, there is not much difference whether the implementation involves a web services at Github or command line tools on the local file system. The effort will be interpreting the response and make sense out of it (so what is the status of the different files) and giving the user a GUI to do his thing.

On 26 Jun 2014, at 10:15, Rasmus Schultz notifications@github.com wrote:

Wouldn't it make more sense to integrate support for command-line VCS tools on the local system?

If you plan for the eventuality of turning this into an online IDE, you might not want dependencies on local tools - but if you plan on supporting more than basic Git functionality, you might not want a dependency on a third-party JavaScript Git clone.

Just a thought :-)

— Reply to this email directly or view it on GitHub.

LordZardeck commented 10 years ago

I'm not sure the direction to an online IDE correlates with your goal to make it like other powerful IDE's. There isn't enough browser support, nor will there be any time soon, to make this a responsive web application that's as powerful as Eclipse, WebStorm, or Visual Studio. I may be mistaken, but I personally see CATS as a desktop application, and utilizing the capabilities that follow that to the fullest extent.

jbaron commented 10 years ago

I agree it takes some time:

That being said, I don’t see this ideal picture anytime soon being materialised

But when you see the standards, it is (slowly) moving into that direction. So now CATS still requires node-webkit, but in 5 years it could be very different story. Things like ChromeOS, Firefox HTML5 OS, will all help to move in that direction.

(unless there emerges a new technology that will make render this whole discussion void :).