class NewPluginCommand(sublime_plugin.WindowCommand): def run(self): self.counter = 0 self.keys = ['name', 'group'] self.options = { 'name': ['Type Plugin Name:', 'vote'], 'group': ['Type Plugin Group:', 'content'] } self.show_input_panel() def show_input_panel(self): Helper().show_input_panel(self.options[self.keys[self.counter]][0], self.options[self.keys[self.counter]][1], self.on_done, None, Helper().on_cancel) def on_done(self, content): self.options[self.keys[self.counter]][1] = content self.counter += 1 if self.counter < (len(self.options)): self.show_input_panel() else: self.extension = Plugin(self.options['group'][1] + '_' + self.options['name'][1]) if Project().type() == 'package': self.package = Package() self.extension.path( os.path.join(self.package.path, 'packages', self.extension.fullname)) if self.extension.create(): Manifest(os.path.join(self.package.path, '%s.xml' % self.package.name)) \ .add_child('files', { 'tag': 'file', 'text': '%s.zip' % self.extension.fullname, 'attribs': { 'type': 'plugin', 'id': self.extension.name, 'group': self.extension.group } }) Project().refresh() else: self.extension.path( os.path.join(Project().root(), self.extension.fullname)) if self.extension.create(): self.extension.set_project()
class NewPluginCommand(sublime_plugin.WindowCommand): def run(self): self.counter = 0 self.keys = ['name', 'group'] self.options = { 'name': ['Type Plugin Name:', 'vote'], 'group': ['Type Plugin Group:', 'content'] } self.show_input_panel() def show_input_panel(self): Helper().show_input_panel(self.options[self.keys[self.counter]][0], self.options[self.keys[self.counter]][1], self.on_done, None, Helper().on_cancel) def on_done(self, content): self.options[self.keys[self.counter]][1] = content self.counter += 1 if self.counter < (len(self.options)): self.show_input_panel() else: self.extension = Plugin(self.options['group'][1] + '_' + self.options['name'][1]) if Project().type() == 'package': self.package = Package() self.extension.path(os.path.join(self.package.path, 'packages', self.extension.fullname)) if self.extension.create(): Manifest(os.path.join(self.package.path, '%s.xml' % self.package.name)) \ .add_child('files', { 'tag': 'file', 'text': '%s.zip' % self.extension.fullname, 'attribs': { 'type': 'plugin', 'id': self.extension.name, 'group': self.extension.group } }) Project().refresh() else: self.extension.path(os.path.join(Project().root(), self.extension.fullname)) if self.extension.create(): self.extension.set_project()