packages feed

helic 0.5.1.0 → 0.5.2.0

raw patch · 5 files changed

+42/−25 lines, 5 filesdep +fast-loggerdep ~basedep ~incipitdep ~polysemyPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: fast-logger

Dependency ranges changed: base, incipit, polysemy, polysemy-plugin

API changes (from Hackage documentation)

- Helic: interpretAgentTmux :: Members [Reader TmuxConfig, Log, Async, Race, Resource, Embed IO] r => InterpreterFor (Tagged AgentTmux Agent) r
+ Helic: interpretAgentTmux :: Members [Reader TmuxConfig, Log, Async, Race, Resource, ChronosTime, Embed IO] r => InterpreterFor (Tagged AgentTmux Agent) r
- Helic.Interpreter.AgentTmux: interpretAgentTmux :: Members [Reader TmuxConfig, Log, Async, Race, Resource, Embed IO] r => InterpreterFor (Tagged AgentTmux Agent) r
+ Helic.Interpreter.AgentTmux: interpretAgentTmux :: Members [Reader TmuxConfig, Log, Async, Race, Resource, ChronosTime, Embed IO] r => InterpreterFor (Tagged AgentTmux Agent) r

Files

helic.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           helic-version:        0.5.1.0+version:        0.5.2.0 synopsis:       Clipboard Manager description:    See <https://hackage.haskell.org/package/helic/docs/Helic.html> category:       Clipboard@@ -13,7 +13,7 @@ bug-reports:    https://github.com/tek/helic/issues author:         Torsten Schmits maintainer:     hackage@tryp.io-copyright:      2021 Torsten Schmits+copyright:      2022 Torsten Schmits license:        BSD-2-Clause-Patent license-file:   LICENSE build-type:     Simple@@ -93,8 +93,10 @@       DeriveFoldable       DeriveFunctor       DeriveGeneric+      DeriveLift       DeriveTraversable       DerivingStrategies+      DerivingVia       DisambiguateRecordFields       DoAndIfThenElse       DuplicateRecordFields@@ -124,9 +126,9 @@       RankNTypes       RecordWildCards       RecursiveDo+      RoleAnnotations       ScopedTypeVariables       StandaloneDeriving-      StandaloneKindSignatures       TemplateHaskell       TupleSections       TypeApplications@@ -137,12 +139,13 @@       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin+  ghc-options: -Wall -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin   build-depends:       aeson >=1.5-    , base ==4.*+    , base >=4.12 && <5     , chronos >=1.1.1     , exon >=0.3+    , fast-logger >=3     , gi-gdk >=3     , gi-glib >=2     , gi-gtk >=3@@ -196,8 +199,10 @@       DeriveFoldable       DeriveFunctor       DeriveGeneric+      DeriveLift       DeriveTraversable       DerivingStrategies+      DerivingVia       DisambiguateRecordFields       DoAndIfThenElse       DuplicateRecordFields@@ -227,9 +232,9 @@       RankNTypes       RecordWildCards       RecursiveDo+      RoleAnnotations       ScopedTypeVariables       StandaloneDeriving-      StandaloneKindSignatures       TemplateHaskell       TupleSections       TypeApplications@@ -240,13 +245,13 @@       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N+  ghc-options: -Wall -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N   build-depends:-      base ==4.*+      base >=4.12 && <5     , helic-    , incipit-    , polysemy-    , polysemy-plugin+    , incipit >=0.1.0.3+    , polysemy >=1.6+    , polysemy-plugin >=0.4   mixins:       base hiding (Prelude)   default-language: Haskell2010@@ -279,8 +284,10 @@       DeriveFoldable       DeriveFunctor       DeriveGeneric+      DeriveLift       DeriveTraversable       DerivingStrategies+      DerivingVia       DisambiguateRecordFields       DoAndIfThenElse       DuplicateRecordFields@@ -310,9 +317,9 @@       RankNTypes       RecordWildCards       RecursiveDo+      RoleAnnotations       ScopedTypeVariables       StandaloneDeriving-      StandaloneKindSignatures       TemplateHaskell       TupleSections       TypeApplications@@ -323,20 +330,20 @@       UndecidableInstances       UnicodeSyntax       ViewPatterns-  ghc-options: -Wall -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N+  ghc-options: -Wall -Wmissing-deriving-strategies -Wredundant-constraints -Wunused-packages -fplugin=Polysemy.Plugin -threaded -rtsopts -with-rtsopts=-N   build-depends:-      base ==4.*+      base >=4.12 && <5     , chronos     , containers     , exon     , helic-    , incipit+    , incipit >=0.1.0.3     , path-    , polysemy+    , polysemy >=1.6     , polysemy-chronos     , polysemy-conc     , polysemy-log-    , polysemy-plugin+    , polysemy-plugin >=0.4     , polysemy-test     , polysemy-time     , tasty
lib/Helic/Interpreter/AgentTmux.hs view
@@ -4,6 +4,11 @@ import Exon (exon) import qualified Log import Path (Abs, File, Path, toFilePath)+import Polysemy.Chronos (ChronosTime)+import Polysemy.Process (ProcessKill (KillAfter), interpretProcessByteStringNative)+import Polysemy.Process.Data.ProcessError (ProcessError)+import Polysemy.Process.Data.ProcessOptions (ProcessOptions (kill))+import Polysemy.Time (MilliSeconds (MilliSeconds), convert) import qualified System.Process.Typed as Process import System.Process.Typed (ProcessConfig) @@ -12,8 +17,6 @@ import Helic.Effect.Agent (Agent (Update), AgentTmux) import Helic.Interpreter (interpreting) import Helic.Tmux (sendToTmux)-import Polysemy.Process (interpretProcessByteStringNative)-import Polysemy.Process.Data.ProcessError (ProcessError)  -- |Process definition for running `tmux load-buffer -`. tmuxProc ::@@ -34,11 +37,11 @@  -- |Interpret 'Agent' using a tmux server as the target. interpretAgentTmux ::-  Members [Reader TmuxConfig, Log, Async, Race, Resource, Embed IO] r =>+  Members [Reader TmuxConfig, Log, Async, Race, Resource, ChronosTime, Embed IO] r =>   InterpreterFor (Tagged AgentTmux Agent) r interpretAgentTmux sem = do   exe <- asks TmuxConfig.exe-  interpretProcessByteStringNative True 64 (tmuxProc exe) $+  interpretProcessByteStringNative def { kill = KillAfter (convert (MilliSeconds 500)) } (tmuxProc exe) $     interpreting (raiseUnder (untag sem)) \case       Update event ->         whenM enableTmux do
lib/Helic/Interpreter/Gtk.hs view
@@ -14,6 +14,7 @@ import Helic.Gtk (getDisplay) import Helic.Stop (tryStop) +-- |In the case where no default display is available from the manager, attempt to connect to a named display. tryOpenDisplay ::   Members [Stop Text, Log, Embed IO] r =>   DisplayId ->@@ -27,6 +28,7 @@     Nothing ->       stop [exon|Could not connect to display #{fallbackDisplay}|] +-- |Test whether the display manager has a default display available. noDisplayAvailable ::   Members [Stop Text, Embed IO] r =>   GiGdk.DisplayManager ->
lib/Helic/Interpreter/History.hs view
@@ -115,7 +115,7 @@   Int ->   Sem r () logTruncation num =-  Log.info [exon|removed #{show num} #{noun} from the history.|]+  Log.debug [exon|removed #{show num} #{noun} from the history.|]   where     noun =       if num == 1 then "entry" else "entries"
lib/Helic/Net/Server.hs view
@@ -14,7 +14,8 @@   setInstallShutdownHandler,   setPort,   )-import Network.Wai.Middleware.RequestLogger (logStdout)+import qualified Network.Wai.Middleware.RequestLogger as Logger+import Network.Wai.Middleware.RequestLogger (destination, mkRequestLogger) import qualified Polysemy.Conc.Effect.Interrupt as Interrupt import qualified Polysemy.Conc.Sync as Sync import Polysemy.Final (withWeavingToFinal)@@ -33,6 +34,7 @@   serveWithContext,   type (.++),   )+import System.Log.FastLogger (fromLogStr)  newtype ApiError =   ApiError { unApiError :: Text }@@ -41,7 +43,7 @@  data ServerReady =   ServerReady-  deriving (Eq, Show)+  deriving stock (Eq, Show)  logErrors ::   Member Log r =>@@ -83,4 +85,7 @@         setInstallShutdownHandler shut $         setGracefulShutdownTimeout (Just 0) $         defaultSettings-    (<$ s) <$> Warp.runSettings settings (logStdout app)+      log msg =+        void (wv ((Log.debug (decodeUtf8 (fromLogStr msg))) <$ s))+    logger <- mkRequestLogger def { destination = Logger.Callback log }+    (<$ s) <$> Warp.runSettings settings (logger app)