comparison mercurial/localrepo.py @ 40729:c93d046d4300

extensions: add "uipopulate" hook, called per instance, not per process In short, this is the "reposetup" function for ui. It allows us to modify ui attributes without extending ui.__class__. Before, the only way to do that was to abuse the config dictionary, which is copied across ui instances. See the next patch for usage example.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 12 Nov 2018 21:10:51 +0900
parents 5bcf264bb1a0
children 300f8564220f
comparison
equal deleted inserted replaced
40728:2cd5f1fac788 40729:c93d046d4300
452 # that influence repository construction. Attempt to load it and 452 # that influence repository construction. Attempt to load it and
453 # process any new extensions that it may have pulled in. 453 # process any new extensions that it may have pulled in.
454 if loadhgrc(ui, wdirvfs, hgvfs, requirements): 454 if loadhgrc(ui, wdirvfs, hgvfs, requirements):
455 afterhgrcload(ui, wdirvfs, hgvfs, requirements) 455 afterhgrcload(ui, wdirvfs, hgvfs, requirements)
456 extensions.loadall(ui) 456 extensions.loadall(ui)
457 extensions.populateui(ui)
457 458
458 # Set of module names of extensions loaded for this repository. 459 # Set of module names of extensions loaded for this repository.
459 extensionmodulenames = {m.__name__ for n, m in extensions.extensions(ui)} 460 extensionmodulenames = {m.__name__ for n, m in extensions.extensions(ui)}
460 461
461 supportedrequirements = gathersupportedrequirements(ui) 462 supportedrequirements = gathersupportedrequirements(ui)