Files
fn_registry/functions/infra/ssh_config_remove_entry.go
egutierrez ab7317b0c0 feat: add Go SSH config management functions and type
7 funciones Go del dominio infra para gestion programatica de ~/.ssh/config:
ssh_config_parse (parser de bloques Host/Match), ssh_config_read (lectura del
archivo), ssh_config_find (busqueda por host), ssh_config_add_entry y
ssh_config_remove_entry (CRUD), ssh_config_render (serializacion a texto),
ssh_config_write (escritura atomica). Incluye tipo SshConfigEntry (product type)
y tests unitarios del parser.
2026-04-12 13:54:43 +02:00

23 lines
575 B
Go

package infra
import "fmt"
// SSHConfigRemoveEntry elimina el entry con el alias dado. Retorna error si
// el alias no existe. No muta el slice original.
func SSHConfigRemoveEntry(entries []SSHConfigEntry, alias string) ([]SSHConfigEntry, error) {
idx := -1
for i, e := range entries {
if e.Alias == alias {
idx = i
break
}
}
if idx < 0 {
return nil, fmt.Errorf("alias %q not found", alias)
}
result := make([]SSHConfigEntry, 0, len(entries)-1)
result = append(result, entries[:idx]...)
result = append(result, entries[idx+1:]...)
return result, nil
}