43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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 |