Yuya Nishihara <yuya@tcha.org> [Tue, 10 Jul 2018 23:49:48 +0900] rev 38688
highlight: use matcher API to test if file should be pygmentized
Prepares for the upcoming API change. We'll no longer have to call the
fileset function directly since the cost of the matcher-based fileset will
become O(number of tests) from O(number of files in subset).
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 20:58:10 +0900] rev 38687
fileset: parse argument of size() by predicate function
This change is necessary to pass in a size expression to predicatematcher.
See the next patch.
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 22:19:56 +0900] rev 38686
fileset: add "tracked()" to explicitly select files in the revision
I'm going to rewrite filesets to be match predicates, which means basic
patterns such as '*' will no longer be "closed" to the subset constructed
from the ctx.
Good thing is that 'hg status "set:not binary()"' can include unknown files
out of the box, and fileset computation will likely to be faster as we won't
have to walk dirstate twice, for example. Bad thing is that we can't select
files at a certain revision by 'set:revs(REV, **)' since '**' is "open" to
any paths. So, this patch introduces "tracked()" as a replacement for the '**'
in the example above.
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jun 2018 18:11:49 +0900] rev 38685
fileset: rewrite andset() to not use mctx.narrow()
New code is less efficient than the original, but it helps porting andset()
to matcher composition. This will be cleaned up later.
This effectively disables the fullmatchctx magic since mctx will never be
demoted to the matchctx. The fullmatchctx class will be removed later.
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Jun 2018 20:02:53 +0900] rev 38684
fileset: add helpers to make predicatematcher and nevermatcher
These functions will be used to compose a tree of matchers from a fileset
expression.
Yuya Nishihara <yuya@tcha.org> [Sat, 14 Jul 2018 13:21:49 +0900] rev 38683
phases: micro-optimize newheads() to not create context objects