packages feed

termonad 3.1.0.0 → 3.1.0.1

raw patch · 7 files changed

+223/−22 lines, 7 filesdep ~basenew-component:exe:termonad-example-colour-extension-gruvboxPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Termonad.Config.Vec: [Let6989586621679503111Scrutinee_6989586621679488366Sym0KindInference] :: forall n6989586621679503110 arg_a24kM. SameKind (Apply Let6989586621679503111Scrutinee_6989586621679488366Sym0 arg_a24kM) (Let6989586621679503111Scrutinee_6989586621679488366Sym1 arg_a24kM) => Let6989586621679503111Scrutinee_6989586621679488366Sym0 n6989586621679503110
- Termonad.Config.Vec: [Let6989586621679503115Scrutinee_6989586621679488368Sym0KindInference] :: forall n6989586621679503110 arg_a24kQ. SameKind (Apply Let6989586621679503115Scrutinee_6989586621679488368Sym0 arg_a24kQ) (Let6989586621679503115Scrutinee_6989586621679488368Sym1 arg_a24kQ) => Let6989586621679503115Scrutinee_6989586621679488368Sym0 n6989586621679503110
- Termonad.Config.Vec: data Let6989586621679503111Scrutinee_6989586621679488366Sym0 n6989586621679503110
- Termonad.Config.Vec: data Let6989586621679503115Scrutinee_6989586621679488368Sym0 n6989586621679503110
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679503111Scrutinee_6989586621679488366Sym0
- Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679503115Scrutinee_6989586621679488368Sym0
- Termonad.Config.Vec: type Let6989586621679503111Scrutinee_6989586621679488366Sym1 n6989586621679503110 = Let6989586621679503111Scrutinee_6989586621679488366 n6989586621679503110
- Termonad.Config.Vec: type Let6989586621679503115Scrutinee_6989586621679488368Sym1 n6989586621679503110 = Let6989586621679503115Scrutinee_6989586621679488368 n6989586621679503110
- Termonad.Pcre: inline_c_ffi_6989586621679117912 :: IO CUInt
+ Termonad.Config.Vec: [Let6989586621679503111Scrutinee_6989586621679488363Sym0KindInference] :: forall n6989586621679503110 arg_a24kM. SameKind (Apply Let6989586621679503111Scrutinee_6989586621679488363Sym0 arg_a24kM) (Let6989586621679503111Scrutinee_6989586621679488363Sym1 arg_a24kM) => Let6989586621679503111Scrutinee_6989586621679488363Sym0 n6989586621679503110
+ Termonad.Config.Vec: [Let6989586621679503115Scrutinee_6989586621679488365Sym0KindInference] :: forall n6989586621679503110 arg_a24kQ. SameKind (Apply Let6989586621679503115Scrutinee_6989586621679488365Sym0 arg_a24kQ) (Let6989586621679503115Scrutinee_6989586621679488365Sym1 arg_a24kQ) => Let6989586621679503115Scrutinee_6989586621679488365Sym0 n6989586621679503110
+ Termonad.Config.Vec: data Let6989586621679503111Scrutinee_6989586621679488363Sym0 n6989586621679503110
+ Termonad.Config.Vec: data Let6989586621679503115Scrutinee_6989586621679488365Sym0 n6989586621679503110
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679503111Scrutinee_6989586621679488363Sym0
+ Termonad.Config.Vec: instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Termonad.Config.Vec.Let6989586621679503115Scrutinee_6989586621679488365Sym0
+ Termonad.Config.Vec: type Let6989586621679503111Scrutinee_6989586621679488363Sym1 n6989586621679503110 = Let6989586621679503111Scrutinee_6989586621679488363 n6989586621679503110
+ Termonad.Config.Vec: type Let6989586621679503115Scrutinee_6989586621679488365Sym1 n6989586621679503110 = Let6989586621679503115Scrutinee_6989586621679488365 n6989586621679503110
+ Termonad.Pcre: inline_c_ffi_6989586621679117913 :: IO CUInt

Files

