Safe Haskell | Safe-Inferred |
---|
Types used by Cmd.SaveGit. This is so Cmd.Cmd doesn't have to incur a dependency on the libgit2 bindings. This doesn't matter so much now that it's an external package, but it still seems like isolating dependencies is a good thing.
Synopsis
- data SaveHistory = SaveHistory !Ui.State !(Maybe GitT.Commit) [Update.UiUpdate] ![Text]
- data User = User {}
Documentation
data SaveHistory Source #
History to be saved to disk. The updates are post-diff to know which bits of state to write, and the commit is what commit the updates are relative to, if any. If they're Nothing, then save everything.
It's very important to bundle the commit and updates together, because without the commit to know what they are relative to, the updates don't mean anything, and if they're applied on top of the wrong commit the result will be a corrupted state.
SaveHistory !Ui.State !(Maybe GitT.Commit) [Update.UiUpdate] ![Text] |
Instances
Show SaveHistory Source # | |
Defined in Cmd.SaveGitT showsPrec :: Int -> SaveHistory -> ShowS # show :: SaveHistory -> String # showList :: [SaveHistory] -> ShowS # | |
Pretty.Pretty SaveHistory Source # | |
Defined in Cmd.SaveGitT pretty :: SaveHistory -> Text Source # format :: SaveHistory -> Doc Source # formatList :: [SaveHistory] -> Doc Source # |
Git wants these fields for commits. It probably doesn't matter much what they are, but they might as well be accurate.