mirror of
				https://github.com/sammy-ette/Hilbish
				synced 2025-08-10 02:52:03 +00:00 
			
		
		
		
	fix: use a rwmutex for aliases map
This commit is contained in:
		
							parent
							
								
									f81babe973
								
							
						
					
					
						commit
						40578d9d5f
					
				
							
								
								
									
										12
									
								
								aliases.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								aliases.go
									
									
									
									
									
								
							@ -2,6 +2,7 @@ package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strings"
 | 
			
		||||
	"sync"
 | 
			
		||||
 | 
			
		||||
	"github.com/yuin/gopher-lua"
 | 
			
		||||
)
 | 
			
		||||
@ -10,16 +11,21 @@ var aliases *hilbishAliases
 | 
			
		||||
 | 
			
		||||
type hilbishAliases struct {
 | 
			
		||||
	aliases map[string]string
 | 
			
		||||
	mu *sync.RWMutex
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// initialize aliases map
 | 
			
		||||
func NewAliases() *hilbishAliases {
 | 
			
		||||
	return &hilbishAliases{
 | 
			
		||||
		aliases: make(map[string]string),
 | 
			
		||||
		mu: &sync.RWMutex{},
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (h *hilbishAliases) Add(alias, cmd string) {
 | 
			
		||||
	h.mu.Lock()
 | 
			
		||||
	defer h.mu.Unlock()
 | 
			
		||||
 | 
			
		||||
	h.aliases[alias] = cmd
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -28,10 +34,16 @@ func (h *hilbishAliases) All() map[string]string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (h *hilbishAliases) Delete(alias string) {
 | 
			
		||||
	h.mu.Lock()
 | 
			
		||||
	defer h.mu.Unlock()
 | 
			
		||||
 | 
			
		||||
	delete(h.aliases, alias)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (h *hilbishAliases) Resolve(cmdstr string) string {
 | 
			
		||||
	h.mu.RLock()
 | 
			
		||||
	defer h.mu.RUnlock()
 | 
			
		||||
 | 
			
		||||
	args := strings.Split(cmdstr, " ")
 | 
			
		||||
	for h.aliases[args[0]] != "" {
 | 
			
		||||
		alias := h.aliases[args[0]]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user