#NEWLINE# def run_async( self ) : #NEWLINE# #INDENT# name = self . git ( 'config' , 'user.name' ) . strip ( ) #NEWLINE# email = self . git ( 'config' , 'user.email' ) . strip ( ) #NEWLINE# self . _entries = [ ] #NEWLINE# commiter_str = self . git ( 'shortlog' , '-sne' , 'HEAD' ) #NEWLINE# for line in commiter_str . split ( '\n' ) : #NEWLINE# #INDENT# m = re . search ( '\\s*(\\d*)\\s*(.*)\\s<(.*)>' , line ) #NEWLINE# if ( author_text is None ) : #NEWLINE# #INDENT# continue #NEWLINE# #UNINDENT# ( commit_count , author_name , author_email ) = m . groups ( ) #NEWLINE# author_text = '{} <{}>' . format ( author_name , author_email ) #NEWLINE# self . _entries . append ( ( commit_count , author_name , author_email , author_text ) ) #NEWLINE# #UNINDENT# self . window . show_quick_panel ( [ entry [ 3 ] for entry in self . _entries ] , self . on_entered , flags = sublime . MONOSPACE_FONT , selected_index = list ( ( line [ 2 ] for line in self . _entries ) ) . index ( email ) )