mirror of
https://github.com/hymkor/lispect.git
synced 2026-08-28 04:46:59 -04:00
Implement $MATCH
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
var (
|
||||
symTimeout = gmnlisp.NewSymbol("timeout")
|
||||
symInterval = gmnlisp.NewSymbol("interval")
|
||||
symMatch = gmnlisp.NewSymbol("$MATCH")
|
||||
)
|
||||
|
||||
var ErrCtrlC = errors.New("^C")
|
||||
@@ -173,7 +174,8 @@ func (g *Global) expectX(ctx context.Context, w *gmnlisp.World, node gmnlisp.Nod
|
||||
if result == EventCtrlC {
|
||||
return nil, ErrCtrlC
|
||||
} else if result >= 0 {
|
||||
return gmnlisp.Progn(ctx, w, actions[result])
|
||||
_w := w.Let(&gmnlisp.Pair{Key: symMatch, Value: gmnlisp.String(patterns[result])})
|
||||
return gmnlisp.Progn(ctx, _w, actions[result])
|
||||
} else {
|
||||
return gmnlisp.Progn(ctx, w, timeoutAct)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user