system: implement Enablements String method
All checks were successful
Tests / Go tests (push) Successful in 40s
Nix / NixOS tests (push) Successful in 3m9s

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
Ophestra 2024-12-20 23:21:19 +09:00
parent ed10574dea
commit b9cc318314
Signed by: cat
SSH Key Fingerprint: SHA256:gQ67O0enBZ7UdZypgtspB2FDM1g3GVw8nX0XSdcFw8Q

View File

@ -1,5 +1,9 @@
package system package system
import (
"strings"
)
type ( type (
// Enablement represents an optional system resource // Enablement represents an optional system resource
Enablement uint8 Enablement uint8
@ -47,3 +51,18 @@ func (es *Enablements) Set(e Enablement) {
*es |= e.Mask() *es |= e.Mask()
} }
func (es *Enablements) String() string {
buf := new(strings.Builder)
for i := Enablement(0); i < Enablement(ELen); i++ {
if es.Has(i) {
buf.WriteString(", " + i.String())
}
}
if buf.Len() == 0 {
buf.WriteString("(No enablements)")
}
return strings.TrimPrefix(buf.String(), ", ")
}