This change removes the aforementioned instances because they were
misbehaved; merging Attr and MaybeDefault values with these instances
resulted in field value losses. For example, before this change,
(defAttr `withForeColor` blue) <> (defAttr `withBackColor` green)
would result in just
(defAttr `withBackColor` green)
because the instances were designed to favor the right-hand arguments'
fields even if they had not been explicitly set (a consequence of the
MaybeDefault Semigroup instance). While that behavior was sensible
specifically in the context of Graphics.Vty.Inline, it wasn't a useful
user-facing API and it made for surprising instance behavior. Since
there is actually no good way to handle this in a Semigroup instance for
Attr -- some choices have to be made about how to merge two attributes'
foreground colors, and that won't be much better than what we had -- the
instance was just removed. I suspect that the risk of this impacting
users negatively is very low, given that the instance behavior was not
very useful.
- Add source repos
- Remove -threaded for library (in accordance with
cabal check recommendation)
- Copy LICENSE to test package (Fix cabal check error)
- Add proper other-modules to test executables (Fixes#88)
I though this would clear the text and current display attributes from the cursor to end of the line.
This is not the case. The display attribute is state of the output cursor and not the already
dislayed text.
This change sets the default display attributes at the end of a line as well as the start of a new
line.
This passes all the tests but will cause a regression in Yi: The display of a selection area will
not extend to the end of the screen. However, I have a branch of Yi that adds vertical splits. In
order to implement this the selection area display code needed to handle extending the image to the
end of the frame.