comparison mercurial/configitems.py @ 40589:054d0fcba2c4

commandserver: add experimental option to use separate message channel This is loosely based on the idea of the TortoiseHg's pipeui extension, which attaches ui.label to message text so the command-server client can capture prompt text, for example. https://bitbucket.org/tortoisehg/thg/src/4.7.2/tortoisehg/util/pipeui.py I was thinking that this functionality could be generalized to templating, but changed mind as doing template stuff would be unnecessarily complex. It's merely a status message, a simple serialization option should suffice. Since this slightly changes the command-server protocol, it's gated by a config knob. If the config is enabled, and if it's supported by the server, "message-encoding: <name>" is advertised so the client can stop parsing 'o'/'e' channel data and read encoded messages from the 'm' channel. As we might add new message encodings in future releases, client can specify a list of encoding names in preferred order. This patch includes 'cbor' encoding as example. Perhaps, 'json' should be supported as well.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 18 Jan 2015 18:49:59 +0900
parents 840cd57cde32
children 33d30fb1e4ae
comparison
equal deleted inserted replaced
40588:9683dfb6f13a 40589:054d0fcba2c4
171 default=False, 171 default=False,
172 ) 172 )
173 coreconfigitem('cmdserver', 'log', 173 coreconfigitem('cmdserver', 'log',
174 default=None, 174 default=None,
175 ) 175 )
176 coreconfigitem('cmdserver', 'message-encodings',
177 default=list,
178 )
176 coreconfigitem('color', '.*', 179 coreconfigitem('color', '.*',
177 default=None, 180 default=None,
178 generic=True, 181 generic=True,
179 ) 182 )
180 coreconfigitem('color', 'mode', 183 coreconfigitem('color', 'mode',