# HG changeset patch # User Matt Harbison # Date 1545972395 18000 # Node ID 9d2d0ebc64563c830324b779334bbf8cb32a3410 # Parent 798298fda3bec88a5ec93ed1a1b0c2098b77cb2a exthelper: simplify the ability to register filesets Same mechanism as revsets earlier in this series. diff -r 798298fda3be -r 9d2d0ebc6456 hgext3rd/evolve/exthelper.py --- a/hgext3rd/evolve/exthelper.py Thu Dec 27 21:55:22 2018 -0500 +++ b/hgext3rd/evolve/exthelper.py Thu Dec 27 23:46:35 2018 -0500 @@ -13,7 +13,6 @@ commands, error, extensions, - fileset as filesetmod, registrar, ) @@ -31,7 +30,6 @@ self._uicallables = [] self._extcallables = [] self._repocallables = [] - self._filesetsymbols = [] self._commandwrappers = [] self._extcommandwrappers = [] self._functionwrappers = [] @@ -49,6 +47,7 @@ self.configtable = {} self.configitem = registrar.configitem(self.configtable) + self.filesetpredicate = registrar.filesetpredicate() self.revsetpredicate = registrar.revsetpredicate() self.templatekeyword = registrar.templatekeyword() @@ -57,8 +56,8 @@ self._uipopulatecallables.extend(other._uipopulatecallables) self._extcallables.extend(other._extcallables) self._repocallables.extend(other._repocallables) + self.filesetpredicate._table.update(other.filesetpredicate._table) self.revsetpredicate._table.update(other.revsetpredicate._table) - self._filesetsymbols.extend(other._filesetsymbols) self.templatekeyword._table.update(other.templatekeyword._table) self._commandwrappers.extend(other._commandwrappers) self._extcommandwrappers.extend(other._extcommandwrappers) @@ -125,12 +124,6 @@ """ knownexts = {} - filesetpredicate = registrar.filesetpredicate() - for name, symbol in self._filesetsymbols: - filesetpredicate(name)(symbol) - # TODO: Figure out the calling extension name - filesetmod.loadpredicate(ui, 'exthelper', filesetpredicate) - for ext, command, wrapper, opts in self._extcommandwrappers: if ext not in knownexts: try: @@ -208,23 +201,6 @@ self._repocallables.append(call) return call - def fileset(self, symbolname): - """Decorated function is a fileset symbol - - The name of the symbol must be given as the decorator argument. - The symbol is added during `extsetup`. - - example:: - - @eh.fileset('lfs()') - def filesetbabar(mctx, x): - return mctx.predicate(...) - """ - def dec(symbol): - self._filesetsymbols.append((symbolname, symbol)) - return symbol - return dec - def wrapcommand(self, command, extension=None, opts=None): """Decorated function is a command wrapper