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).
--- a/hgext/highlight/__init__.py Sun Jun 10 20:58:10 2018 +0900
+++ b/hgext/highlight/__init__.py Tue Jul 10 23:49:48 2018 +0900
@@ -36,7 +36,6 @@
from mercurial import (
extensions,
- fileset,
)
# Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
@@ -51,9 +50,8 @@
filenameonly = web.configbool('web', 'highlightonlymatchfilename', False)
ctx = fctx.changectx()
- tree = fileset.parse(expr)
- mctx = fileset.matchctx(ctx, subset=[fctx.path()], status=None)
- if fctx.path() in fileset.getset(mctx, tree):
+ m = ctx.matchfileset(expr)
+ if m(fctx.path()):
highlight.pygmentize(field, fctx, style, tmpl,
guessfilenameonly=filenameonly)