github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/events/onSignalReceived/signal.go (about) 1 package signaltrap 2 3 import ( 4 "github.com/lmorg/murex/lang" 5 "github.com/lmorg/murex/lang/types" 6 "github.com/lmorg/murex/utils/json" 7 ) 8 9 const commandName = "signal" 10 11 func init() { 12 lang.DefineFunction(commandName, cmdSendSignal, types.Json) 13 } 14 15 func autocompleteSignals(p *lang.Process) error { 16 p.Stdout.SetDataType(types.Json) 17 18 signals := make(map[string]string, len(interrupts)) 19 for name := range interrupts { 20 signals[name] = interrupts[name].String() 21 } 22 23 b, err := json.Marshal(signals, p.Stdout.IsTTY()) 24 if err != nil { 25 return err 26 } 27 28 _, err = p.Stdout.Write(b) 29 return err 30 }