termonad 1.1.0.0 → 1.2.0.0
raw patch · 13 files changed
+183/−236 lines, 13 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Termonad.Config.Vec: [Abs_6989586621679475339Sym0KindInference] :: forall a6989586621679475338 arg_a1X6R. SameKind (Apply Abs_6989586621679475339Sym0 arg_a1X6R) (Abs_6989586621679475339Sym1 arg_a1X6R) => Abs_6989586621679475339Sym0 a6989586621679475338
- Termonad.Config.Vec: [Compare_6989586621679474059Sym0KindInference] :: forall a6989586621679474057 arg_a1WMe. SameKind (Apply Compare_6989586621679474059Sym0 arg_a1WMe) (Compare_6989586621679474059Sym1 arg_a1WMe) => Compare_6989586621679474059Sym0 a6989586621679474057
- Termonad.Config.Vec: [Compare_6989586621679474059Sym1KindInference] :: forall a6989586621679474057 a6989586621679474058 arg_a1WMd. SameKind (Apply (Compare_6989586621679474059Sym1 a6989586621679474057) arg_a1WMd) (Compare_6989586621679474059Sym2 a6989586621679474057 arg_a1WMd) => Compare_6989586621679474059Sym1 a6989586621679474057 a6989586621679474058
- Termonad.Config.Vec: [FromInteger_6989586621679475362Sym0KindInference] :: forall a6989586621679475361 arg_a1X7e. SameKind (Apply FromInteger_6989586621679475362Sym0 arg_a1X7e) (FromInteger_6989586621679475362Sym1 arg_a1X7e) => FromInteger_6989586621679475362Sym0 a6989586621679475361
- Termonad.Config.Vec: [Let6989586621679475351Scrutinee_6989586621679460508Sym0KindInference] :: forall n6989586621679475350 arg_a1X72. SameKind (Apply Let6989586621679475351Scrutinee_6989586621679460508Sym0 arg_a1X72) (Let6989586621679475351Scrutinee_6989586621679460508Sym1 arg_a1X72) => Let6989586621679475351Scrutinee_6989586621679460508Sym0 n6989586621679475350
- Termonad.Config.Vec: [Let6989586621679475355Scrutinee_6989586621679460510Sym0KindInference] :: forall n6989586621679475350 arg_a1X76. SameKind (Apply Let6989586621679475355Scrutinee_6989586621679460510Sym0 arg_a1X76) (Let6989586621679475355Scrutinee_6989586621679460510Sym1 arg_a1X76) => Let6989586621679475355Scrutinee_6989586621679460510Sym0 n6989586621679475350
- Termonad.Config.Vec: [ShowsPrec_6989586621679474760Sym0KindInference] :: forall a6989586621679474757 arg_a1WXy. SameKind (Apply ShowsPrec_6989586621679474760Sym0 arg_a1WXy) (ShowsPrec_6989586621679474760Sym1 arg_a1WXy) => ShowsPrec_6989586621679474760Sym0 a6989586621679474757
- Termonad.Config.Vec: [ShowsPrec_6989586621679474760Sym1KindInference] :: forall a6989586621679474757 a6989586621679474758 arg_a1WXx. SameKind (Apply (ShowsPrec_6989586621679474760Sym1 a6989586621679474757) arg_a1WXx) (ShowsPrec_6989586621679474760Sym2 a6989586621679474757 arg_a1WXx) => ShowsPrec_6989586621679474760Sym1 a6989586621679474757 a6989586621679474758
- Termonad.Config.Vec: [ShowsPrec_6989586621679474760Sym2KindInference] :: forall a6989586621679474757 a6989586621679474758 a6989586621679474759 arg_a1WXw. SameKind (Apply (ShowsPrec_6989586621679474760Sym2 a6989586621679474757 a6989586621679474758) arg_a1WXw) (ShowsPrec_6989586621679474760Sym3 a6989586621679474757 a6989586621679474758 arg_a1WXw) => ShowsPrec_6989586621679474760Sym2 a6989586621679474757 a6989586621679474758 a6989586621679474759
- Termonad.Config.Vec: [Signum_6989586621679475345Sym0KindInference] :: forall a6989586621679475344 arg_a1X6X. SameKind (Apply Signum_6989586621679475345Sym0 arg_a1X6X) (Signum_6989586621679475345Sym1 arg_a1X6X) => Signum_6989586621679475345Sym0 a6989586621679475344
- Termonad.Config.Vec: [TFHelper_6989586621679475297Sym0KindInference] :: forall a6989586621679475295 arg_a1X6c. SameKind (Apply TFHelper_6989586621679475297Sym0 arg_a1X6c) (TFHelper_6989586621679475297Sym1 arg_a1X6c) => TFHelper_6989586621679475297Sym0 a6989586621679475295
- Termonad.Config.Vec: [TFHelper_6989586621679475297Sym1KindInference] :: forall a6989586621679475295 a6989586621679475296 arg_a1X6b. SameKind (Apply (TFHelper_6989586621679475297Sym1 a6989586621679475295) arg_a1X6b) (TFHelper_6989586621679475297Sym2 a6989586621679475295 arg_a1X6b) => TFHelper_6989586621679475297Sym1 a6989586621679475295 a6989586621679475296
- Termonad.Config.Vec: [TFHelper_6989586621679475313Sym0KindInference] :: forall a6989586621679475311 arg_a1X6s. SameKind (Apply TFHelper_6989586621679475313Sym0 arg_a1X6s) (TFHelper_6989586621679475313Sym1 arg_a1X6s) => TFHelper_6989586621679475313Sym0 a6989586621679475311
- Termonad.Config.Vec: [TFHelper_6989586621679475313Sym1KindInference] :: forall a6989586621679475311 a6989586621679475312 arg_a1X6r. SameKind (Apply (TFHelper_6989586621679475313Sym1 a6989586621679475311) arg_a1X6r) (TFHelper_6989586621679475313Sym2 a6989586621679475311 arg_a1X6r) => TFHelper_6989586621679475313Sym1 a6989586621679475311 a6989586621679475312
- Termonad.Config.Vec: [TFHelper_6989586621679475329Sym0KindInference] :: forall a6989586621679475327 arg_a1X6I. SameKind (Apply TFHelper_6989586621679475329Sym0 arg_a1X6I) (TFHelper_6989586621679475329Sym1 arg_a1X6I) => TFHelper_6989586621679475329Sym0 a6989586621679475327
- Termonad.Config.Vec: [TFHelper_6989586621679475329Sym1KindInference] :: forall a6989586621679475327 a6989586621679475328 arg_a1X6H. SameKind (Apply (TFHelper_6989586621679475329Sym1 a6989586621679475327) arg_a1X6H) (TFHelper_6989586621679475329Sym2 a6989586621679475327 arg_a1X6H) => TFHelper_6989586621679475329Sym1 a6989586621679475327 a6989586621679475328
- Termonad.Config.Vec: data Abs_6989586621679475339Sym0 :: (~>) Peano Peano
- Termonad.Config.Vec: data Compare_6989586621679474059Sym0 :: (~>) Peano ((~>) Peano Ordering)
- Termonad.Config.Vec: data Compare_6989586621679474059Sym1 (a6989586621679474057 :: Peano) :: (~>) Peano Ordering
- Termonad.Config.Vec: data FromInteger_6989586621679475362Sym0 :: (~>) Nat Peano
- Termonad.Config.Vec: data Let6989586621679475351Scrutinee_6989586621679460508Sym0 n6989586621679475350
- Termonad.Config.Vec: data Let6989586621679475355Scrutinee_6989586621679460510Sym0 n6989586621679475350
- Termonad.Config.Vec: data ShowsPrec_6989586621679474760Sym0 :: (~>) Nat ((~>) Peano ((~>) Symbol Symbol))
- Termonad.Config.Vec: data ShowsPrec_6989586621679474760Sym1 (a6989586621679474757 :: Nat) :: (~>) Peano ((~>) Symbol Symbol)
- Termonad.Config.Vec: data ShowsPrec_6989586621679474760Sym2 (a6989586621679474757 :: Nat) (a6989586621679474758 :: Peano) :: (~>) Symbol Symbol
- Termonad.Config.Vec: data Signum_6989586621679475345Sym0 :: (~>) Peano Peano
- Termonad.Config.Vec: data TFHelper_6989586621679475297Sym0 :: (~>) Peano ((~>) Peano Peano)
- Termonad.Config.Vec: data TFHelper_6989586621679475297Sym1 (a6989586621679475295 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: data TFHelper_6989586621679475313Sym0 :: (~>) Peano ((~>) Peano Peano)
- Termonad.Config.Vec: data TFHelper_6989586621679475313Sym1 (a6989586621679475311 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: data TFHelper_6989586621679475329Sym0 :: (~>) Peano ((~>) Peano Peano)
- Termonad.Config.Vec: data TFHelper_6989586621679475329Sym1 (a6989586621679475327 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.AddPeanoSym1 a6989586621679472317)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.Compare_6989586621679474059Sym1 a6989586621679474057)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.MultPeanoSym1 a6989586621679472324)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.ShowsPrec_6989586621679474760Sym1 a6989586621679474757)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.ShowsPrec_6989586621679474760Sym2 a6989586621679474758 a6989586621679474757)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.SubtractPeanoSym1 a6989586621679472310)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679475297Sym1 a6989586621679475295)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679475313Sym1 a6989586621679475311)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679475329Sym1 a6989586621679475327)
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Abs_6989586621679475339Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Compare_6989586621679474059Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.FromInteger_6989586621679475362Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679475351Scrutinee_6989586621679460508Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679475355Scrutinee_6989586621679460510Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.ShowsPrec_6989586621679474760Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Signum_6989586621679475345Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679475297Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679475313Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679475329Sym0
- Termonad.Config.Vec: type Abs_6989586621679475339Sym1 (a6989586621679475338 :: Peano) = Abs_6989586621679475339 a6989586621679475338
- Termonad.Config.Vec: type Compare_6989586621679474059Sym2 (a6989586621679474057 :: Peano) (a6989586621679474058 :: Peano) = Compare_6989586621679474059 a6989586621679474057 a6989586621679474058
- Termonad.Config.Vec: type FromInteger_6989586621679475362Sym1 (a6989586621679475361 :: Nat) = FromInteger_6989586621679475362 a6989586621679475361
- Termonad.Config.Vec: type Let6989586621679475351Scrutinee_6989586621679460508Sym1 n6989586621679475350 = Let6989586621679475351Scrutinee_6989586621679460508 n6989586621679475350
- Termonad.Config.Vec: type Let6989586621679475355Scrutinee_6989586621679460510Sym1 n6989586621679475350 = Let6989586621679475355Scrutinee_6989586621679460510 n6989586621679475350
- Termonad.Config.Vec: type ShowsPrec_6989586621679474760Sym3 (a6989586621679474757 :: Nat) (a6989586621679474758 :: Peano) (a6989586621679474759 :: Symbol) = ShowsPrec_6989586621679474760 a6989586621679474757 a6989586621679474758 a6989586621679474759
- Termonad.Config.Vec: type Signum_6989586621679475345Sym1 (a6989586621679475344 :: Peano) = Signum_6989586621679475345 a6989586621679475344
- Termonad.Config.Vec: type TFHelper_6989586621679475297Sym2 (a6989586621679475295 :: Peano) (a6989586621679475296 :: Peano) = TFHelper_6989586621679475297 a6989586621679475295 a6989586621679475296
- Termonad.Config.Vec: type TFHelper_6989586621679475313Sym2 (a6989586621679475311 :: Peano) (a6989586621679475312 :: Peano) = TFHelper_6989586621679475313 a6989586621679475311 a6989586621679475312
- Termonad.Config.Vec: type TFHelper_6989586621679475329Sym2 (a6989586621679475327 :: Peano) (a6989586621679475328 :: Peano) = TFHelper_6989586621679475329 a6989586621679475327 a6989586621679475328
- Termonad.Prelude: newtype ReaderT r (m :: k -> Type) (a :: k) :: forall k. () => Type -> k -> Type -> k -> Type
+ Termonad.Config.Vec: [Abs_6989586621679476215Sym0KindInference] :: forall a6989586621679476214 arg_a1XkZ. SameKind (Apply Abs_6989586621679476215Sym0 arg_a1XkZ) (Abs_6989586621679476215Sym1 arg_a1XkZ) => Abs_6989586621679476215Sym0 a6989586621679476214
+ Termonad.Config.Vec: [Compare_6989586621679474935Sym0KindInference] :: forall a6989586621679474933 arg_a1X0m. SameKind (Apply Compare_6989586621679474935Sym0 arg_a1X0m) (Compare_6989586621679474935Sym1 arg_a1X0m) => Compare_6989586621679474935Sym0 a6989586621679474933
+ Termonad.Config.Vec: [Compare_6989586621679474935Sym1KindInference] :: forall a6989586621679474933 a6989586621679474934 arg_a1X0l. SameKind (Apply (Compare_6989586621679474935Sym1 a6989586621679474933) arg_a1X0l) (Compare_6989586621679474935Sym2 a6989586621679474933 arg_a1X0l) => Compare_6989586621679474935Sym1 a6989586621679474933 a6989586621679474934
+ Termonad.Config.Vec: [FromInteger_6989586621679476238Sym0KindInference] :: forall a6989586621679476237 arg_a1Xlm. SameKind (Apply FromInteger_6989586621679476238Sym0 arg_a1Xlm) (FromInteger_6989586621679476238Sym1 arg_a1Xlm) => FromInteger_6989586621679476238Sym0 a6989586621679476237
+ Termonad.Config.Vec: [Let6989586621679476227Scrutinee_6989586621679461448Sym0KindInference] :: forall n6989586621679476226 arg_a1Xla. SameKind (Apply Let6989586621679476227Scrutinee_6989586621679461448Sym0 arg_a1Xla) (Let6989586621679476227Scrutinee_6989586621679461448Sym1 arg_a1Xla) => Let6989586621679476227Scrutinee_6989586621679461448Sym0 n6989586621679476226
+ Termonad.Config.Vec: [Let6989586621679476231Scrutinee_6989586621679461450Sym0KindInference] :: forall n6989586621679476226 arg_a1Xle. SameKind (Apply Let6989586621679476231Scrutinee_6989586621679461450Sym0 arg_a1Xle) (Let6989586621679476231Scrutinee_6989586621679461450Sym1 arg_a1Xle) => Let6989586621679476231Scrutinee_6989586621679461450Sym0 n6989586621679476226
+ Termonad.Config.Vec: [ShowsPrec_6989586621679475636Sym0KindInference] :: forall a6989586621679475633 arg_a1XbG. SameKind (Apply ShowsPrec_6989586621679475636Sym0 arg_a1XbG) (ShowsPrec_6989586621679475636Sym1 arg_a1XbG) => ShowsPrec_6989586621679475636Sym0 a6989586621679475633
+ Termonad.Config.Vec: [ShowsPrec_6989586621679475636Sym1KindInference] :: forall a6989586621679475633 a6989586621679475634 arg_a1XbF. SameKind (Apply (ShowsPrec_6989586621679475636Sym1 a6989586621679475633) arg_a1XbF) (ShowsPrec_6989586621679475636Sym2 a6989586621679475633 arg_a1XbF) => ShowsPrec_6989586621679475636Sym1 a6989586621679475633 a6989586621679475634
+ Termonad.Config.Vec: [ShowsPrec_6989586621679475636Sym2KindInference] :: forall a6989586621679475633 a6989586621679475634 a6989586621679475635 arg_a1XbE. SameKind (Apply (ShowsPrec_6989586621679475636Sym2 a6989586621679475633 a6989586621679475634) arg_a1XbE) (ShowsPrec_6989586621679475636Sym3 a6989586621679475633 a6989586621679475634 arg_a1XbE) => ShowsPrec_6989586621679475636Sym2 a6989586621679475633 a6989586621679475634 a6989586621679475635
+ Termonad.Config.Vec: [Signum_6989586621679476221Sym0KindInference] :: forall a6989586621679476220 arg_a1Xl5. SameKind (Apply Signum_6989586621679476221Sym0 arg_a1Xl5) (Signum_6989586621679476221Sym1 arg_a1Xl5) => Signum_6989586621679476221Sym0 a6989586621679476220
+ Termonad.Config.Vec: [TFHelper_6989586621679476173Sym0KindInference] :: forall a6989586621679476171 arg_a1Xkk. SameKind (Apply TFHelper_6989586621679476173Sym0 arg_a1Xkk) (TFHelper_6989586621679476173Sym1 arg_a1Xkk) => TFHelper_6989586621679476173Sym0 a6989586621679476171
+ Termonad.Config.Vec: [TFHelper_6989586621679476173Sym1KindInference] :: forall a6989586621679476171 a6989586621679476172 arg_a1Xkj. SameKind (Apply (TFHelper_6989586621679476173Sym1 a6989586621679476171) arg_a1Xkj) (TFHelper_6989586621679476173Sym2 a6989586621679476171 arg_a1Xkj) => TFHelper_6989586621679476173Sym1 a6989586621679476171 a6989586621679476172
+ Termonad.Config.Vec: [TFHelper_6989586621679476189Sym0KindInference] :: forall a6989586621679476187 arg_a1XkA. SameKind (Apply TFHelper_6989586621679476189Sym0 arg_a1XkA) (TFHelper_6989586621679476189Sym1 arg_a1XkA) => TFHelper_6989586621679476189Sym0 a6989586621679476187
+ Termonad.Config.Vec: [TFHelper_6989586621679476189Sym1KindInference] :: forall a6989586621679476187 a6989586621679476188 arg_a1Xkz. SameKind (Apply (TFHelper_6989586621679476189Sym1 a6989586621679476187) arg_a1Xkz) (TFHelper_6989586621679476189Sym2 a6989586621679476187 arg_a1Xkz) => TFHelper_6989586621679476189Sym1 a6989586621679476187 a6989586621679476188
+ Termonad.Config.Vec: [TFHelper_6989586621679476205Sym0KindInference] :: forall a6989586621679476203 arg_a1XkQ. SameKind (Apply TFHelper_6989586621679476205Sym0 arg_a1XkQ) (TFHelper_6989586621679476205Sym1 arg_a1XkQ) => TFHelper_6989586621679476205Sym0 a6989586621679476203
+ Termonad.Config.Vec: [TFHelper_6989586621679476205Sym1KindInference] :: forall a6989586621679476203 a6989586621679476204 arg_a1XkP. SameKind (Apply (TFHelper_6989586621679476205Sym1 a6989586621679476203) arg_a1XkP) (TFHelper_6989586621679476205Sym2 a6989586621679476203 arg_a1XkP) => TFHelper_6989586621679476205Sym1 a6989586621679476203 a6989586621679476204
+ Termonad.Config.Vec: data Abs_6989586621679476215Sym0 :: (~>) Peano Peano
+ Termonad.Config.Vec: data Compare_6989586621679474935Sym0 :: (~>) Peano ((~>) Peano Ordering)
+ Termonad.Config.Vec: data Compare_6989586621679474935Sym1 (a6989586621679474933 :: Peano) :: (~>) Peano Ordering
+ Termonad.Config.Vec: data FromInteger_6989586621679476238Sym0 :: (~>) Nat Peano
+ Termonad.Config.Vec: data Let6989586621679476227Scrutinee_6989586621679461448Sym0 n6989586621679476226
+ Termonad.Config.Vec: data Let6989586621679476231Scrutinee_6989586621679461450Sym0 n6989586621679476226
+ Termonad.Config.Vec: data ShowsPrec_6989586621679475636Sym0 :: (~>) Nat ((~>) Peano ((~>) Symbol Symbol))
+ Termonad.Config.Vec: data ShowsPrec_6989586621679475636Sym1 (a6989586621679475633 :: Nat) :: (~>) Peano ((~>) Symbol Symbol)
+ Termonad.Config.Vec: data ShowsPrec_6989586621679475636Sym2 (a6989586621679475633 :: Nat) (a6989586621679475634 :: Peano) :: (~>) Symbol Symbol
+ Termonad.Config.Vec: data Signum_6989586621679476221Sym0 :: (~>) Peano Peano
+ Termonad.Config.Vec: data TFHelper_6989586621679476173Sym0 :: (~>) Peano ((~>) Peano Peano)
+ Termonad.Config.Vec: data TFHelper_6989586621679476173Sym1 (a6989586621679476171 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: data TFHelper_6989586621679476189Sym0 :: (~>) Peano ((~>) Peano Peano)
+ Termonad.Config.Vec: data TFHelper_6989586621679476189Sym1 (a6989586621679476187 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: data TFHelper_6989586621679476205Sym0 :: (~>) Peano ((~>) Peano Peano)
+ Termonad.Config.Vec: data TFHelper_6989586621679476205Sym1 (a6989586621679476203 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.AddPeanoSym1 a6989586621679473193)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.Compare_6989586621679474935Sym1 a6989586621679474933)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.MultPeanoSym1 a6989586621679473200)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.ShowsPrec_6989586621679475636Sym1 a6989586621679475633)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.ShowsPrec_6989586621679475636Sym2 a6989586621679475634 a6989586621679475633)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.SubtractPeanoSym1 a6989586621679473186)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679476173Sym1 a6989586621679476171)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679476189Sym1 a6989586621679476187)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Termonad.Config.Vec.TFHelper_6989586621679476205Sym1 a6989586621679476203)
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Abs_6989586621679476215Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Compare_6989586621679474935Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.FromInteger_6989586621679476238Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679476227Scrutinee_6989586621679461448Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679476231Scrutinee_6989586621679461450Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.ShowsPrec_6989586621679475636Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Signum_6989586621679476221Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679476173Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679476189Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.TFHelper_6989586621679476205Sym0
+ Termonad.Config.Vec: type Abs_6989586621679476215Sym1 (a6989586621679476214 :: Peano) = Abs_6989586621679476215 a6989586621679476214
+ Termonad.Config.Vec: type Compare_6989586621679474935Sym2 (a6989586621679474933 :: Peano) (a6989586621679474934 :: Peano) = Compare_6989586621679474935 a6989586621679474933 a6989586621679474934
+ Termonad.Config.Vec: type FromInteger_6989586621679476238Sym1 (a6989586621679476237 :: Nat) = FromInteger_6989586621679476238 a6989586621679476237
+ Termonad.Config.Vec: type Let6989586621679476227Scrutinee_6989586621679461448Sym1 n6989586621679476226 = Let6989586621679476227Scrutinee_6989586621679461448 n6989586621679476226
+ Termonad.Config.Vec: type Let6989586621679476231Scrutinee_6989586621679461450Sym1 n6989586621679476226 = Let6989586621679476231Scrutinee_6989586621679461450 n6989586621679476226
+ Termonad.Config.Vec: type ShowsPrec_6989586621679475636Sym3 (a6989586621679475633 :: Nat) (a6989586621679475634 :: Peano) (a6989586621679475635 :: Symbol) = ShowsPrec_6989586621679475636 a6989586621679475633 a6989586621679475634 a6989586621679475635
+ Termonad.Config.Vec: type Signum_6989586621679476221Sym1 (a6989586621679476220 :: Peano) = Signum_6989586621679476221 a6989586621679476220
+ Termonad.Config.Vec: type TFHelper_6989586621679476173Sym2 (a6989586621679476171 :: Peano) (a6989586621679476172 :: Peano) = TFHelper_6989586621679476173 a6989586621679476171 a6989586621679476172
+ Termonad.Config.Vec: type TFHelper_6989586621679476189Sym2 (a6989586621679476187 :: Peano) (a6989586621679476188 :: Peano) = TFHelper_6989586621679476189 a6989586621679476187 a6989586621679476188
+ Termonad.Config.Vec: type TFHelper_6989586621679476205Sym2 (a6989586621679476203 :: Peano) (a6989586621679476204 :: Peano) = TFHelper_6989586621679476205 a6989586621679476203 a6989586621679476204
+ Termonad.Prelude: newtype ReaderT r (m :: Type -> Type) a
- Termonad.Config.Colour: ColourConfig :: !Option c -> !Option c -> !c -> !c -> !Palette c -> ColourConfig c
+ Termonad.Config.Colour: ColourConfig :: !Option c -> !Option c -> !Option c -> !Option c -> !Palette c -> ColourConfig c
- Termonad.Config.Colour: [backgroundColour] :: ColourConfig c -> !c
+ Termonad.Config.Colour: [backgroundColour] :: ColourConfig c -> !Option c
- Termonad.Config.Colour: [foregroundColour] :: ColourConfig c -> !c
+ Termonad.Config.Colour: [foregroundColour] :: ColourConfig c -> !Option c
- Termonad.Config.Colour: lensBackgroundColour :: forall c_a2AQJ. Lens' (ColourConfig c_a2AQJ) c_a2AQJ
+ Termonad.Config.Colour: lensBackgroundColour :: forall c_a2B4Q. Lens' (ColourConfig c_a2B4Q) (Option c_a2B4Q)
- Termonad.Config.Colour: lensCursorBgColour :: forall c_a2AQJ. Lens' (ColourConfig c_a2AQJ) (Option c_a2AQJ)
+ Termonad.Config.Colour: lensCursorBgColour :: forall c_a2B4Q. Lens' (ColourConfig c_a2B4Q) (Option c_a2B4Q)
- Termonad.Config.Colour: lensCursorFgColour :: forall c_a2AQJ. Lens' (ColourConfig c_a2AQJ) (Option c_a2AQJ)
+ Termonad.Config.Colour: lensCursorFgColour :: forall c_a2B4Q. Lens' (ColourConfig c_a2B4Q) (Option c_a2B4Q)
- Termonad.Config.Colour: lensForegroundColour :: forall c_a2AQJ. Lens' (ColourConfig c_a2AQJ) c_a2AQJ
+ Termonad.Config.Colour: lensForegroundColour :: forall c_a2B4Q. Lens' (ColourConfig c_a2B4Q) (Option c_a2B4Q)
- Termonad.Config.Colour: lensPalette :: forall c_a2AQJ. Lens' (ColourConfig c_a2AQJ) (Palette c_a2AQJ)
+ Termonad.Config.Colour: lensPalette :: forall c_a2B4Q. Lens' (ColourConfig c_a2B4Q) (Palette c_a2B4Q)
- Termonad.Config.Vec: [AddPeanoSym0KindInference] :: forall a6989586621679472317 arg_a1Wk8. SameKind (Apply AddPeanoSym0 arg_a1Wk8) (AddPeanoSym1 arg_a1Wk8) => AddPeanoSym0 a6989586621679472317
+ Termonad.Config.Vec: [AddPeanoSym0KindInference] :: forall a6989586621679473193 arg_a1Wyg. SameKind (Apply AddPeanoSym0 arg_a1Wyg) (AddPeanoSym1 arg_a1Wyg) => AddPeanoSym0 a6989586621679473193
- Termonad.Config.Vec: [AddPeanoSym1KindInference] :: forall a6989586621679472317 a6989586621679472318 arg_a1Wk7. SameKind (Apply (AddPeanoSym1 a6989586621679472317) arg_a1Wk7) (AddPeanoSym2 a6989586621679472317 arg_a1Wk7) => AddPeanoSym1 a6989586621679472317 a6989586621679472318
+ Termonad.Config.Vec: [AddPeanoSym1KindInference] :: forall a6989586621679473193 a6989586621679473194 arg_a1Wyf. SameKind (Apply (AddPeanoSym1 a6989586621679473193) arg_a1Wyf) (AddPeanoSym2 a6989586621679473193 arg_a1Wyf) => AddPeanoSym1 a6989586621679473193 a6989586621679473194
- Termonad.Config.Vec: [MultPeanoSym0KindInference] :: forall a6989586621679472324 arg_a1Wkf. SameKind (Apply MultPeanoSym0 arg_a1Wkf) (MultPeanoSym1 arg_a1Wkf) => MultPeanoSym0 a6989586621679472324
+ Termonad.Config.Vec: [MultPeanoSym0KindInference] :: forall a6989586621679473200 arg_a1Wyn. SameKind (Apply MultPeanoSym0 arg_a1Wyn) (MultPeanoSym1 arg_a1Wyn) => MultPeanoSym0 a6989586621679473200
- Termonad.Config.Vec: [MultPeanoSym1KindInference] :: forall a6989586621679472324 a6989586621679472325 arg_a1Wke. SameKind (Apply (MultPeanoSym1 a6989586621679472324) arg_a1Wke) (MultPeanoSym2 a6989586621679472324 arg_a1Wke) => MultPeanoSym1 a6989586621679472324 a6989586621679472325
+ Termonad.Config.Vec: [MultPeanoSym1KindInference] :: forall a6989586621679473200 a6989586621679473201 arg_a1Wym. SameKind (Apply (MultPeanoSym1 a6989586621679473200) arg_a1Wym) (MultPeanoSym2 a6989586621679473200 arg_a1Wym) => MultPeanoSym1 a6989586621679473200 a6989586621679473201
- Termonad.Config.Vec: [SSym0KindInference] :: forall t6989586621679472308 arg_a1WjX. SameKind (Apply SSym0 arg_a1WjX) (SSym1 arg_a1WjX) => SSym0 t6989586621679472308
+ Termonad.Config.Vec: [SSym0KindInference] :: forall t6989586621679473184 arg_a1Wy5. SameKind (Apply SSym0 arg_a1Wy5) (SSym1 arg_a1Wy5) => SSym0 t6989586621679473184
- Termonad.Config.Vec: [SubtractPeanoSym0KindInference] :: forall a6989586621679472310 arg_a1Wk1. SameKind (Apply SubtractPeanoSym0 arg_a1Wk1) (SubtractPeanoSym1 arg_a1Wk1) => SubtractPeanoSym0 a6989586621679472310
+ Termonad.Config.Vec: [SubtractPeanoSym0KindInference] :: forall a6989586621679473186 arg_a1Wy9. SameKind (Apply SubtractPeanoSym0 arg_a1Wy9) (SubtractPeanoSym1 arg_a1Wy9) => SubtractPeanoSym0 a6989586621679473186
- Termonad.Config.Vec: [SubtractPeanoSym1KindInference] :: forall a6989586621679472310 a6989586621679472311 arg_a1Wk0. SameKind (Apply (SubtractPeanoSym1 a6989586621679472310) arg_a1Wk0) (SubtractPeanoSym2 a6989586621679472310 arg_a1Wk0) => SubtractPeanoSym1 a6989586621679472310 a6989586621679472311
+ Termonad.Config.Vec: [SubtractPeanoSym1KindInference] :: forall a6989586621679473186 a6989586621679473187 arg_a1Wy8. SameKind (Apply (SubtractPeanoSym1 a6989586621679473186) arg_a1Wy8) (SubtractPeanoSym2 a6989586621679473186 arg_a1Wy8) => SubtractPeanoSym1 a6989586621679473186 a6989586621679473187
- Termonad.Config.Vec: data AddPeanoSym1 (a6989586621679472317 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: data AddPeanoSym1 (a6989586621679473193 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: data MultPeanoSym1 (a6989586621679472324 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: data MultPeanoSym1 (a6989586621679473200 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: data SubtractPeanoSym1 (a6989586621679472310 :: Peano) :: (~>) Peano Peano
+ Termonad.Config.Vec: data SubtractPeanoSym1 (a6989586621679473186 :: Peano) :: (~>) Peano Peano
- Termonad.Config.Vec: sAddPeano :: forall (t_a1X7p :: Peano) (t_a1X7q :: Peano). Sing t_a1X7p -> Sing t_a1X7q -> Sing (Apply (Apply AddPeanoSym0 t_a1X7p) t_a1X7q :: Peano)
+ Termonad.Config.Vec: sAddPeano :: forall (t_a1Xlx :: Peano) (t_a1Xly :: Peano). Sing t_a1Xlx -> Sing t_a1Xly -> Sing (Apply (Apply AddPeanoSym0 t_a1Xlx) t_a1Xly :: Peano)
- Termonad.Config.Vec: sMultPeano :: forall (t_a1X7t :: Peano) (t_a1X7u :: Peano). Sing t_a1X7t -> Sing t_a1X7u -> Sing (Apply (Apply MultPeanoSym0 t_a1X7t) t_a1X7u :: Peano)
+ Termonad.Config.Vec: sMultPeano :: forall (t_a1XlB :: Peano) (t_a1XlC :: Peano). Sing t_a1XlB -> Sing t_a1XlC -> Sing (Apply (Apply MultPeanoSym0 t_a1XlB) t_a1XlC :: Peano)
- Termonad.Config.Vec: sSubtractPeano :: forall (t_a1X7l :: Peano) (t_a1X7m :: Peano). Sing t_a1X7l -> Sing t_a1X7m -> Sing (Apply (Apply SubtractPeanoSym0 t_a1X7l) t_a1X7m :: Peano)
+ Termonad.Config.Vec: sSubtractPeano :: forall (t_a1Xlt :: Peano) (t_a1Xlu :: Peano). Sing t_a1Xlt -> Sing t_a1Xlu -> Sing (Apply (Apply SubtractPeanoSym0 t_a1Xlt) t_a1Xlu :: Peano)
- Termonad.Config.Vec: type AddPeanoSym2 (a6989586621679472317 :: Peano) (a6989586621679472318 :: Peano) = AddPeano a6989586621679472317 a6989586621679472318
+ Termonad.Config.Vec: type AddPeanoSym2 (a6989586621679473193 :: Peano) (a6989586621679473194 :: Peano) = AddPeano a6989586621679473193 a6989586621679473194
- Termonad.Config.Vec: type MultPeanoSym2 (a6989586621679472324 :: Peano) (a6989586621679472325 :: Peano) = MultPeano a6989586621679472324 a6989586621679472325
+ Termonad.Config.Vec: type MultPeanoSym2 (a6989586621679473200 :: Peano) (a6989586621679473201 :: Peano) = MultPeano a6989586621679473200 a6989586621679473201
- Termonad.Config.Vec: type SSym1 (t6989586621679472308 :: Peano) = S t6989586621679472308
+ Termonad.Config.Vec: type SSym1 (t6989586621679473184 :: Peano) = S t6989586621679473184
- Termonad.Config.Vec: type SubtractPeanoSym2 (a6989586621679472310 :: Peano) (a6989586621679472311 :: Peano) = SubtractPeano a6989586621679472310 a6989586621679472311
+ Termonad.Config.Vec: type SubtractPeanoSym2 (a6989586621679473186 :: Peano) (a6989586621679473187 :: Peano) = SubtractPeano a6989586621679473186 a6989586621679473187
- Termonad.Prelude: ReaderT :: (r -> m a) -> ReaderT r
+ Termonad.Prelude: ReaderT :: (r -> m a) -> ReaderT r a
- Termonad.Prelude: [runReaderT] :: ReaderT r -> r -> m a
+ Termonad.Prelude: [runReaderT] :: ReaderT r a -> r -> m a
Files
- .nix-helpers/nixpkgs.nix +41/−79
- .nix-helpers/stack-fhs-env.nix +37/−52
- .nix-helpers/stack-shell.nix +2/−20
- .nix-helpers/termonad-with-packages.nix +17/−9
- CHANGELOG.md +8/−0
- default.nix +2/−2
- example-config/ExampleColourExtension.hs +1/−1
- example-config/ExampleSolarizedColourExtension.hs +2/−2
- shell.nix +20/−10
- src/Termonad/App.hs +6/−5
- src/Termonad/Config.hs +0/−2
- src/Termonad/Config/Colour.hs +46/−53
- termonad.cabal +1/−1
.nix-helpers/nixpkgs.nix view
@@ -1,95 +1,57 @@ # This file pins the version of nixpkgs to a known good version. The nixpkgs is-# imported with an overlay overriding haskellPackages to generate haddocks for-# GI dependencies, and to use the GHC, VTE, GTK and open-haddock versions we-# want. It is imported from various other files.+# imported with an overlay adding Termonad. It is imported from various other+# files. -{ compiler ? null, nixpkgs ? null }:+{ # String representing a GHC version to use. Normally something like+ # "ghc865". If null, then use a known-working GHC version.+ compiler ? null+, # A path to nixpkgs. This will be imported. If null, use a known-working+ # nixpkgs version.+ nixpkgs ? null+, # Additional overlays to apply when importing nixpkgs.+ additionalOverlays ? []+}: let nixpkgsSrc = if isNull nixpkgs then builtins.fetchTarball {- # version of nixpkgs as of 2018-11-21- url = "https://github.com/NixOS/nixpkgs/archive/a370bd1fed5fcce0bb260fb6a5213911f1441eac.tar.gz";- sha256 = "17zj2yay3wgmgh1pwmgh6fcpqnrw7fl9riv852z3l38711by5ar4";+ # Recent version of nixpkgs-19.03 as of 2019-06-25.+ url = "https://github.com/NixOS/nixpkgs/archive/8634c3b619909db7fc747faf8c03592986626e21.tar.gz";+ sha256 = "sha256:0hcpy4q64vbqmlmnfcavfxilyygyzpwdsss8g3p73ikpic0j6ziq"; }- else- nixpkgs;+ else nixpkgs; - compilerVersion = if isNull compiler then "ghc844" else compiler;+ compilerVersion = if isNull compiler then "ghc865" else compiler; - # The termonad derivation is generated automatically with `cabal2nix`.- termonadOverride =- stdenvLib: gnome3: callCabal2nix: overrideCabal:- let- src =- builtins.filterSource- (path: type: with stdenvLib;- ! elem (baseNameOf path) [ ".git" "result" ".stack-work" ".nix-helpers" ] &&- ! any (flip hasPrefix (baseNameOf path)) [ "dist" ".ghc" ]- )- ./..;- termonad = callCabal2nix "termonad" src {- inherit (gnome3) gtk3;- vte_291 = gnome3.vte;+ # An overlay that adds termonad to all haskell package sets.+ haskellPackagesOverlay = self: super: {+ haskell = super.haskell // {+ packageOverrides = hself: hsuper:+ super.haskell.packageOverrides hself hsuper // {+ termonad =+ let+ src =+ builtins.filterSource+ (path: type: with self.stdenv.lib;+ ! elem (baseNameOf path) [ ".git" "result" ".stack-work" ".nix-helpers" ] &&+ ! any (flip hasPrefix (baseNameOf path)) [ "dist" ".ghc" ]+ )+ ./..;+ in+ hself.callCabal2nix "termonad" src {+ inherit (self.gnome3) gtk3;+ vte_291 = self.gnome3.vte;+ }; };- in- overrideCabal termonad (oldAttrs: {- # For some reason the doctests fail when running with nix.- # https://github.com/cdepillabout/termonad/issues/15- doCheck = false;- });-- # This is only used when older versions of nixpkgs are being used that don't have- # the focuslist package yet. Eventually this can probably be completely dropped- # around July of 2019 or so.- #- # Also, if Termonad starts depending on a newer version of focuslist, this will- # have to be updated.- myfocuslist = callCabal2nix:- let- src = builtins.fetchTarball {- url = "https://github.com/cdepillabout/focuslist/archive/80bd865e82ab4499ccebcd89989d2dbb221bb381.tar.gz";- sha256 = "1b7da9ngk34jc2w4hhqq6qv20pkch5vvi34kr81xpmr3mmiwqmai";- };- in callCabal2nix "focuslist" src {};-- haskellPackagesOverlay = self: super: with super.haskell.lib; {- haskellPackages = super.haskell.packages.${compilerVersion}.override {- overrides = hself: hsuper: {- # Only override the version of foculist if it doesn't already exist in- # the haskell package set.- focuslist = hsuper.focuslist or (myfocuslist hself.callCabal2nix);-- termonad =- termonadOverride- self.stdenv.lib- self.gnome3- hself.callCabal2nix- self.haskell.lib.overrideCabal;-- # This is a tool to use to easily open haddocks in the browser.- open-haddock = hsuper.open-haddock.overrideAttrs (oa: {- src = super.fetchFromGitHub {- owner = "jml";- repo = "open-haddock";- rev = "472d10d61d7b9262626171af0484a65365863fa6";- sha256 = "072d680j1k3n0vkzsbghhnah2p799yxrm7mhvr0nkdvr7iy04gcz";- };- });- }; }; - # Darwin needs a patch to gobject-introspection:- # https://github.com/NixOS/nixpkgs/pull/46310- gobjectIntrospection = super.gobjectIntrospection.overrideAttrs (oldAttrs: {- patches =- oldAttrs.patches ++- (if self.stdenv.isDarwin- then [ ./macos-gobject-introspection-rpath.patch ]- else [ ]);- });+ # A Haskell package set where we know the GHC version works to compile+ # Termonad. This is basically just a shortcut so that other Nix files+ # don't need to figure out the correct compiler version to use when it is+ # not given by the user.+ termonadKnownWorkingHaskellPkgSet = self.haskell.packages.${compilerVersion}; }; -in import nixpkgsSrc { overlays = [ haskellPackagesOverlay ]; }+in import nixpkgsSrc { overlays = [ haskellPackagesOverlay ] ++ additionalOverlays; }
.nix-helpers/stack-fhs-env.nix view
@@ -11,60 +11,45 @@ # # From here, you can run `stack` normally. -let- # recent version of nixpkgs master as of 2018-12-23- nixpkgsTarball = builtins.fetchTarball {- url = "https://github.com/NixOS/nixpkgs/archive/c31c0558ddad7161a4025117694197264cda9750.tar.gz";- sha256 = "09xl8fshyyddcm5nw5fkl6fbjlh5szjcdm43ii6jsvykdr516ghp";- };-- # Additional packages or fixes for individual packages.- pkgOverlay = self: pkgs: {- fhsStack =- self.buildFHSUserEnv {- name = "stack";- runScript = "stack";- targetPkgs = _: with self; [- binutils- cairo- ghc- git- gnome3.atk- gnome3.gdk_pixbuf- gnome3.glib- gnome3.gtk- gnome3.vte- gnutls- gobjectIntrospection- gtk3- haskell.compiler.ghc863- iana-etc- pango- pcre2- pkgconfig- stack- zlib- ] ++- self.stdenv.lib.optional- (self.stdenv.hostPlatform.libc == "glibc")- self.glibcLocales;- profile = ''- export STACK_IN_NIX_SHELL=1- export GI_TYPELIB_PATH=/usr/lib/girepository-1.0- '';- extraOutputsToInstall = ["dev"];- };- };-- nixpkgs = import nixpkgsTarball {- overlays = [- pkgOverlay- ];- };+with (import ./nixpkgs.nix {}); +let+ fhsStack =+ buildFHSUserEnv {+ name = "stack";+ runScript = "stack";+ targetPkgs = pkgs: with pkgs; [+ binutils+ cairo+ cairo.dev+ git+ gnome3.atk+ gnome3.gdk_pixbuf+ gnome3.glib+ gnome3.gtk+ gnome3.vte+ gnutls+ gobjectIntrospection+ gtk3+ iana-etc+ pango+ pcre2+ pkgconfig+ stack+ termonadKnownWorkingHaskellPkgSet.ghc+ zlib+ ] +++ stdenv.lib.optional+ (stdenv.hostPlatform.libc == "glibc")+ glibcLocales;+ profile = ''+ export STACK_IN_NIX_SHELL=1+ export GI_TYPELIB_PATH=/usr/lib/girepository-1.0+ export XDG_DATA_DIRS=/usr/share:$XDG_DATA_DIRS+ '';+ extraOutputsToInstall = ["dev"];+ }; in--with nixpkgs; mkShell { buildInputs = [
.nix-helpers/stack-shell.nix view
@@ -1,25 +1,7 @@ # This is the shell file specified in the stack.yaml file. # This runs stack commands in an environment created with nix. -let- # recent version of nixpkgs master as of 2018-12-23- nixpkgsTarball = builtins.fetchTarball {- url = "https://github.com/NixOS/nixpkgs/archive/c31c0558ddad7161a4025117694197264cda9750.tar.gz";- sha256 = "09xl8fshyyddcm5nw5fkl6fbjlh5szjcdm43ii6jsvykdr516ghp";- };-- # Fixes for individual packages. Currently none needed.- pkgFixes = self: pkgs: {- };-- nixpkgs = import nixpkgsTarball {- overlays = [- pkgFixes- ];- };-in--with nixpkgs;+with (import ./nixpkgs.nix {}); haskell.lib.buildStackProject { name = "termonad";@@ -31,7 +13,7 @@ gtk3 zlib ];- ghc = haskell.compiler.ghc863;+ ghc = termonadKnownWorkingHaskellPkgSet.ghc; extraArgs = [ "--stack-yaml stack-lts-13.yaml" ];
.nix-helpers/termonad-with-packages.nix view
@@ -91,7 +91,7 @@ # Default Haskell packages that you can use in your Termonad configuration. # This is only used if the user doesn't specify the extraHaskellPackages # option.- defaultPackages = haskellPackages: with haskellPackages; [+ defaultPackages = hpkgs: with hpkgs; [ colour lens ];@@ -100,27 +100,35 @@ { extraHaskellPackages ? defaultPackages , compiler ? null , nixpkgs ? null-}:+, additionalOverlays ? []+}@args: -with (import ./nixpkgs.nix { inherit compiler nixpkgs; });+with (import ./nixpkgs.nix { inherit compiler nixpkgs additionalOverlays; }); let- env = haskellPackages.ghcWithPackages (self: [- self.termonad- ] ++ extraHaskellPackages self);+ # GHC environment that has termonad available, as well as the packages+ # specified above in extraHaskellPackages.+ env =+ termonadKnownWorkingHaskellPkgSet.ghcWithPackages+ (hpkgs: [ hpkgs.termonad ] ++ extraHaskellPackages hpkgs); in stdenv.mkDerivation { name = "termonad-with-packages-${env.version}";- buildInputs = [ gnome3.adwaita-icon-theme hicolor-icon-theme ];+ buildInputs = [ gdk_pixbuf gnome3.adwaita-icon-theme hicolor-icon-theme ]; nativeBuildInputs = [ wrapGAppsHook ];- buildCommand = ''+ dontBuild = true;+ unpackPhase = ":";+ # Using installPhase instead of buildCommand was recommended here:+ # https://github.com/cdepillabout/termonad/pull/109+ installPhase = ''+ runHook preInstall mkdir -p $out/bin ln -sf ${env}/bin/termonad $out/bin/termonad gappsWrapperArgs+=( --set NIX_GHC "${env}/bin/ghc" )- wrapGAppsHook+ runHook postInstall ''; preferLocalBuild = true; allowSubstitutes = false;
CHANGELOG.md view
@@ -1,3 +1,11 @@+## 1.2.0.0++* Got the code for setting the backgroud color of the terminal actually+ working. Thanks @dakotaclemenceplaza.+ [#111](https://github.com/cdepillabout/termonad/pull/111)+ * This changes the type of `ColourConfig` to make the foreground and+ background colors of the terminal optional.+* Various cleanup in the nix files. ## 1.1.0.0
default.nix view
@@ -17,7 +17,7 @@ # # $ nix-env --file default.nix --install -{ compiler ? null, nixpkgs ? null }:+{ compiler ? null, nixpkgs ? null, additionalOverlays ? [] }@args: -import .nix-helpers/termonad-with-packages.nix { inherit compiler nixpkgs; }+import .nix-helpers/termonad-with-packages.nix args
example-config/ExampleColourExtension.hs view
@@ -45,7 +45,7 @@ -- cursor. { cursorBgColour = Set (sRGB24 120 80 110) -- purple -- Set the default foreground colour of text of the terminal.- , foregroundColour = sRGB24 220 180 210 -- light pink+ , foregroundColour = Set (sRGB24 220 180 210) -- light pink -- Set the extended palette that has 8 colours standard colors and then 8 -- light colors. , palette = ExtendedPalette myStandardColours myLightColours
example-config/ExampleSolarizedColourExtension.hs view
@@ -39,7 +39,7 @@ solarizedDark = defaultColourConfig -- Set the default foreground colour of text of the terminal.- { foregroundColour = sRGB24 131 148 150 -- base0+ { foregroundColour = Set (sRGB24 131 148 150) -- base0 -- Set the extended palette that has 2 Vecs of 8 Solarized pallette colours , palette = ExtendedPalette solarizedDark1 solarizedDark2 }@@ -73,7 +73,7 @@ solarizedLight = defaultColourConfig -- Set the default foreground colour of text of the terminal.- { foregroundColour = sRGB24 101 123 131 -- base00+ { foregroundColour = Set (sRGB24 101 123 131) -- base00 -- Set the extended palette that has 2 Vecs of 8 Solarized pallette colours , palette = ExtendedPalette solarizedLight1 solarizedLight2 }
shell.nix view
@@ -24,27 +24,37 @@ # will also index the Termonad libraries, however this will mean the environment # will need to be rebuilt every time the termonad source changes. -{ compiler ? null, indexTermonad ? false, nixpkgs ? null }:+{ compiler ? null, indexTermonad ? false, nixpkgs ? null, additionalOverlays ? [] }: -with (import .nix-helpers/nixpkgs.nix { inherit compiler nixpkgs; });+with (import .nix-helpers/nixpkgs.nix { inherit compiler nixpkgs additionalOverlays; }); let- termonadEnv = haskellPackages.termonad.env;- nativeBuildTools = with haskellPackages; [ cabal-install ghcid open-haddock ];+ # A Haskell package set for a version of GHC that is known working.+ haskPkgSet = termonadKnownWorkingHaskellPkgSet;++ # Nix-shell environment for hacking on termonad.+ termonadEnv = haskPkgSet.termonad.env;++ # Haskell build tools that are nice to have. It is okay to get these from+ # any Haskell package set, since they do not depend on the GHC version we are+ # using. We get these from the normal haskellPackages pkg set because then+ # they don't have to be compiled from scratch.+ nativeBuildTools = with haskellPackages; [ cabal-install ghcid ]; in if indexTermonad then termonadEnv.overrideAttrs (oldAttrs: { nativeBuildInputs =- oldAttrs.nativeBuildInputs ++- nativeBuildTools ++- [ (haskellPackages.ghcWithHoogle (haskellPackages: with haskellPackages; [ termonad ]))- ];+ let+ ghcEnvWithTermonad =+ haskPkgSet.ghcWithHoogle (hpkgs: [ hpkgs.termonad ]);+ in+ oldAttrs.nativeBuildInputs ++ nativeBuildTools ++ [ ghcEnvWithTermonad ]; }) else- haskellPackages.shellFor {+ haskPkgSet.shellFor { withHoogle = true;- packages = haskellPackages: [ haskellPackages.termonad ];+ packages = hpkgs: [ hpkgs.termonad ]; nativeBuildInputs = termonadEnv.nativeBuildInputs ++ nativeBuildTools; }
src/Termonad/App.hs view
@@ -72,8 +72,7 @@ , fontDescriptionSetAbsoluteSize ) import GI.Vte- ( Terminal- , terminalCopyClipboard+ ( terminalCopyClipboard , terminalPasteClipboard , terminalSetFont )@@ -180,15 +179,17 @@ let currFontSz = if currAbsolute then FontSizeUnits $ fromIntegral currSize / fromIntegral SCALE- else FontSizePoints $ round (fromIntegral currSize / fromIntegral SCALE)+ else+ let fontRatio :: Double = fromIntegral currSize / fromIntegral SCALE+ in FontSizePoints $ round fontRatio let newFontSz = f currFontSz setFontDescSize fontDesc newFontSz modifyFontSizeForAllTerms :: (FontSize -> FontSize) -> TMState -> IO ()-modifyFontSizeForAllTerms modFontSize mvarTMState = do+modifyFontSizeForAllTerms modFontSizeFunc mvarTMState = do tmState <- readMVar mvarTMState let fontDesc = tmState ^. lensTMStateFontDesc- adjustFontDescSize modFontSize fontDesc+ adjustFontDescSize modFontSizeFunc fontDesc let terms = tmState ^.. lensTMStateNotebook .
src/Termonad/Config.hs view
@@ -56,8 +56,6 @@ , CursorBlinkMode(..) ) where -import Termonad.Prelude hiding ((\\), index)- import GI.Vte (CursorBlinkMode(..)) import Termonad.Types
src/Termonad/Config/Colour.hs view
@@ -57,7 +57,7 @@ import Data.Colour (Colour, black, affineCombo) import Data.Colour.SRGB (RGB(RGB), toSRGB, sRGB24, sRGB24show) import qualified Data.Foldable-import GI.Gdk (RGBA, newZeroRGBA, setRGBABlue, setRGBAGreen, setRGBARed)+import GI.Gdk (RGBA, newZeroRGBA, setRGBABlue, setRGBAGreen, setRGBARed, setRGBAAlpha) import GI.Vte ( Terminal , terminalSetColors@@ -65,7 +65,7 @@ #ifdef VTE_VERSION_GEQ_0_44 , terminalSetColorCursorForeground #endif---, terminalSetColorBackground+ , terminalSetColorBackground , terminalSetColorForeground ) import Text.Show (showString)@@ -317,23 +317,18 @@ -- | The configuration for the colors used by Termonad. -- -- 'foregroundColour' and 'backgroundColour' allow you to set the color of the--- foreground text and background of the terminal (although see the __WARNING__--- below). Most people use a black background and a light foreground for their--- terminal, so this is the default.+-- foreground text and background of the terminal. -- -- 'palette' allows you to set the full color palette used by the terminal. -- See 'Palette' for more information. --+-- If you don't set 'foregroundColour', 'backgroundColour', or 'palette', the+-- defaults from VTE are used.+-- -- If you want to use a terminal with a white (or light) background and a black -- foreground, it may be a good idea to change some of the colors in the -- 'Palette' as well. ----- (__WARNING__: Currently due to issues either with VTE or the bindings generated for--- Haskell, background colour cannot be set independently of the palette.--- The @backgroundColour@ field will be ignored and the 0th colour in the--- palette (by default black) will be used as the background colour. See--- <https://github.com/cdepillabout/termonad/issues/29 this issue>.--- -- VTE works as follows: if you don't explicitly set a background or foreground color, -- it takes the 0th colour from the 'palette' to be the background color, and the 7th -- colour from the 'palette' to be the foreground color. If you notice oddities with@@ -393,35 +388,32 @@ -- -- See 'defaultColourConfig' for the defaults for 'ColourConfig' used in Termonad. data ColourConfig c = ColourConfig- { cursorFgColour :: !(Option c) -- ^ Foreground color of the cursor. This is- -- the color of the text that the cursor is- -- over. This is not supported on older- -- versions of VTE.- , cursorBgColour :: !(Option c) -- ^ Background color of the cursor. This is- -- the color of the cursor itself.- , foregroundColour :: !c -- ^ Color of the default default foreground text in- -- the terminal.- , backgroundColour :: !c -- ^ Background color for the terminal, however, See- -- the __WARNING__ above.- , palette :: !(Palette c) -- ^ Color palette for the terminal. See 'Palette'.+ { cursorFgColour :: !(Option c)+ -- ^ Foreground color of the cursor. This is the color of the text that+ -- the cursor is over. This is not supported on older versions of VTE.+ , cursorBgColour :: !(Option c)+ -- ^ Background color of the cursor. This is the color of the cursor+ -- itself.+ , foregroundColour :: !(Option c)+ -- ^ Color of the default default foreground text in the terminal.+ , backgroundColour :: !(Option c)+ -- ^ Background color for the terminal+ , palette :: !(Palette c)+ -- ^ Color palette for the terminal. See 'Palette'. } deriving (Eq, Show, Functor) --- | Default setting for a 'ColourConfig'. The cursor colors are left at their--- default for VTE. The foreground text for the terminal is grey and the--- background of the terminal is black. The palette is left as the default for--- VTE.+-- | Default setting for a 'ColourConfig'. The cursor colors, font foreground+-- color, background color, and color palette are all left at the defaults set+-- by VTE. ----- >>> let fgGrey = sRGB24 192 192 192--- >>> let bgBlack = sRGB24 0 0 0--- >>> let defCC = ColourConfig { cursorFgColour = Unset, cursorBgColour = Unset, foregroundColour = fgGrey, backgroundColour = bgBlack, palette = NoPalette }--- >>> defaultColourConfig == defCC--- True+-- >>> defaultColourConfig+-- ColourConfig {cursorFgColour = Unset, cursorBgColour = Unset, foregroundColour = Unset, backgroundColour = Unset, palette = NoPalette} defaultColourConfig :: ColourConfig (Colour Double) defaultColourConfig = ColourConfig { cursorFgColour = Unset , cursorBgColour = Unset- , foregroundColour = sRGB24 192 192 192- , backgroundColour = black+ , foregroundColour = Unset+ , backgroundColour = Unset , palette = NoPalette } @@ -455,28 +447,29 @@ colourHook :: MVar (ColourConfig (Colour Double)) -> TMState -> Terminal -> IO () colourHook mvarColourConf _ vteTerm = do colourConf <- readMVar mvarColourConf- terminalSetColors vteTerm Nothing Nothing . Just- =<< traverse toRGBA (paletteToList . palette $ colourConf)- -- PR #28 / issue #29: Setting the background colour is broken in gi-vte or VTE. If- -- this next line is called, then you are no longer able to set the- -- background color using the palette.- -- terminalSetColorBackground vteTerm =<< toRGBA (backgroundColour colourConf)- terminalSetColorForeground vteTerm =<< toRGBA (foregroundColour colourConf)- let optPerform setC cField = whenSet (cField colourConf) $ \c ->- setC vteTerm . Just =<< toRGBA c- optPerform terminalSetColorCursor cursorBgColour+ let paletteColourList = paletteToList $ palette colourConf+ rgbaPaletteColourList <- traverse colourToRgba paletteColourList+ terminalSetColors vteTerm Nothing Nothing (Just rgbaPaletteColourList)+ whenSet (backgroundColour colourConf) $+ terminalSetColorBackground vteTerm <=< colourToRgba+ whenSet (foregroundColour colourConf) $+ terminalSetColorForeground vteTerm <=< colourToRgba+ whenSet (cursorBgColour colourConf) $+ terminalSetColorCursor vteTerm . Just <=< colourToRgba #ifdef VTE_VERSION_GEQ_0_44- optPerform terminalSetColorCursorForeground cursorFgColour+ whenSet (cursorFgColour colourConf) $+ terminalSetColorCursorForeground vteTerm . Just <=< colourToRgba #endif- where- toRGBA :: Colour Double -> IO RGBA- toRGBA colour = do- let RGB red green blue = toSRGB colour- rgba <- newZeroRGBA- setRGBARed rgba red- setRGBAGreen rgba green- setRGBABlue rgba blue- pure rgba++colourToRgba :: Colour Double -> IO RGBA+colourToRgba colour = do+ let RGB red green blue = toSRGB colour+ rgba <- newZeroRGBA+ setRGBARed rgba red+ setRGBAGreen rgba green+ setRGBABlue rgba blue+ setRGBAAlpha rgba 1+ pure rgba -- | Create a 'ColourExtension' based on a given 'ColourConfig'. --
termonad.cabal view
@@ -1,5 +1,5 @@ name: termonad-version: 1.1.0.0+version: 1.2.0.0 synopsis: Terminal emulator configurable in Haskell description: Please see <https://github.com/cdepillabout/termonad#readme README.md>. homepage: https://github.com/cdepillabout/termonad