mirror of
				https://github.com/sammy-ette/Hilbish
				synced 2025-08-10 02:52:03 +00:00 
			
		
		
		
	chore: merge from upstream
This commit is contained in:
		
						commit
						4fcd310048
					
				| @ -12,6 +12,9 @@ | |||||||
| - `hilbish.notification` signal when a message/notification is sent | - `hilbish.notification` signal when a message/notification is sent | ||||||
| - `notifyJobFinish` opt to send a notification when background jobs are | - `notifyJobFinish` opt to send a notification when background jobs are | ||||||
| completed. | completed. | ||||||
|  | - Allow numbered arg substitutions in aliases. | ||||||
|  |   - Example: `hilbish.alias('hello', 'echo %1 says hello')` allows the user to run `hello hilbish` | ||||||
|  |   which will output `hilbish says hello`. | ||||||
| 
 | 
 | ||||||
| [#219]: https://github.com/Rosettea/Hilbish/issues/219 | [#219]: https://github.com/Rosettea/Hilbish/issues/219 | ||||||
| ### Fixed | ### Fixed | ||||||
|  | |||||||
							
								
								
									
										22
									
								
								aliases.go
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								aliases.go
									
									
									
									
									
								
							| @ -1,6 +1,8 @@ | |||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | 	"regexp" | ||||||
|  | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"sync" | 	"sync" | ||||||
| 
 | 
 | ||||||
| @ -46,9 +48,27 @@ func (a *aliasModule) Resolve(cmdstr string) string { | |||||||
| 	a.mu.RLock() | 	a.mu.RLock() | ||||||
| 	defer a.mu.RUnlock() | 	defer a.mu.RUnlock() | ||||||
| 
 | 
 | ||||||
| 	args := strings.Split(cmdstr, " ") | 	arg, _ := regexp.Compile(`[\\]?%\d+`) | ||||||
|  | 
 | ||||||
|  | 	args, _ := splitInput(cmdstr) | ||||||
| 	for a.aliases[args[0]] != "" { | 	for a.aliases[args[0]] != "" { | ||||||
| 		alias := a.aliases[args[0]] | 		alias := a.aliases[args[0]] | ||||||
|  | 		alias = arg.ReplaceAllStringFunc(alias, func(a string) string { | ||||||
|  | 			idx, _ := strconv.Atoi(a[1:]) | ||||||
|  | 			if strings.HasPrefix(a, "\\") || idx == 0 { | ||||||
|  | 				return strings.TrimPrefix(a, "\\") | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			if idx + 1 > len(args) { | ||||||
|  | 				return a | ||||||
|  | 			} | ||||||
|  | 			val := args[idx] | ||||||
|  | 			args = cut(args, idx) | ||||||
|  | 			cmdstr = strings.Join(args, " ") | ||||||
|  | 
 | ||||||
|  | 			return val | ||||||
|  | 		}) | ||||||
|  | 		 | ||||||
| 		cmdstr = alias + strings.TrimPrefix(cmdstr, args[0]) | 		cmdstr = alias + strings.TrimPrefix(cmdstr, args[0]) | ||||||
| 		cmdArgs, _ := splitInput(cmdstr) | 		cmdArgs, _ := splitInput(cmdstr) | ||||||
| 		args = cmdArgs | 		args = cmdArgs | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user