From a5a95e714952d7ca0fcf2ddb74a570dd22c155e0 Mon Sep 17 00:00:00 2001 From: github Date: Mon, 13 Nov 2023 20:31:02 +0100 Subject: [PATCH] Move cursor (sherlocks submit) --- go.mod | 1 + go.sum | 5 +++++ lib/sherlocks/sherlocks.go | 12 ++++++++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 5a4320c..38ba379 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( ) require ( + github.com/chzyer/readline v1.5.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/gdamore/encoding v1.0.0 // indirect github.com/gdamore/tcell/v2 v2.6.0 // indirect diff --git a/go.sum b/go.sum index d03bc00..3e7f9ee 100644 --- a/go.sum +++ b/go.sum @@ -4,6 +4,10 @@ github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63n github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A= github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= +github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= @@ -70,6 +74,7 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/lib/sherlocks/sherlocks.go b/lib/sherlocks/sherlocks.go index d499e09..c28b853 100644 --- a/lib/sherlocks/sherlocks.go +++ b/lib/sherlocks/sherlocks.go @@ -1,7 +1,6 @@ package sherlocks import ( - "bufio" "encoding/json" "errors" "fmt" @@ -14,6 +13,7 @@ import ( "github.com/GoToolSharing/htb-cli/config" "github.com/GoToolSharing/htb-cli/lib/utils" + "github.com/chzyer/readline" "github.com/sahilm/fuzzy" ) @@ -127,9 +127,13 @@ func GetTaskByID(sherlockID string, sherlockTaskID int, sherlockHint bool) error } else { fmt.Printf("\n%s :\n%s\n\nMasked Flag : %s\n", sherlockData.Tasks[sherlockTaskID-1].Title, sherlockData.Tasks[sherlockTaskID-1].Description, sherlockData.Tasks[sherlockTaskID-1].MaskedFlag) } - fmt.Print("Answer : ") - reader := bufio.NewReader(os.Stdin) - flag, err := reader.ReadString('\n') + rl, err := readline.New("Answer: ") + if err != nil { + panic(err) + } + defer rl.Close() + + flag, err := rl.Readline() if err != nil { return err }