Sublime Forum

Package Control: A full-featured package manager

#1

I just released a full-featured package manager for ST2 called Package Control, you can check it out at wbond.net/sublime_packages/package_control. It allows for discovering, installing, upgrading and removing packages, along with automatic upgrade functionality and some other more minor stuff. I hope this makes it easier for people to try out new plugins and get the most out of ST2. The website has screenshots, simple installation instructions and documentation about usage, so go check it out!

[size=150]Web Interface[/size]

There are over 125 packages available via Package Control (as of January 2012). See wbond.net/sublime_packages/community for a list with some general statistics.

[size=150]Submitting a Package[/size]

All developers are welcome to submit their packages. Please see wbond.net/sublime_packages/packa … developers for instructions.

[size=150]Updates[/size]

Latest Version: 1.4.1
Released: 6 Jan, 2012

See the full changelog at wbond.net/sublime_packages/packa … /changelog.

1 Like

Plugins to beat the crap out of Dreamweaver
Vala language syntax package
Official package channel
#2

Currently it is not possible via version control, mostly because I didn’t want to rely on a user having the required version control application installed on their machine to install a package. I don’t think it would be a terrible idea to add a setting that would allow users to “prefer” to use git or hg for grabbing plugins from GitHub or BitBucket if they have it installed. If you open an issue at github.com/wbond/sublime_package_control/issues I bet we could work out a way that would be really user friendly.

And yeah, I figured after hacking some SFTP functionality for a while that I’d try my hand at making a little money off of it. I’ve done quite a bit of open source work, but this is my first foray into the commercial world.

ST2 is awesome that it exposes so much for plugins. I enjoyed figuring out all of the different ways that it is possible to hook in to the program.

0 Likes

#3

@sublimator

Much appreciated! :smile:

0 Likes

#4

Bandwagon!

Also it’d be sweet if there were an option like “convert all the crap you downloaded off of github into actual things tracked by this package manager” (maybe come up with a snappier name). Right now I’m going one at a time.

0 Likes

#5

Thanks @adzenith! Right now you can “upgrade” packages you’ve manually downloaded. I will add a command to automatically upgrade all upgradable packages, which should get you where you want to go.

0 Likes

#6

Sorry, it seemed like overkill to have a repo for 1 file.

0 Likes

#7

yah, no offense taken. Idk, it doesn’t seem like there is a great way. I have sublime running on 5 computers of mine now and syncing multiple plugin repos would have sucked.

0 Likes

#8

You could break them all out into their own repos and then make them all submodules of your SublimePlugins repo.

0 Likes

#9

Version 1.0.7 has been rolled out and your ST should automatically upgrade the next time you start it. Changes include:

  • Installation of packages in a thread to prevent hanging the editor for big packages or slow connections

  • An activity indicator for all remote operations

  • Reduced parallelism for GitHub and BitBucket repositories to help prevent URL timeouts

  • A new Upgrade All Packages command

  • Some work on making package removal on Windows a little more robust

  • The Upgrade Package command no longer lists packages that can be reinstalled

0 Likes

#10

Excellent! I was going to ask about this. Thanks!

0 Likes

#11

How do you do that?

0 Likes

#12

I just want to say this is the most awesome thing! Thank you for all your hard work.

Looking forward to a more packages in the list.

0 Likes

#13

Whoa!!!
Great plugin that work great and look very polished, thanks for your work.

0 Likes

#14

As I said on Twitter, I bloody love this package - so useful for me! But just so as I’m clear, are all the packages that can be installed grabbed from their repositories or a copy that you have made? Are the versions in the Package Manager always going to be the latest?

Cheers again

0 Likes

#15

This is brilliant and I’ve already expressed how awesome it is :smiley:

One thing I do keep experiencing is an error when trying to upgrade SublimeCodeIntel:

Package Control: Error downloading package. URL error The read operation timed out downloading https://nodeload.github.com/Krounz/SublimeCodeIntel/zipball/mster.

Strange… I ran the upgrade option again and it installed!

0 Likes

#16

Upgrade All Packages will upgrade every package that shows up in the list when you run Upgrade Package. Upgrade Package will show all packages it recognizes the name of, even if you installed them manually or through a vcs. I hope that wasn’t too confusing.

0 Likes

#17

It depends on what kind of repository is used. All packages coming from GitHub or BitBucket will always be the latest version, and are always pulled from master, or tip, respectively. For a custom repository JSON file (like at sublime.wbond.net/packages.json) you have to manually update the JSON and package files. I do this so that I can control the version numbers, and what platforms Tortoise is available for.

All of the repositories are pulled on the fly from sublime.wbond.net/repositories.json. This allows for adding a new repository for all users without anyone having to upgrade their version of Package Control. For instance, about 12 hours after I launched Package Control I added the SublimeCodeIntel repository since it seems pretty popular.

0 Likes

#18

[quote=“jbrooksuk”]One thing I do keep experiencing is an error when trying to upgrade SublimeCodeIntel:

Package Control: Error downloading package. URL error The read operation timed out downloading https://nodeload.github.com/Krounz/SublimeCodeIntel/zipball/mster.

Strange… I ran the upgrade option again and it installed![/quote]

With Package Control 1.0.6, I did all requests to GitHub and BitBucket in parallel, and I started noticing that their APIs seems to be rate limiting stuff and causing connections to fail. In 1.0.7 (the latest as of right now) I only run one downloader per domain at a time to help prevent rate limiting issues. It seems like there are fewer issues now, but occasionally I still have seen problems. I think I’ll add a setting and feature to retry downloads a few times to help get around the unpredictable nature of the APIs. With the new activity indicator and since everything is threaded, this shouldn’t be a big deal performance wise, and will probably be a much nicer user experience.

0 Likes

#19

[quote=“sublimator”]Note that while Sublime will load settings files in nested folders of packages it won’t do the same for python files. It loads only $Package/*.py.

I don’t know how submodules work exactly but that’s something to consider.[/quote]

Ah good point. Submodules probably won’t work then :confused:

0 Likes

#20

Impressive plugin. Finally an easy way to install plugins. But unfortunately this solution isn’t perfect and I need to make a bug report.

The problem is that this plugin is making SublimeText2 build 2101 for Windows7 to crash every-time is downloading from web and I press the ALT key on the keyboard to switch to other application.

Here is the output of the crash report:

Problem signature:
Problem Event Name: APPCRASH
Application Name: sublime_text.exe
Application Version: 1.0.0.1
Application Timestamp: 4e42829f
Fault Module Name: sublime_text.exe
Fault Module Version: 1.0.0.1
Fault Module Timestamp: 4e42829f
Exception Code: c0000005
Exception Offset: 0003fa82
OS Version: 6.1.7600.2.0.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
go.microsoft.com/fwlink/?linkid= … cid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

0 Likes