> On Feb 6, 2017, at 18:04, Sean Farley <s...@farley.io> wrote: > > Augie Fackler <r...@durin42.com> writes: > >> (sending again because this seems to have gotten stuck somewhere...) >> (+yuya explicitly for chg thoughts, +smf so someone else can forward to the >> list if it's stuck again) >> >> On Fri, Feb 03, 2017 at 04:16:09PM -0800, Bryan O'Sullivan wrote: [...]
>> (This design, btw, was inspired by the way git handles paging, where >> it's largely up to the command to decide if it wants to invoke the >> pager.) > > If I'm understanding you correctly, this will get rid of the > pager.attend variable? If that's true, then I fully support that. Mostly. pager.attend will probably live on as a config knob for users to force paging of commands that don't request it. I can't see it working without that? Though it'd be the alternative form, that looks like [pager] attend-foo = yes > >> As a sketch of where this is headed, API-wise: >> >> class ui: >> def pager(self, command, category): >> ""Starts the pager, if desired by the user. >> >> `command` specifies the current command the user is running, >> something like `log` or `shelve`. It should be the whole original >> command name, not the partial name or alias name. >> >> `category` specifies a broad category this pager invocation fits >> into. Examples include `diff`, `log`, `status`, `help`. This >> allows users to disable paging of entire types of commands easily. >> """ >> # pager starts, self.pageractive=true, etc >> >> @command >> def shelve(ui, ...): >> if action == 'list': >> ui.pager('shelve', 'diff' if --patch else 'log') >> ... >> >> @command >> def summary(ui, ...): >> ui.pager('summary', 'status') >> ... > > Would this get rid of the need to set pager.pager=less? I think last > time the pager was brought up (I believe the Munich sprint), there was a > consensus on not relying on the existence of less / more / windows > weirdness. I don't know about Windows, but I think we should follow git's lead and default to using *a* pager. On debian, that means sensible-pager, on most other unices that means less, on some unfortunate platforms it means more. In-tree, we should probably default to more, with a recommendation that packagers specify a more reasonable default in the system-wide hgrc. (I've had a PAGER environment variable for longer than I've had my dotfiles source control, but I have no idea how common this is. For some highly unscientific data, I've posted a poll on twitter: https://twitter.com/durin42/status/828742645145075712 - maybe we'll learn something.) > The API looks pretty good to me. Nothing off the top of my head that I > can add / question besides what I asked above. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel