[PATCH 1 of 2] cat: factor out a function that populates the formatter

Yuya Nishihara yuya at tcha.org
Thu Jan 18 12:12:45 UTC 2018


On Wed, 17 Jan 2018 20:28:52 -0500, Matt Harbison wrote:
> On Wed, 17 Jan 2018 08:40:10 -0500, Yuya Nishihara <yuya at tcha.org> wrote:
> 
> > On Tue, 16 Jan 2018 21:29:26 -0500, Matt Harbison wrote:
> >> # HG changeset patch
> >> # User Matt Harbison <matt_harbison at yahoo.com>
> >> # Date 1516150560 18000
> >> #      Tue Jan 16 19:56:00 2018 -0500
> >> # Node ID ac8052ec552b36d4bee5bc24bc92fcee36d843cb
> >> # Parent  821d8a5ab4ff890a7732c2e4cdcc7f32191e5942
> >> cat: factor out a function that populates the formatter
> >
> > Queued, thanks.
> >
> >> +def _updatecatformatter(fm, ctx, matcher, path, decode):
> >> +    """Hook for adding data to the formatter used by ``hg cat``.
> >> +
> >> +    Extensions (e.g., lfs) can wrap this to inject keywords/data, but  
> >> must call
> >> +    this method first."""
> >> +    data = ctx[path].data()
> >> +    if decode:
> >> +        data = ctx.repo().wwritedata(path, data)
> >> +    fm.startitem()
> >> +    fm.write('data', '%s', data)
> >> +    fm.data(abspath=path, path=matcher.rel(path))
> >
> > FWIW, it'll be nice if we can add templatekw for fctx, so {rawdata} can  
> > be
> > a lazy function.
> 
> I found the TODO in formatter._renderitem(), but have no idea what's  
> needed.

We'll need a way of sorting out templatekw by required resources, e.g. repo,
ctx, fctx, etc. It's in my TODO list.



More information about the Mercurial-devel mailing list