Use simplified reset on empty input solution

This commit is contained in:
lash 2025-02-05 17:44:29 +00:00
parent 6c77d04284
commit 1d7027905d
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
8 changed files with 33 additions and 19 deletions

View File

@ -81,6 +81,7 @@ func main() {
OutputSize: uint32(size),
FlagCount: uint32(128),
MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
}
if engineDebug {

View File

@ -96,6 +96,7 @@ func main() {
OutputSize: uint32(size),
FlagCount: uint32(128),
MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
}
if engineDebug {
@ -130,7 +131,6 @@ func main() {
lhs.SetDataStore(&userdataStore)
accountService := services.New(ctx, menuStorageService)
hl, err := lhs.GetHandler(accountService)
if err != nil {
fmt.Fprintf(os.Stderr, err.Error())
@ -190,10 +190,10 @@ func main() {
}
fmt.Println("")
in := bufio.NewReader(os.Stdin)
//_, err = fmt.Scanln(&rqs.Input)
s, err := in.ReadString('\n')
if err != nil {
if err == io.EOF {
logg.DebugCtxf(ctx, "have EOF, bailing")
break
}
logg.ErrorCtxf(ctx, "error in input", "err", err)

View File

@ -82,6 +82,7 @@ func main() {
OutputSize: uint32(size),
FlagCount: uint32(128),
MenuSeparator: menuSeparator,
ResetOnEmptyInput: true,
}
if engineDebug {

View File

@ -80,6 +80,7 @@ func main() {
FlagCount: uint32(128),
MenuSeparator: menuSeparator,
EngineDebug: engineDebug,
ResetOnEmptyInput: true,
}
menuStorageService := storage.NewMenuStorageService(conns)

View File

@ -2,10 +2,14 @@ package engine
import (
"context"
"fmt"
"git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/logging"
)
var (
logg = logging.NewVanilla().WithDomain("sarafu-vise.engine")
)
type SarafuEngine struct {
@ -19,13 +23,13 @@ func NewSarafuEngine(cfg engine.Config, rs resource.Resource) *SarafuEngine {
}
func (se *SarafuEngine) Exec(ctx context.Context, input []byte) (bool, error) {
if len(input) == 0 {
e, ok := se.Engine.(*engine.DefaultEngine)
if !ok {
return false, fmt.Errorf("")
}
e.Reset(ctx, true)
}
logg.TraceCtxf(ctx, "sarafu engine exec", "input", input)
// if len(input) == 0 {
// e := se.Engine.(*engine.DefaultEngine)
// v, err := e.Reset(ctx, true)
// if err != nil {
// return v, err
// }
// }
return se.Engine.Exec(ctx, input)
}

2
go.mod
View File

@ -3,7 +3,7 @@ module git.grassecon.net/grassrootseconomics/sarafu-vise
go 1.23.4
require (
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb
git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1
git.grassecon.net/grassrootseconomics/visedriver v0.9.0-beta.1.0.20250204132347-1eb0b1555244

4
go.sum
View File

@ -1,5 +1,5 @@
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb h1:WcNLKynPAXT/djmWJcdgiEsNO4HVSLYiaqclPpMCIK8=
git.defalsify.org/vise.git v0.2.3-0.20250205092758-ea6bfa050eeb/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck=
git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac h1:f/E0ZTclVfMEnD/3Alrzzbg+dOm138zGydV42jT0JPw=
git.defalsify.org/vise.git v0.2.3-0.20250205173834-d1f6647211ac/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck=
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d h1:5mzLas+jxTUtusOKx4XvU+n2QvrV/mH17MnJRy46siQ=
git.grassecon.net/grassrootseconomics/common v0.0.0-20250121134736-ba8cbbccea7d/go.mod h1:wgQJZGIS6QuNLHqDhcsvehsbn5PvgV7aziRebMnJi60=
git.grassecon.net/grassrootseconomics/sarafu-api v0.0.0-20250123142805-2181388f5bf1 h1:BJHfokTHzrw9QjQ+4s2HmSER0iBPuE7byW5oQC2zLIQ=

View File

@ -8,12 +8,17 @@ import (
"git.defalsify.org/vise.git/engine"
"git.defalsify.org/vise.git/persist"
"git.defalsify.org/vise.git/resource"
"git.defalsify.org/vise.git/logging"
"git.grassecon.net/grassrootseconomics/sarafu-api/remote"
sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine"
// sarafu_engine "git.grassecon.net/grassrootseconomics/sarafu-vise/engine"
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers/application"
)
var (
logg = logging.NewVanilla().WithDomain("sarafu-vise.engine")
)
type HandlerService interface {
GetHandler() (*application.MenuHandlers, error)
}
@ -126,8 +131,10 @@ func (ls *LocalHandlerService) GetHandler(accountService remote.AccountService)
}
func (ls *LocalHandlerService) GetEngine(cfg engine.Config, rs resource.Resource, pr *persist.Persister) engine.Engine {
se := sarafu_engine.NewSarafuEngine(cfg, rs)
en := se.Engine.(*engine.DefaultEngine)
//logg.Tracef("creating new engine")
//se := sarafu_engine.NewSarafuEngine(cfg, rs)
//en := se.Engine.(*engine.DefaultEngine)
en := engine.NewEngine(cfg, rs)
if ls.first != nil {
en = en.WithFirst(ls.first)
}
@ -135,6 +142,6 @@ func (ls *LocalHandlerService) GetEngine(cfg engine.Config, rs resource.Resource
if cfg.EngineDebug {
en = en.WithDebug(nil)
}
return se
//return se
return en
}