(<@U06A03HV1> I think you're best to answer this) ...
# development
b
(@witty-crayon-22786 I think you're best to answer this) Working on targetless formatter support: • Building on the groundwork we just laid for
lint
, We'll have the "nested" types be slightly different, but impedance-matched ◦ Namely
FmtPartitions
is now a collection of partitions of filepath+metadata, building upon lint's
Partitions
collection of partitions of <anything> ◦ Additionally
FmtRequest.SubPartition
now also holds an optional snapshot (optional because
lint
won't have the snapshot to provide) ▪︎ We can provide a
@rule_helper
for getting the snapshot:
self.snapshot if self.snapshot else await Get(...)
. Maybe we lift the underscore restriction? Or move it to
flake8
so we can
#noqa
it? However the serial nature of
fmt
is where things kinda get funky. Since
Partitions
(and therefore
SubPartitions
) can overlap in unique ways, my thought is to group
SubPartitions
by any-file-overlap. All is good so far, however when we go to serially execute the batch, the "prior" snapshot is for a potentially different set of files than the current request necessitates. So I'm imagining our snapshot populater needs to subset the "prior" snapshot on what files are valid for this subpartition (falling all the way to the very first invocation) and then merge with files we've never seen before. It's all sound, but wanted to get your (or anyone's) thoughts 🙂