Invoke
Invoke
explicitly executes the callback of an Action.
carapace.ActionCallback(func(c carapace.Context) carapace.Action {
switch {
case strings.HasPrefix(c.Value, "file://"):
c.Value = strings.TrimPrefix(c.Value, "file://")
case strings.HasPrefix("file://", c.Value):
c.Value = ""
default:
return carapace.ActionValues()
}
return carapace.ActionFiles().Invoke(c).Prefix("file://").ToA()
})