geez. this makes things easier
This commit is contained in:
parent
56297940f4
commit
16d7cb2696
|
@ -298,10 +298,11 @@ func Bash2(argname string, appAutoFunc func(*Auto)) *Auto {
|
||||||
}
|
}
|
||||||
|
|
||||||
// also try to parse/send cur (?)
|
// also try to parse/send cur (?)
|
||||||
func Bash3(appAutoFunc func(*Auto), dest any) *Auto {
|
// func Bash3(appAutoFunc func(*Auto), dest any) *Auto {
|
||||||
|
func Bash3(dest any) *Auto {
|
||||||
myAuto = new(AutoArgs)
|
myAuto = new(AutoArgs)
|
||||||
// myAuto.appName = argname
|
// myAuto.appName = argname
|
||||||
myAuto.autoFunc = appAutoFunc
|
// myAuto.autoFunc = appAutoFunc
|
||||||
newTest(dest)
|
newTest(dest)
|
||||||
|
|
||||||
pb := parseArgv(myAuto.appName)
|
pb := parseArgv(myAuto.appName)
|
||||||
|
@ -347,7 +348,7 @@ func Bash3(appAutoFunc func(*Auto), dest any) *Auto {
|
||||||
}
|
}
|
||||||
|
|
||||||
if pb.IsAuto {
|
if pb.IsAuto {
|
||||||
appAutoFunc(pb) // run the autocomplete function the user made for their application
|
myAuto.autoFunc(pb) // run the autocomplete function the user made for their application
|
||||||
if pb.Debug {
|
if pb.Debug {
|
||||||
// TODO:
|
// TODO:
|
||||||
// check here to see if there was any completion text sent
|
// check here to see if there was any completion text sent
|
||||||
|
|
12
debugger.go
12
debugger.go
|
@ -49,6 +49,12 @@ type Appnamed interface {
|
||||||
Appname() string
|
Appname() string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AutoFuncd interface {
|
||||||
|
// Version returns the version string that will be printed on a line by itself
|
||||||
|
// at the top of the help message.
|
||||||
|
DoAutoComplete(*Auto)
|
||||||
|
}
|
||||||
|
|
||||||
// Described is the interface that the destination struct should implement to
|
// Described is the interface that the destination struct should implement to
|
||||||
func newTest(tmp interface{}) {
|
func newTest(tmp interface{}) {
|
||||||
if tmp, ok := tmp.(Appnamed); ok {
|
if tmp, ok := tmp.(Appnamed); ok {
|
||||||
|
@ -56,4 +62,10 @@ func newTest(tmp interface{}) {
|
||||||
} else {
|
} else {
|
||||||
panic("you need to make the function argv.Appname()")
|
panic("you need to make the function argv.Appname()")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if tmp, ok := tmp.(AutoFuncd); ok {
|
||||||
|
myAuto.autoFunc = tmp.DoAutoComplete
|
||||||
|
} else {
|
||||||
|
panic("you need to make the function argv.DoAutoComplete()")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue