1{-# LANGUAGE TypeFamilies #-}
2{-# LANGUAGE GeneralizedNewtypeDeriving #-}
3import qualified Data.AppendMap as Map
7newtype MyQuery = MyQuery SelectedCount
8 deriving (Show, Read, Eq, Ord, Monoid, Semigroup, Additive, Group)
10instance Query MyQuery where
11 type QueryResult MyQuery = ()
14instance (Ord k, Query a) => Query (Map.AppendMap k a) where
15 type QueryResult (Map.AppendMap k a) = Map.AppendMap k (QueryResult a)
21 n <- count =<< button "Increment"
23 queryDyn $ zipDynWith Map.singleton n $ pure $ MyQuery $ SelectedCount 1
26 replace <- button "Replace"
27 widgetHold w $ w <$ replace
28 (_, q) <- runQueryT outer $ pure mempty
29 display $ incrementalToDynamic q
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list