mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-10-08 11:52:00 -04:00
Point the go-micro.dev/v4 replace at the latest main-v4 maintenance branch commit in butonic/go-micro (cd412c15) instead of the v4.11.3 tag. The new base is upstream v4.11.1 plus the registry cache node-TTL fixes (upstream #2715, #2736, #2740), the concurrent map access fix (upstream #2794), plus further dependency updates and test fixes on the maintenance branch. The branch also modernizes go-micro's own go.mod (go 1.26, lego, dario.cat/mergo v1, x/deque v2, ...), and MVS pulls the aligned versions into this module: lego v4.35.2 -> lego/v5 v5.5.2, go-jose/go-jose/v4 -> v4.1.5, gofrs/flock -> v0.13.1, mattn/go-isatty -> v0.0.24, go.uber.org/zap -> v1.28.0, x/net -> 0.59.0, miekg/dns -> 1.1.73, moby api/client, ProtonMail/go-crypto -> 1.5.2, klauspost/compress -> 1.20.1, gorilla/handlers -> 1.5.2, gobwas/ws -> 1.4.0, nxadm/tail -> 1.4.11, ... Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
118 lines
3.0 KiB
Go
118 lines
3.0 KiB
Go
package ansiterm
|
|
|
|
func (ap *AnsiParser) collectParam() error {
|
|
currChar := ap.context.currentChar
|
|
ap.logf("collectParam %#x", currChar)
|
|
ap.context.paramBuffer = append(ap.context.paramBuffer, currChar)
|
|
return nil
|
|
}
|
|
|
|
func (ap *AnsiParser) collectInter() error {
|
|
currChar := ap.context.currentChar
|
|
ap.logf("collectInter %#x", currChar)
|
|
ap.context.paramBuffer = append(ap.context.interBuffer, currChar)
|
|
return nil
|
|
}
|
|
|
|
func (ap *AnsiParser) escDispatch() error {
|
|
cmd := string(ap.context.currentChar)
|
|
ap.logf("escDispatch currentChar: %#x", ap.context.currentChar)
|
|
ap.logf("escDispatch: %s(%q)", cmd, string(ap.context.interBuffer))
|
|
|
|
switch cmd {
|
|
case "D": // IND
|
|
return ap.eventHandler.IND()
|
|
case "E": // NEL, equivalent to CRLF
|
|
err := ap.eventHandler.Execute(ANSI_CARRIAGE_RETURN)
|
|
if err == nil {
|
|
err = ap.eventHandler.Execute(ANSI_LINE_FEED)
|
|
}
|
|
return err
|
|
case "M": // RI
|
|
return ap.eventHandler.RI()
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
|
|
func (ap *AnsiParser) csiDispatch() error {
|
|
cmd := string(ap.context.currentChar)
|
|
params := parseParams(ap.context.paramBuffer)
|
|
ap.logf("Parsed params: %v with length: %d", params, len(params))
|
|
|
|
ap.logf("csiDispatch: %v(%v)", cmd, params)
|
|
|
|
switch cmd {
|
|
case "@":
|
|
return ap.eventHandler.ICH(getInt(params, 1))
|
|
case "A":
|
|
return ap.eventHandler.CUU(getInt(params, 1))
|
|
case "B":
|
|
return ap.eventHandler.CUD(getInt(params, 1))
|
|
case "C":
|
|
return ap.eventHandler.CUF(getInt(params, 1))
|
|
case "D":
|
|
return ap.eventHandler.CUB(getInt(params, 1))
|
|
case "E":
|
|
return ap.eventHandler.CNL(getInt(params, 1))
|
|
case "F":
|
|
return ap.eventHandler.CPL(getInt(params, 1))
|
|
case "G":
|
|
return ap.eventHandler.CHA(getInt(params, 1))
|
|
case "H":
|
|
ints := getInts(params, 2, 1)
|
|
x, y := ints[0], ints[1]
|
|
return ap.eventHandler.CUP(x, y)
|
|
case "J":
|
|
param := getEraseParam(params)
|
|
return ap.eventHandler.ED(param)
|
|
case "K":
|
|
param := getEraseParam(params)
|
|
return ap.eventHandler.EL(param)
|
|
case "L":
|
|
return ap.eventHandler.IL(getInt(params, 1))
|
|
case "M":
|
|
return ap.eventHandler.DL(getInt(params, 1))
|
|
case "P":
|
|
return ap.eventHandler.DCH(getInt(params, 1))
|
|
case "S":
|
|
return ap.eventHandler.SU(getInt(params, 1))
|
|
case "T":
|
|
return ap.eventHandler.SD(getInt(params, 1))
|
|
case "c":
|
|
return ap.eventHandler.DA(params)
|
|
case "d":
|
|
return ap.eventHandler.VPA(getInt(params, 1))
|
|
case "f":
|
|
ints := getInts(params, 2, 1)
|
|
x, y := ints[0], ints[1]
|
|
return ap.eventHandler.HVP(x, y)
|
|
case "h":
|
|
return ap.hDispatch(params)
|
|
case "l":
|
|
return ap.lDispatch(params)
|
|
case "m":
|
|
return ap.eventHandler.SGR(getInts(params, 1, 0))
|
|
case "r":
|
|
ints := getInts(params, 2, 1)
|
|
top, bottom := ints[0], ints[1]
|
|
return ap.eventHandler.DECSTBM(top, bottom)
|
|
default:
|
|
ap.logf("ERROR: Unsupported CSI command: '%s', with full context: %v", cmd, ap.context)
|
|
return nil
|
|
}
|
|
|
|
}
|
|
|
|
func (ap *AnsiParser) print() error {
|
|
return ap.eventHandler.Print(ap.context.currentChar)
|
|
}
|
|
|
|
func (ap *AnsiParser) clear() {
|
|
ap.context = &ansiContext{}
|
|
}
|
|
|
|
func (ap *AnsiParser) execute() error {
|
|
return ap.eventHandler.Execute(ap.context.currentChar)
|
|
}
|