feat(SublimeText2.GitPackages): cache packages
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import sublime, sublime_plugin
|
||||
from sidebar.SideBarGit import SideBarGit
|
||||
from sidebar.SideBarSelection import SideBarSelection
|
||||
import threading
|
||||
|
||||
class Object():
|
||||
pass
|
||||
|
||||
s = sublime.load_settings('SideBarGit.sublime-settings')
|
||||
|
||||
class StatusBarBranch(sublime_plugin.EventListener):
|
||||
|
||||
def on_load(self, v):
|
||||
if s.get('statusbar_branch') and v.file_name():
|
||||
StatusBarBranchGet(v.file_name(), v).start()
|
||||
|
||||
def on_activated(self, v):
|
||||
if s.get('statusbar_branch') and v.file_name():
|
||||
StatusBarBranchGet(v.file_name(), v).start()
|
||||
|
||||
class StatusBarBranchGet(threading.Thread):
|
||||
|
||||
def __init__(self, file_name, v):
|
||||
threading.Thread.__init__(self)
|
||||
self.file_name = file_name
|
||||
self.v = v
|
||||
|
||||
def run(self):
|
||||
for repo in SideBarGit().getSelectedRepos(SideBarSelection([self.file_name]).getSelectedItems()):
|
||||
object = Object()
|
||||
object.item = repo.repository
|
||||
object.command = ['git', 'branch']
|
||||
object.silent = True
|
||||
SideBarGit().run(object)
|
||||
sublime.set_timeout(lambda:self.on_done(SideBarGit.last_stdout.decode('utf-8')), 0)
|
||||
return
|
||||
|
||||
def on_done(self, branches):
|
||||
branches = branches.split('\n')
|
||||
for branch in branches:
|
||||
if branch.startswith("*"):
|
||||
self.v.set_status('statusbar_sidebargit_branch', branch)
|
||||
return
|
Reference in New Issue
Block a user