zedapp/zed — pull request #148 by zefhemel (2014-03-19 09:35:07+00:00)
Title: Factor a few out packages

So, this is just the beginning, but since it's going to be a big job I think I'll take it piece meal. The plan is as follows:

* Each mode and theme is moved to a separate repo under https://github.com/zedapp (I've already done this for `javascript-mode` and `json-mode`) removed from the Zed core repo.
* These packages are then added to the `packages` key of the default config so that they're automatically kept up-to-date (currently in `/default.json`).
* In my checkout of Zed I have clones of all included packages under `app/config/packages/gh/zedapp/*` that will be packaged with official releases so that people will get an initial version of all packages without having to wait for it to be downloaded on first launch.

I have changed ZPM a bit (@TheKiteEatingTree) so that it no longer relies on a `installed.json` file, but figures this out by inspecting `package.json` files under `/packages` in the configuration project. This is not perfect yet, but for now it should work. I also removed the ability to switch off auto updates for simplicity -- I think we live in an "ever-green world": stuff should always be up to date, if you don't want this, you can fork the package and install the forked version.

Before I continue this work for the dozens of modes and themes, what do you guys think of this approach?

The advantages are a smaller Zed core repo, a good test case for ZPM and the ability for users to fork just one small repo rather than Zed as a whole to fix a bug.