mirror of
https://github.com/hymkor/lispect.git
synced 2026-10-27 05:49:57 -04:00
Implement $MATCH
This commit is contained in:
1 parent
5ec19acc0e
commit
b9c34297a9
1 file changed
+3
-1
@@ -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