diff --git a/Default.sublime-commands b/Default.sublime-commands index dedcc7cf..b3adc62f 100644 --- a/Default.sublime-commands +++ b/Default.sublime-commands @@ -71,6 +71,10 @@ "caption": "Package Control: Satisfy Dependencies", "command": "satisfy_dependencies" }, + { + "caption": "Package Control: Export Package List", + "command": "export_package_list" + }, { "caption": "Preferences: Package Control Settings – Default", "command": "open_file", "args": diff --git a/package_control/commands/__init__.py b/package_control/commands/__init__.py index 05272b75..505e7bb1 100644 --- a/package_control/commands/__init__.py +++ b/package_control/commands/__init__.py @@ -5,6 +5,7 @@ from .disable_package_command import DisablePackageCommand from .discover_packages_command import DiscoverPackagesCommand from .enable_package_command import EnablePackageCommand +from .export_package_list_command import ExportPackageListCommand from .install_local_dependency_command import InstallLocalDependencyCommand from .install_package_command import InstallPackageCommand from .list_packages_command import ListPackagesCommand @@ -27,6 +28,7 @@ 'DisablePackageCommand', 'DiscoverPackagesCommand', 'EnablePackageCommand', + 'ExportPackageListCommand', 'InstallLocalDependencyCommand', 'InstallPackageCommand', 'ListPackagesCommand', diff --git a/package_control/commands/export_package_list_command.py b/package_control/commands/export_package_list_command.py new file mode 100644 index 00000000..38c63f7b --- /dev/null +++ b/package_control/commands/export_package_list_command.py @@ -0,0 +1,18 @@ +import sublime +import sublime_plugin + +from ..package_manager import PackageManager + + +class ExportPackageListCommand(sublime_plugin.WindowCommand): + def run(self): + manager = PackageManager() + packages = manager.list_packages() + packages.remove("Package Control") + + view = self.window.new_file() + view.run_command("insert_snippet", { + "contents": "# Use Package Control: Advanced Install Package and paste the list\n\n%s" + % ",".join(packages) + }) +