.nix-helpers/nixpkgs.nix view
@@ -20,9 +20,9 @@     if isNull nixpkgs       then         builtins.fetchTarball {-          # Recent version of nixpkgs master as of 2020-03-01.-          url = "https://github.com/NixOS/nixpkgs/archive/4f36e9f9a33da034327188ddebc3aecb3633e4d7.tar.gz";-          sha256 = "sha256:0aa3aldp6m962hx0qzkizkwvamwv2c4yijk6g515dx7h7f5xrary";+          # Recent version of nixpkgs master as of 2020-03-03.+          url = "https://github.com/NixOS/nixpkgs/archive/bd2c1d72c5a77bfc78693c5b6d121a9e8bb59e6f.tar.gz";+          sha256 = "sha256:0r6lbsz5a0yn6x96y890xvycc1h6la84k2hd3ig5c8irknxdbx22";         }       else nixpkgs; 
CHANGELOG.md view
@@ -1,3 +1,17 @@+## 3.1.0.1++* Correct the solarized colours+  [#148](https://github.com/cdepillabout/termonad/pull/148).+  Thanks [@craigem](https://github.com/craigem)!++* Add an example showing Gruvbox colours+  [#149](https://github.com/cdepillabout/termonad/pull/149).+  Thanks again [@craigem](https://github.com/craigem)!++* Set an upperbound on `base` so we make sure that only GHC-8.8 is used.  Some+  of the dependencies of Termonad don't support GHC-8.10 yet.++ ## 3.1.0.0  * Fix up deprecated functions used in Setup.hs.  This should allow Termonad to
README.md view
@@ -16,6 +16,11 @@  ![image of Termonad](./img/termonad.png) +Termonad was+[featured on an episode](https://www.youtube.com/watch?v=TLNr_gBv5HY) of+[DistroTube](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg).+This video gives a short overview of Termonad.+ <!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --> **Table of Contents** 
+ example-config/ExampleGruvboxColourExtension.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE OverloadedStrings #-}+-- | This is an example Termonad configuration that shows how to use the+-- Gruvbox colour scheme https://github.com/morhetz/gruvbox++module Main where++import Termonad+  ( CursorBlinkMode(CursorBlinkModeOn)+  , Option(Set)+  , ShowScrollbar(ShowScrollbarNever)+  , TMConfig+  , confirmExit+  , cursorBlinkMode+  , defaultConfigOptions+  , defaultTMConfig+  , options+  , showMenu+  , showScrollbar+  , start+  , FontConfig+  , FontSize(FontSizePoints)+  , defaultFontConfig+  , fontConfig+  , fontFamily+  , fontSize+  )+import Termonad.Config.Colour+  ( AlphaColour+  , ColourConfig+  , Palette(ExtendedPalette)+  , addColourExtension+  , createColour+  , createColourExtension+  , defaultColourConfig+  , backgroundColour+  , foregroundColour+  , palette+  )+import Termonad.Config.Vec (Vec((:*), EmptyVec), N8)++-- This is our main 'TMConfig'.  It holds all of the non-colour settings+-- for Termonad.+--+-- This shows how a few settings can be changed.+myTMConfig :: TMConfig+myTMConfig =+  defaultTMConfig+    { options =+        defaultConfigOptions+          { showScrollbar = ShowScrollbarNever+          , confirmExit = False+          , showMenu = False+          , cursorBlinkMode = CursorBlinkModeOn+          , fontConfig = fontConf+          }+    }++-- This is our Gruvbox dark 'ColourConfig'.  It holds all of our dark-related settings.+gruvboxDark :: ColourConfig (AlphaColour Double)+gruvboxDark =+  defaultColourConfig+    -- Set the default foreground colour of text of the terminal.+    { foregroundColour = Set (createColour 213 196 161) -- fg2+    , backgroundColour = Set (createColour  40  40  40) -- bg0+    -- Set the extended palette that has 2 Vecs of 8 Gruvbox palette colours+    , palette = ExtendedPalette gruvboxDark1 gruvboxDark2+    }+  where+    gruvboxDark1 :: Vec N8 (AlphaColour Double)+    gruvboxDark1 =+         createColour  40  40  40 -- bg0+      :* createColour 204  36  29 -- red.1+      :* createColour 152 151  26 -- green.2+      :* createColour 215 153  33 -- yellow.3+      :* createColour  69 133 136 -- blue.4+      :* createColour 177  98 134 -- purple.5+      :* createColour 104 157 106 -- aqua.6+      :* createColour 189 174 147 -- fg3+      :* EmptyVec++    gruvboxDark2 :: Vec N8 (AlphaColour Double)+    gruvboxDark2 =+         createColour 124 111 100 -- bg4+      :* createColour 251  71  52 -- red.9+      :* createColour 184 187  38 -- green.10+      :* createColour 250 189  47 -- yellow.11+      :* createColour 131 165 152 -- blue.12+      :* createColour 211 134 155 -- purple.13+      :* createColour 142 192 124 -- aqua.14+      :* createColour 235 219 178 -- fg1+      :* EmptyVec++-- This is our Gruvbox light 'ColourConfig'.  It holds all of our dark-related settings.+gruvboxLight :: ColourConfig (AlphaColour Double)+gruvboxLight =+  defaultColourConfig+    -- Set the default foreground colour of text of the terminal.+    { foregroundColour = Set (createColour  60  56  54) -- fg1+    , backgroundColour = Set (createColour 251 241 199) -- bg0+    -- Set the extended palette that has 2 Vecs of 8 Gruvbox palette colours+    , palette = ExtendedPalette gruvboxLight1 gruvboxLight2+    }+  where+    gruvboxLight1 :: Vec N8 (AlphaColour Double)+    gruvboxLight1 =+         createColour 251 241 199 -- bg0+      :* createColour 204  36  29 -- red.1+      :* createColour 152 151  26 -- green.2+      :* createColour 215 153  33 -- yellow.3+      :* createColour  69 133 136 -- blue.4+      :* createColour 177  98 134 -- purple.5+      :* createColour 104 157 106 -- aqua.6+      :* createColour 102  82  84 -- fg3+      :* EmptyVec++    gruvboxLight2 :: Vec N8 (AlphaColour Double)+    gruvboxLight2 =+         createColour 168 153 132 -- bg4+      :* createColour 157   0   6 -- red.9+      :* createColour 121 116  14 -- green.10+      :* createColour 181 118  20 -- yellow.11+      :* createColour   7 102 120 -- blue.12+      :* createColour 143  63 113 -- purple.13+      :* createColour  66 123  88 -- aqua.14+      :* createColour  60  56  54 -- fg1+      :* EmptyVec+++-- This defines the font for the terminal.+fontConf :: FontConfig+fontConf =+  defaultFontConfig+    { fontFamily = "Monospace"+    , fontSize = FontSizePoints 12+    }++main :: IO ()+main = do+  -- First, create the colour extension based on either Gruvboxmodules.+  myColourExt <- createColourExtension gruvboxDark++  -- Update 'myTMConfig' with our colour extension.+  let newTMConfig = addColourExtension myTMConfig myColourExt++  -- Start Termonad with our updated 'TMConfig'.+  start newTMConfig
example-config/ExampleSolarizedColourExtension.hs view
@@ -1,10 +1,11 @@+{-# LANGUAGE OverloadedStrings #-} -- | This is an example Termonad configuration that shows how to use the -- Solarized colour scheme https://ethanschoonover.com/solarized/  module Main where  import Termonad-  ( CursorBlinkMode(CursorBlinkModeOff)+  ( CursorBlinkMode(CursorBlinkModeOn)   , Option(Set)   , ShowScrollbar(ShowScrollbarNever)   , TMConfig@@ -16,6 +17,12 @@   , showMenu   , showScrollbar   , start+  , FontConfig+  , FontSize(FontSizePoints)+  , defaultFontConfig+  , fontConfig+  , fontFamily+  , fontSize   ) import Termonad.Config.Colour   ( AlphaColour@@ -43,7 +50,8 @@           { showScrollbar = ShowScrollbarNever           , confirmExit = False           , showMenu = False-          , cursorBlinkMode = CursorBlinkModeOff+          , cursorBlinkMode = CursorBlinkModeOn+          , fontConfig = fontConf           }     } @@ -60,7 +68,7 @@   where     solarizedDark1 :: Vec N8 (AlphaColour Double)     solarizedDark1 =-         createColour   7  54  66 -- base02, background highlights+         createColour   7  54  66 -- base02       :* createColour 220  50  47 -- red       :* createColour 133 153   0 -- green       :* createColour 181 137   0 -- yellow@@ -72,13 +80,13 @@      solarizedDark2 :: Vec N8 (AlphaColour Double)     solarizedDark2 =-         createColour   0  43  54 -- base03, background+         createColour   0  43  54 -- base03       :* createColour 203  75  22 -- orange-      :* createColour  88 110 117 -- base01, comments / secondary text-      :* createColour 131 148 150 -- base0, body text / default code / primary content-      :* createColour 147 161 161 -- base1, optional emphasised content-      :* createColour 108 113 196 -- violet+      :* createColour  88 110 117 -- base01       :* createColour 101 123 131 -- base00+      :* createColour 131 148 150 -- base0+      :* createColour 108 113 196 -- violet+      :* createColour 147 161 161 -- base1       :* createColour 253 246 227 -- base3       :* EmptyVec @@ -95,31 +103,39 @@   where     solarizedLight1 :: Vec N8 (AlphaColour Double)     solarizedLight1 =-         createColour 238 232 213 -- base2, background highlights+         createColour   7  54  66 -- base02       :* createColour 220  50  47 -- red       :* createColour 133 153   0 -- green       :* createColour 181 137   0 -- yellow       :* createColour  38 139 210 -- blue       :* createColour 211  54 130 -- magenta       :* createColour  42 161 152 -- cyan-      :* createColour   7  54  66 -- base02+      :* createColour 238 232 213 -- base2       :* EmptyVec      solarizedLight2 :: Vec N8 (AlphaColour Double)     solarizedLight2 =-         createColour 253 246 227 -- base3, background+         createColour   0  43  54 -- base03       :* createColour 203  75  22 -- orange-      :* createColour 147 161 161 -- base1, comments / secondary text-      :* createColour 101 123 131 -- base00, body text / default code / primary content-      :* createColour  88 110 117 -- base01, optional emphasised content-      :* createColour 108 113 196 -- violet+      :* createColour  88 110 117 -- base01+      :* createColour 101 123 131 -- base00       :* createColour 131 148 150 -- base0-      :* createColour   0  43  54 -- base03+      :* createColour 108 113 196 -- violet+      :* createColour 147 161 161 -- base1+      :* createColour 253 246 227 -- base3       :* EmptyVec +-- This defines the font for the terminal.+fontConf :: FontConfig+fontConf =+  defaultFontConfig+    { fontFamily = "Monospace"+    , fontSize = FontSizePoints 12+    }+ main :: IO () main = do-  -- First, create the colour extension based on either Solarixed modules.+  -- First, create the colour extension based on either Solarized modules.   myColourExt <- createColourExtension solarizedDark    -- Update 'myTMConfig' with our colour extension.
termonad.cabal view
@@ -1,5 +1,5 @@ name:                termonad-version:             3.1.0.0+version:             3.1.0.1 synopsis:            Terminal emulator configurable in Haskell description:         Please see <https://github.com/cdepillabout/termonad#readme README.md>. homepage:            https://github.com/cdepillabout/termonad@@ -54,7 +54,8 @@                      , Termonad.Types                      , Termonad.XML   other-modules:       Paths_termonad-  build-depends:       base >= 4.13 && < 5+  -- Termonad only supports GHC-8.8+  build-depends:       base >= 4.13 && < 4.14                      , adjunctions                      , classy-prelude                      , colour@@ -199,6 +200,20 @@  executable termonad-example-colour-extension   main-is:             example-config/ExampleColourExtension.hs+  build-depends:       base+                     , termonad+                     , colour+                     , singletons+  default-language:    Haskell2010+  ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -threaded -rtsopts -with-rtsopts=-N++  if flag(buildexamples)+    buildable:         True+  else+    buildable:         False++executable termonad-example-colour-extension-gruvbox+  main-is:             example-config/ExampleGruvboxColourExtension.hs   build-depends:       base                      , termonad                      , colour
test/readme/README.lhs view
@@ -16,6 +16,11 @@  ![image of Termonad](./img/termonad.png) +Termonad was+[featured on an episode](https://www.youtube.com/watch?v=TLNr_gBv5HY) of+[DistroTube](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg).+This video gives a short overview of Termonad.+ <!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc --> **Table of Contents**