diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Foundation.hs | 2 | ||||
| -rw-r--r-- | Handler/Common.hs | 3 | ||||
| -rw-r--r-- | Handler/Common/Types.hs | 2 | ||||
| -rw-r--r-- | Handler/List.hs | 29 | ||||
| -rw-r--r-- | Import/NoFoundation.hs | 1 | ||||
| -rw-r--r-- | Model.hs | 5 | ||||
| -rw-r--r-- | Model/Types.hs | 2 | ||||
| -rw-r--r-- | Settings.hs | 9 | ||||
| -rw-r--r-- | bar.cabal | 140 | ||||
| -rw-r--r-- | package.yaml | 106 | ||||
| -rw-r--r-- | stack.nix | 14 | ||||
| -rw-r--r-- | stack.yaml | 28 | ||||
| -rw-r--r-- | templates/list-no-thermoprint.hamlet | 8 |
14 files changed, 179 insertions, 171 deletions
| @@ -21,3 +21,4 @@ cabal.sandbox.config | |||
| 21 | **/.gup | 21 | **/.gup |
| 22 | static/webshim/ | 22 | static/webshim/ |
| 23 | static/jquery.js | 23 | static/jquery.js |
| 24 | bar.cabal | ||
diff --git a/Foundation.hs b/Foundation.hs index 22e5d49..7c44498 100644 --- a/Foundation.hs +++ b/Foundation.hs | |||
| @@ -39,7 +39,7 @@ data MenuItem = MenuItem | |||
| 39 | mkYesodData "App" $(parseRoutesFile "config/routes") | 39 | mkYesodData "App" $(parseRoutesFile "config/routes") |
| 40 | 40 | ||
| 41 | -- | A convenient synonym for creating forms. | 41 | -- | A convenient synonym for creating forms. |
| 42 | type Form x = Html -> MForm (HandlerT App IO) (FormResult x, Widget) | 42 | type Form x = Html -> MForm (HandlerFor App) (FormResult x, Widget) |
| 43 | 43 | ||
| 44 | -- Please see the documentation for the Yesod typeclass. There are a number | 44 | -- Please see the documentation for the Yesod typeclass. There are a number |
| 45 | -- of settings which can be configured by overriding methods here. | 45 | -- of settings which can be configured by overriding methods here. |
diff --git a/Handler/Common.hs b/Handler/Common.hs index 88cbd8d..11a9431 100644 --- a/Handler/Common.hs +++ b/Handler/Common.hs | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | {-# LANGUAGE ApplicativeDo #-} | 1 | {-# LANGUAGE ApplicativeDo |
| 2 | #-} | ||
| 2 | 3 | ||
| 3 | module Handler.Common | 4 | module Handler.Common |
| 4 | ( inventoryListing | 5 | ( inventoryListing |
diff --git a/Handler/Common/Types.hs b/Handler/Common/Types.hs index 9150f16..491468c 100644 --- a/Handler/Common/Types.hs +++ b/Handler/Common/Types.hs | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | {-# LANGUAGE FunctionalDependencies #-} | ||
| 2 | |||
| 3 | module Handler.Common.Types where | 1 | module Handler.Common.Types where |
| 4 | 2 | ||
| 5 | import Import | 3 | import Import |
diff --git a/Handler/List.hs b/Handler/List.hs index 522f6f5..a2194ba 100644 --- a/Handler/List.hs +++ b/Handler/List.hs | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | {-# LANGUAGE PatternGuards #-} | ||
| 2 | |||
| 3 | module Handler.List where | 1 | module Handler.List where |
| 4 | 2 | ||
| 5 | import Import | 3 | import Import |
| @@ -12,8 +10,18 @@ import qualified Data.Map as Map | |||
| 12 | import qualified Data.Text as Text | 10 | import qualified Data.Text as Text |
| 13 | import qualified Data.Text.Lazy as Lazy.Text | 11 | import qualified Data.Text.Lazy as Lazy.Text |
| 14 | 12 | ||
| 13 | #ifdef THERMOPRINT | ||
| 15 | import Thermoprint.Client | 14 | import Thermoprint.Client |
| 16 | 15 | ||
| 16 | mkPrintout :: Set (WithType Text) -> Printout | ||
| 17 | mkPrintout list = Printout ps | ||
| 18 | where | ||
| 19 | ps = Map.foldMapWithKey (fmap (pure . Paragraph . pure . Cooked) . toLines) $ group list | ||
| 20 | group = Map.fromListWith (<>) . fmap (\(kind `WithType` t) -> (t, Set.singleton kind)) . Set.toAscList | ||
| 21 | toLines t (Set.toAscList -> kinds) = either id Line . text . Lazy.Text.fromStrict . Text.unlines $ | ||
| 22 | pure t ++ map (" - " <>) kinds | ||
| 23 | #endif | ||
| 24 | |||
| 17 | list :: Handler (Set (WithType Text)) | 25 | list :: Handler (Set (WithType Text)) |
| 18 | list = runDB $ do | 26 | list = runDB $ do |
| 19 | today <- liftIO $ utctDay <$> getCurrentTime | 27 | today <- liftIO $ utctDay <$> getCurrentTime |
| @@ -34,14 +42,8 @@ list = runDB $ do | |||
| 34 | 42 | ||
| 35 | return $ Set.map (fmap referenceKind) references' | 43 | return $ Set.map (fmap referenceKind) references' |
| 36 | 44 | ||
| 37 | mkPrintout :: Set (WithType Text) -> Printout | ||
| 38 | mkPrintout list = Printout ps | ||
| 39 | where | ||
| 40 | ps = Map.foldMapWithKey (fmap (pure . Paragraph . pure . Cooked) . toLines) $ group list | ||
| 41 | group = Map.fromListWith (<>) . fmap (\(kind `WithType` t) -> (t, Set.singleton kind)) . Set.toAscList | ||
| 42 | toLines t (Set.toAscList -> kinds) = either id Line . text . Lazy.Text.fromStrict . Text.unlines $ | ||
| 43 | pure t ++ map (" - " <>) kinds | ||
| 44 | 45 | ||
| 46 | #ifdef THERMOPRINT | ||
| 45 | getListR, postListR :: Handler TypedContent | 47 | getListR, postListR :: Handler TypedContent |
| 46 | getListR = postListR | 48 | getListR = postListR |
| 47 | postListR = do | 49 | postListR = do |
| @@ -99,3 +101,12 @@ postListR = do | |||
| 99 | selectRep $ do | 101 | selectRep $ do |
| 100 | provideJson $ typeToJSON "item" <$> Set.toAscList list | 102 | provideJson $ typeToJSON "item" <$> Set.toAscList list |
| 101 | provideRep $ defaultLayout $(widgetFile "list") | 103 | provideRep $ defaultLayout $(widgetFile "list") |
| 104 | #else | ||
| 105 | getListR, postListR :: Handler TypedContent | ||
| 106 | getListR = postListR | ||
| 107 | postListR = do | ||
| 108 | list <- list | ||
| 109 | selectRep $ do | ||
| 110 | provideJson $ typeToJSON "item" <$> Set.toAscList list | ||
| 111 | provideRep $ defaultLayout $(widgetFile "list-no-thermoprint") | ||
| 112 | #endif | ||
diff --git a/Import/NoFoundation.hs b/Import/NoFoundation.hs index 1a5b107..7fe2807 100644 --- a/Import/NoFoundation.hs +++ b/Import/NoFoundation.hs | |||
| @@ -8,7 +8,6 @@ import Model as Import | |||
| 8 | import Model.Types as Import | 8 | import Model.Types as Import |
| 9 | import Settings as Import | 9 | import Settings as Import |
| 10 | import Settings.StaticFiles as Import | 10 | import Settings.StaticFiles as Import |
| 11 | import Yesod.Auth as Import | ||
| 12 | import Yesod.Core.Types as Import (loggerSet) | 11 | import Yesod.Core.Types as Import (loggerSet) |
| 13 | import Yesod.Default.Config2 as Import | 12 | import Yesod.Default.Config2 as Import |
| 14 | import Yesod.EmbeddedStatic as Import | 13 | import Yesod.EmbeddedStatic as Import |
| @@ -1,6 +1,5 @@ | |||
| 1 | {-# LANGUAGE FlexibleInstances #-} | 1 | {-# LANGUAGE GeneralizedNewtypeDeriving |
| 2 | {-# LANGUAGE DeriveFunctor #-} | 2 | #-} |
| 3 | {-# LANGUAGE PatternGuards #-} | ||
| 4 | 3 | ||
| 5 | module Model where | 4 | module Model where |
| 6 | 5 | ||
diff --git a/Model/Types.hs b/Model/Types.hs index 61bebfd..5e2a6ef 100644 --- a/Model/Types.hs +++ b/Model/Types.hs | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | {-# LANGUAGE DeriveGeneric #-} | ||
| 2 | |||
| 3 | module Model.Types | 1 | module Model.Types |
| 4 | ( ItemDate(..) | 2 | ( ItemDate(..) |
| 5 | , isNever, isUnknown, isKnown | 3 | , isNever, isUnknown, isKnown |
diff --git a/Settings.hs b/Settings.hs index 8a98c7a..a79f6f8 100644 --- a/Settings.hs +++ b/Settings.hs | |||
| @@ -1,4 +1,3 @@ | |||
| 1 | {-# Language CPP #-} | ||
| 2 | -- | Settings are centralized, as much as possible, into this file. This | 1 | -- | Settings are centralized, as much as possible, into this file. This |
| 3 | -- includes database connection settings, static file locations, etc. | 2 | -- includes database connection settings, static file locations, etc. |
| 4 | -- In addition, you can configure a number of different aspects of Yesod | 3 | -- In addition, you can configure a number of different aspects of Yesod |
| @@ -19,7 +18,9 @@ import Yesod.Default.Config2 (applyEnvValue, configSettingsYml) | |||
| 19 | import Yesod.Default.Util (WidgetFileSettings, widgetFileNoReload, | 18 | import Yesod.Default.Util (WidgetFileSettings, widgetFileNoReload, |
| 20 | widgetFileReload) | 19 | widgetFileReload) |
| 21 | 20 | ||
| 21 | #ifdef THERMOPRINT | ||
| 22 | import Thermoprint.Client (BaseUrl(..), parseBaseUrl) | 22 | import Thermoprint.Client (BaseUrl(..), parseBaseUrl) |
| 23 | #endif | ||
| 23 | 24 | ||
| 24 | #ifdef DEVELOPMENT | 25 | #ifdef DEVELOPMENT |
| 25 | #define DEV_BOOL True | 26 | #define DEV_BOOL True |
| @@ -51,13 +52,14 @@ data AppSettings = AppSettings | |||
| 51 | , appReloadTemplates :: Bool | 52 | , appReloadTemplates :: Bool |
| 52 | -- ^ Use the reload version of templates | 53 | -- ^ Use the reload version of templates |
| 53 | 54 | ||
| 55 | #ifdef THERMORPINT | ||
| 54 | , appThermoprintBase :: BaseUrl | 56 | , appThermoprintBase :: BaseUrl |
| 57 | #endif | ||
| 55 | } | 58 | } |
| 56 | 59 | ||
| 57 | instance FromJSON AppSettings where | 60 | instance FromJSON AppSettings where |
| 58 | parseJSON = withObject "AppSettings" $ \o -> do | 61 | parseJSON = withObject "AppSettings" $ \o -> do |
| 59 | let defaultDev = DEV_BOOL | 62 | let defaultDev = DEV_BOOL |
| 60 | parseUrl' = either (fail . show) return . parseBaseUrl | ||
| 61 | appStaticDir <- o .: "static-dir" | 63 | appStaticDir <- o .: "static-dir" |
| 62 | appDatabaseConf <- o .: "database" | 64 | appDatabaseConf <- o .: "database" |
| 63 | appRoot' <- o .:? "approot" | 65 | appRoot' <- o .:? "approot" |
| @@ -73,7 +75,10 @@ instance FromJSON AppSettings where | |||
| 73 | appShouldLogAll <- o .:? "should-log-all" .!= defaultDev | 75 | appShouldLogAll <- o .:? "should-log-all" .!= defaultDev |
| 74 | appReloadTemplates <- o .:? "reload-templates" .!= defaultDev | 76 | appReloadTemplates <- o .:? "reload-templates" .!= defaultDev |
| 75 | 77 | ||
| 78 | #ifdef THERMOPRINT | ||
| 79 | let parseUrl' = either (fail . show) return . parseBaseUrl | ||
| 76 | appThermoprintBase <- parseUrl' =<< o .: "thermoprint-url" | 80 | appThermoprintBase <- parseUrl' =<< o .: "thermoprint-url" |
| 81 | #endif | ||
| 77 | 82 | ||
| 78 | return AppSettings {..} | 83 | return AppSettings {..} |
| 79 | 84 | ||
diff --git a/bar.cabal b/bar.cabal deleted file mode 100644 index 7ed983b..0000000 --- a/bar.cabal +++ /dev/null | |||
| @@ -1,140 +0,0 @@ | |||
| 1 | name: bar | ||
| 2 | version: 0.6.6 | ||
| 3 | cabal-version: >= 1.8 | ||
| 4 | build-type: Simple | ||
| 5 | |||
| 6 | Flag dev | ||
| 7 | Description: Turn on development settings, like auto-reload templates. | ||
| 8 | Default: False | ||
| 9 | |||
| 10 | Flag library-only | ||
| 11 | Description: Build for use with "yesod devel" | ||
| 12 | Default: False | ||
| 13 | |||
| 14 | library | ||
| 15 | hs-source-dirs: ., app | ||
| 16 | exposed-modules: Application | ||
| 17 | Foundation | ||
| 18 | Import | ||
| 19 | Import.NoFoundation | ||
| 20 | Model | ||
| 21 | Model.Types | ||
| 22 | Settings | ||
| 23 | Settings.StaticFiles | ||
| 24 | Handler.Common | ||
| 25 | Handler.Common.Types | ||
| 26 | Handler.InventoryListing | ||
| 27 | Handler.UpdateItem | ||
| 28 | Handler.OpenItem | ||
| 29 | Handler.LowItem | ||
| 30 | Handler.DeleteItem | ||
| 31 | Handler.Item | ||
| 32 | Handler.ReferenceListing | ||
| 33 | Handler.ReferenceItem | ||
| 34 | Handler.DeleteRefItem | ||
| 35 | Handler.Kinds | ||
| 36 | Handler.Types | ||
| 37 | Handler.List | ||
| 38 | Handler.InventoryList | ||
| 39 | |||
| 40 | if flag(dev) || flag(library-only) | ||
| 41 | cpp-options: -DDEVELOPMENT | ||
| 42 | ghc-options: -Wall -fwarn-tabs -O0 | ||
| 43 | else | ||
| 44 | ghc-options: -Wall -fwarn-tabs -O2 | ||
| 45 | |||
| 46 | extensions: TemplateHaskell | ||
| 47 | QuasiQuotes | ||
| 48 | OverloadedStrings | ||
| 49 | NoImplicitPrelude | ||
| 50 | MultiParamTypeClasses | ||
| 51 | TypeFamilies | ||
| 52 | GADTs | ||
| 53 | GeneralizedNewtypeDeriving | ||
| 54 | FlexibleContexts | ||
| 55 | FlexibleInstances | ||
| 56 | EmptyDataDecls | ||
| 57 | NoMonomorphismRestriction | ||
| 58 | DeriveDataTypeable | ||
| 59 | ViewPatterns | ||
| 60 | TupleSections | ||
| 61 | RecordWildCards | ||
| 62 | CPP | ||
| 63 | |||
| 64 | build-depends: | ||
| 65 | -- Due to a bug in GHC 8.0.1, we block its usage | ||
| 66 | -- See: https://ghc.haskell.org/trac/ghc/ticket/12130 | ||
| 67 | base >= 4.8.2.0 && < 4.9 | ||
| 68 | || >= 4.9.1.0 && < 5 | ||
| 69 | |||
| 70 | , yesod >= 1.6.0 && < 1.7 | ||
| 71 | , yesod-core >= 1.6.2 && < 1.7 | ||
| 72 | , yesod-auth >= 1.6.2 && < 1.7 | ||
| 73 | , yesod-static >= 1.6.0 && < 1.7 | ||
| 74 | , yesod-form >= 1.6.1 && < 1.7 | ||
| 75 | , classy-prelude >= 0.10.2 | ||
| 76 | , classy-prelude-conduit >= 0.10.2 | ||
| 77 | -- version 1.0 had a bug in reexporting Handler, causing trouble | ||
| 78 | , classy-prelude-yesod >= 0.10.2 && < 1.0 | ||
| 79 | || >= 1.1 | ||
| 80 | , bytestring >= 0.9 && < 0.11 | ||
| 81 | , text >= 0.11 && < 2.0 | ||
| 82 | , persistent >= 2.8.1 && < 2.9 | ||
| 83 | , persistent-postgresql >= 2.8.2 && < 2.9 | ||
| 84 | , persistent-template >= 2.0 && < 2.7 | ||
| 85 | , template-haskell | ||
| 86 | , shakespeare >= 2.0 && < 2.1 | ||
| 87 | , hjsmin >= 0.1 && < 0.3 | ||
| 88 | , monad-control >= 0.3 && < 1.1 | ||
| 89 | , wai-extra >= 3.0 && < 3.1 | ||
| 90 | , yaml >= 0.8 && < 0.9 | ||
| 91 | , http-conduit >= 2.3.0 && < 2.4 | ||
| 92 | , directory >= 1.1 && < 1.4 | ||
| 93 | , warp >= 3.0 && < 3.3 | ||
| 94 | , data-default | ||
| 95 | , aeson >= 1.2.4 && < 1.5 | ||
| 96 | , conduit >= 1.0 && < 2.0 | ||
| 97 | , monad-logger >= 0.3 && < 0.4 | ||
| 98 | , fast-logger >= 2.2 && < 2.5 | ||
| 99 | , wai-logger >= 2.2 && < 2.4 | ||
| 100 | , file-embed | ||
| 101 | , safe | ||
| 102 | , unordered-containers | ||
| 103 | , containers | ||
| 104 | , vector | ||
| 105 | , time | ||
| 106 | , case-insensitive | ||
| 107 | , wai | ||
| 108 | , mtl | ||
| 109 | , lens | ||
| 110 | , thermoprint-client | ||
| 111 | , hashids | ||
| 112 | , systemd | ||
| 113 | |||
| 114 | executable bar | ||
| 115 | if flag(library-only) | ||
| 116 | Buildable: False | ||
| 117 | |||
| 118 | main-is: main.hs | ||
| 119 | hs-source-dirs: app | ||
| 120 | build-depends: base, bar | ||
| 121 | |||
| 122 | ghc-options: -threaded -rtsopts -with-rtsopts=-N | ||
| 123 | |||
| 124 | extensions: TemplateHaskell | ||
| 125 | QuasiQuotes | ||
| 126 | OverloadedStrings | ||
| 127 | NoImplicitPrelude | ||
| 128 | MultiParamTypeClasses | ||
| 129 | TypeFamilies | ||
| 130 | GADTs | ||
| 131 | GeneralizedNewtypeDeriving | ||
| 132 | FlexibleContexts | ||
| 133 | FlexibleInstances | ||
| 134 | EmptyDataDecls | ||
| 135 | NoMonomorphismRestriction | ||
| 136 | DeriveDataTypeable | ||
| 137 | ViewPatterns | ||
| 138 | TupleSections | ||
| 139 | RecordWildCards | ||
| 140 | CPP | ||
diff --git a/package.yaml b/package.yaml new file mode 100644 index 0000000..e7ea47d --- /dev/null +++ b/package.yaml | |||
| @@ -0,0 +1,106 @@ | |||
| 1 | name: bar | ||
| 2 | version: 0.6.6 | ||
| 3 | |||
| 4 | flags: | ||
| 5 | dev: | ||
| 6 | description: Turn on development settings | ||
| 7 | default: false | ||
| 8 | manual: false | ||
| 9 | library-only: | ||
| 10 | description: Build for use with "yesod devel" | ||
| 11 | default: false | ||
| 12 | manual: false | ||
| 13 | thermoprint: | ||
| 14 | description: Use thermoprint-client | ||
| 15 | default: false | ||
| 16 | manual: false | ||
| 17 | |||
| 18 | when: | ||
| 19 | - condition: flag(dev) || flag(library-only) | ||
| 20 | then: | ||
| 21 | cpp-options: -DDEVELOPMENT | ||
| 22 | ghc-options: -Wall -fwarn-tabs -O0 | ||
| 23 | else: | ||
| 24 | ghc-options: -Wall -fwarn-tabs -O2 | ||
| 25 | - condition: flag(thermoprint) | ||
| 26 | cpp-options: -DTHERMOPRINT | ||
| 27 | dependencies: | ||
| 28 | - thermoprint-client | ||
| 29 | |||
| 30 | default-extensions: | ||
| 31 | - DeriveGeneric | ||
| 32 | - TupleSections | ||
| 33 | - RecordWildCards | ||
| 34 | - DeriveDataTypeable | ||
| 35 | - EmptyDataDecls | ||
| 36 | - FlexibleContexts | ||
| 37 | - FlexibleInstances | ||
| 38 | - TypeFamilies | ||
| 39 | - MultiParamTypeClasses | ||
| 40 | - NoImplicitPrelude | ||
| 41 | - PatternGuards | ||
| 42 | - DeriveFunctor | ||
| 43 | - GADTs | ||
| 44 | - CPP | ||
| 45 | - TemplateHaskell | ||
| 46 | - ViewPatterns | ||
| 47 | - PatternGuards | ||
| 48 | - QuasiQuotes | ||
| 49 | - FunctionalDependencies | ||
| 50 | - OverloadedStrings | ||
| 51 | |||
| 52 | other-extensions: | ||
| 53 | - GeneralizedNewtypeDeriving | ||
| 54 | - ApplicativeDo | ||
| 55 | - PackageImports | ||
| 56 | |||
| 57 | library: | ||
| 58 | source-dirs: . | ||
| 59 | dependencies: | ||
| 60 | - base | ||
| 61 | - yesod | ||
| 62 | - yesod-core | ||
| 63 | - yesod-static | ||
| 64 | - yesod-form | ||
| 65 | - classy-prelude | ||
| 66 | - classy-prelude-yesod | ||
| 67 | - bytestring | ||
| 68 | - text | ||
| 69 | - persistent | ||
| 70 | - persistent-postgresql | ||
| 71 | - persistent-template | ||
| 72 | - template-haskell | ||
| 73 | - shakespeare | ||
| 74 | - wai-extra | ||
| 75 | - yaml | ||
| 76 | - http-conduit | ||
| 77 | - warp | ||
| 78 | - aeson | ||
| 79 | - conduit | ||
| 80 | - monad-logger | ||
| 81 | - fast-logger | ||
| 82 | - wai-logger | ||
| 83 | - file-embed | ||
| 84 | - unordered-containers | ||
| 85 | - containers | ||
| 86 | - vector | ||
| 87 | - time | ||
| 88 | - wai | ||
| 89 | - mtl | ||
| 90 | - lens | ||
| 91 | - hashids | ||
| 92 | - systemd | ||
| 93 | |||
| 94 | executables: | ||
| 95 | bar: | ||
| 96 | when: | ||
| 97 | - condition: flag(library-only) | ||
| 98 | buildable: false | ||
| 99 | main: main.hs | ||
| 100 | source-dirs: app | ||
| 101 | dependencies: | ||
| 102 | - base | ||
| 103 | - bar | ||
| 104 | - foreign-store | ||
| 105 | - warp | ||
| 106 | ghc-options: -threaded -rtsopts -with-rtsopts=-N | ||
diff --git a/stack.nix b/stack.nix new file mode 100644 index 0000000..98b31c1 --- /dev/null +++ b/stack.nix | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | { ghc, nixpkgs ? (import <nixos> {}) }: | ||
| 2 | |||
| 3 | let | ||
| 4 | inherit (nixpkgs) haskell pkgs; | ||
| 5 | haskellPackages = if ghc.version == pkgs.haskellPackages.ghc.version then pkgs.haskellPackages else pkgs.haskell.packages."ghc${builtins.replaceStrings ["."] [""] ghc.version}"; | ||
| 6 | in haskell.lib.buildStackProject { | ||
| 7 | inherit ghc; | ||
| 8 | name = "stackenv"; | ||
| 9 | buildInputs = (with pkgs; | ||
| 10 | [ postgresql zlib | ||
| 11 | ]) ++ (with haskellPackages; | ||
| 12 | [ yesod-bin | ||
| 13 | ]); | ||
| 14 | } | ||
| @@ -15,7 +15,7 @@ | |||
| 15 | # resolver: | 15 | # resolver: |
| 16 | # name: custom-snapshot | 16 | # name: custom-snapshot |
| 17 | # location: "./custom-snapshot.yaml" | 17 | # location: "./custom-snapshot.yaml" |
| 18 | resolver: ghc-8.2.2 | 18 | resolver: lts-11.22 |
| 19 | 19 | ||
| 20 | # User packages to be built. | 20 | # User packages to be built. |
| 21 | # Various formats can be used as shown in the example below. | 21 | # Various formats can be used as shown in the example below. |
| @@ -36,10 +36,21 @@ resolver: ghc-8.2.2 | |||
| 36 | # non-dependency (i.e. a user package), and its test suites and benchmarks | 36 | # non-dependency (i.e. a user package), and its test suites and benchmarks |
| 37 | # will not be run. This is useful for tweaking upstream packages. | 37 | # will not be run. This is useful for tweaking upstream packages. |
| 38 | packages: | 38 | packages: |
| 39 | - '.' | 39 | - '.' |
| 40 | - location: ../thermoprint/client | ||
| 41 | extra-dep: true | ||
| 42 | - location: ../thermoprint/spec | ||
| 43 | extra-dep: true | ||
| 44 | - location: | ||
| 45 | git: https://github.com/pngwjpgh/encoding.git | ||
| 46 | commit: f07769687b5cab12bbcab55eab51d629d54c2023 | ||
| 47 | extra-dep: true | ||
| 48 | |||
| 40 | # Dependency packages to be pulled from upstream that are not in the resolver | 49 | # Dependency packages to be pulled from upstream that are not in the resolver |
| 41 | # (e.g., acme-missiles-0.3) | 50 | # (e.g., acme-missiles-0.3) |
| 42 | extra-deps: [] | 51 | extra-deps: |
| 52 | - systemd-1.1.2 | ||
| 53 | - cabal-test-quickcheck-0.1.8.1 | ||
| 43 | 54 | ||
| 44 | # Override default flag values for local packages and extra-deps | 55 | # Override default flag values for local packages and extra-deps |
| 45 | flags: {} | 56 | flags: {} |
| @@ -48,7 +59,7 @@ flags: {} | |||
| 48 | extra-package-dbs: [] | 59 | extra-package-dbs: [] |
| 49 | 60 | ||
| 50 | # Control whether we use the GHC we find on the path | 61 | # Control whether we use the GHC we find on the path |
| 51 | system-ghc: true | 62 | # system-ghc: true |
| 52 | # | 63 | # |
| 53 | # Require a specific version of stack, using version ranges | 64 | # Require a specific version of stack, using version ranges |
| 54 | # require-stack-version: -any # Default | 65 | # require-stack-version: -any # Default |
| @@ -65,9 +76,6 @@ system-ghc: true | |||
| 65 | # Allow a newer minor version of GHC than the snapshot specifies | 76 | # Allow a newer minor version of GHC than the snapshot specifies |
| 66 | # compiler-check: newer-minor | 77 | # compiler-check: newer-minor |
| 67 | nix: | 78 | nix: |
| 68 | enable: false | 79 | packages: [] |
| 69 | packages: | 80 | pure: false |
| 70 | - postgresql | 81 | shell-file: ./stack.nix |
| 71 | - zlib | ||
| 72 | - haskellPackages.yesod-bin | ||
| 73 | - haskellPackages.stack | ||
diff --git a/templates/list-no-thermoprint.hamlet b/templates/list-no-thermoprint.hamlet new file mode 100644 index 0000000..4292dc3 --- /dev/null +++ b/templates/list-no-thermoprint.hamlet | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | <div .table .main> | ||
| 2 | <div .tr .sepBelow> | ||
| 3 | <div .td>Item | ||
| 4 | <div .td>Type | ||
| 5 | $forall WithType item itemType <- Set.toAscList list | ||
| 6 | <div .tr .color> | ||
| 7 | <div .td .kind>#{item} | ||
| 8 | <div .td .type>#{itemType} | ||
