Draft: Protocol classes for uimod
@marmoute This should give you some idea of the complications with a protocol for uimod.ui. I think we need it, given the complications with importing the real module, but it's more than I thought it would be, even copy/paste/deleting. Somewhere in my history is an attempt at adding more annotations here, which probably got derailed in the config object.
I need this protocol class for the rest of the repository interface migration, but I might set this aside and alias it as Any
for now. (Any idea if I can create a new ui.py
now with Ui = Any
, and in the near future, hg rm ui.py && hg cp mercurial/ui.py mercurial/interfaces/ui.py && hg ci
it to record the copy data like this series does? I don't think I've ever tried that.)