You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HasCompleter is in the .Internal module. That makes code like this potentially break when internals change:
completeRemotes :: HasCompleter f => Mod f
completeRemotes = completer $ mkCompleter ..
completeBackends :: HasCompleter f => Mod f a
completeBackends = completeWith (map Backend.name Backend.list)
Since I want these to work for both OptionFields and ArgumentFields, I can't specialize the f, and so need the HasCompletor. Of course, I could instead define these as:
But the different types and different ways to use these two values seem less simple and composable than the first version. Especially because completeBackends's type doesn't tell what it's for at all.
So, could you please have one of the non-Internal modules export HasCompleter?
The text was updated successfully, but these errors were encountered:
HasCompleter is in the .Internal module. That makes code like this potentially break when internals change:
completeRemotes :: HasCompleter f => Mod f
completeRemotes = completer $ mkCompleter ..
completeBackends :: HasCompleter f => Mod f a
completeBackends = completeWith (map Backend.name Backend.list)
Since I want these to work for both OptionFields and ArgumentFields, I can't specialize the f, and so need the HasCompletor. Of course, I could instead define these as:
completeRemotes :: Completer
completeRemotes = mkCompleter ..
completeBackends :: [String]
completeBackends = map Backend.name Backend.list
But the different types and different ways to use these two values seem less simple and composable than the first version. Especially because completeBackends's type doesn't tell what it's for at all.
So, could you please have one of the non-Internal modules export HasCompleter?
The text was updated successfully, but these errors were encountered: