package config import ( "fmt" ) type AliasConfig struct { ConfigMap Parent Config } func (a *AliasConfig) Exists(alias string) bool { if a.Empty() { return false } value, _ := a.GetStringValue(alias) return value != "" } func (a *AliasConfig) Get(alias string) string { value, _ := a.GetStringValue(alias) return value } func (a *AliasConfig) Add(alias, expansion string) error { err := a.SetStringValue(alias, expansion) if err != nil { return fmt.Errorf("failed to update config: %w", err) } err = a.Parent.Write() if err != nil { return fmt.Errorf("failed to write config: %w", err) } return nil } func (a *AliasConfig) Delete(alias string) error { // TODO when we get to gh alias delete return nil }