On Tue, 24 Apr 2018 15:37:51 -0700 Stefan Beller <sbeller@xxxxxxxxxx> wrote: > These can be combined independently, so would > you expect the user to expect two options for them? > For example "--color-moved=zebra" could be split > into "--skip-small --alternate-blocks" Yes, this is a good explanation. Reusing your terms below, --skip-small controls the algorithm, and --alternate-blocks controls the presentation layer. > So instead of building blocks we rather want to split into algorithms > and presentation layer? > > The presentation layer would be things like: > * use a different color for moved things > * alternate colors for adjacent blocks > * paint border of a block (dimmed zebra) > > The algorithm side would be > * detect moves > * detect moves as blocks > * skip small heuristic Yes. This was just brainstorming, though - this might not be the direction we want to take in this patch. (The right solution might just be to always use blocks - thereby simplifying the algorithm aspect.)