Mercurial > public > mercurial-scm > hg
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', |