mirror of
				https://github.com/wting/autojump
				synced 2025-06-13 12:54:07 +00:00 
			
		
		
		
	this should fix the performance problems by limiting the number of calls to match
This commit is contained in:
		
							parent
							
								
									49a0c8abf6
								
							
						
					
					
						commit
						614cf4d0b4
					
				
							
								
								
									
										8
									
								
								autojump
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								autojump
									
									
									
									
									
								
							| @ -44,8 +44,10 @@ def forget(path_dict,dic_file): | ||||
|             path_dict[k]*=0.9*max_keyweight/keyweight | ||||
|     save(path_dict,dic_file) | ||||
| 
 | ||||
| def find_matches(dirs,pattern,path_dict,result_list,re_flags): | ||||
| def find_matches(dirs,pattern,path_dict,result_list,re_flags,max_matches): | ||||
|     """Find max_matches paths that match the pattern, and add them to the result_list""" | ||||
|     for path,count in dirs: | ||||
|         if len(result_list) >= max_matches : break | ||||
|         if match(path,pattern,path_dict,re_flags): | ||||
|             uniqadd(result_list,path) | ||||
| 
 | ||||
| @ -102,11 +104,11 @@ else: | ||||
| 
 | ||||
|         dirs=path_dict.items() | ||||
|         dirs.sort(key=lambda e:e[1],reverse=True) | ||||
|         find_matches(dirs,pattern,path_dict,results,re_flags=0) | ||||
|         find_matches(dirs,pattern,path_dict,results,re_flags=0,max_matches=9) | ||||
|         dirs=path_dict.items() #we need to recreate the list since the first iteration potentially deletes paths | ||||
|         dirs.sort(key=lambda e:e[1],reverse=True) | ||||
|         if completion or not results: #if not found, try ignoring case. On completion always show all results | ||||
|             find_matches(dirs,pattern,path_dict,results,re_flags=re.IGNORECASE)  | ||||
|             find_matches(dirs,pattern,path_dict,results,re_flags=re.IGNORECASE,max_matches=9)  | ||||
| 
 | ||||
|         if userchoice!=-1: | ||||
|             if len(results) > userchoice-1 : print results[userchoice-1] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user