packages feed

glirc 2.25 → 2.26

raw patch · 9 files changed

+65/−16 lines, 9 filesdep ~basedep ~containersdep ~freesetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, containers, free, kan-extensions, lens, network, semigroupoids, template-haskell, vty

API changes (from Hackage documentation)

- Client.Commands.Recognizer: instance Data.Semigroup.Semigroup (Client.Commands.Recognizer.Recognizer a)
- Client.Hook: instance Data.Semigroup.Semigroup Client.Hook.MessageResult
- Client.Image.PackedImage: instance Data.Semigroup.Semigroup Client.Image.PackedImage.Image'
+ Client.Commands.Recognizer: instance GHC.Base.Semigroup (Client.Commands.Recognizer.Recognizer a)
+ Client.Configuration: [_configShowPing] :: Configuration -> Bool
+ Client.Configuration: configShowPing :: Lens' Configuration Bool
+ Client.Hook: instance GHC.Base.Semigroup Client.Hook.MessageResult
+ Client.Image.PackedImage: instance GHC.Base.Semigroup Client.Image.PackedImage.Image'
+ Client.State: [_clientShowPing] :: ClientState -> !Bool
+ Client.State: clientShowPing :: Lens' ClientState Bool
- Client.Configuration: Configuration :: ServerSettings -> (HashMap Text ServerSettings) -> Palette -> Text -> HashSet Identifier -> PaddingMode -> Recognizer Macro -> [FilePath] -> Maybe FilePath -> [Text] -> Bool -> Bool -> Bool -> KeyMap -> LayoutMode -> [Modifier] -> Configuration
+ Client.Configuration: Configuration :: ServerSettings -> (HashMap Text ServerSettings) -> Palette -> Text -> HashSet Identifier -> PaddingMode -> Recognizer Macro -> [FilePath] -> Maybe FilePath -> [Text] -> Bool -> Bool -> Bool -> KeyMap -> LayoutMode -> Bool -> [Modifier] -> Configuration
- Client.Hook: MessageHook :: Text -> Bool -> (IrcMsg -> MessageResult) -> MessageHook
+ Client.Hook: MessageHook :: Text -> Bool -> IrcMsg -> MessageResult -> MessageHook
- Client.State: ClientState :: !(Map Focus Window) -> !Focus -> !Focus -> !Focus -> !Subfocus -> ![Focus] -> !(IntMap NetworkState) -> !(TQueue NetworkEvent) -> !(HashMap Text NetworkId) -> !Configuration -> !(Maybe FilePath) -> !EditBox -> !Int -> !Int -> !Int -> !Int -> !Bool -> !Bool -> Maybe Regex -> !LayoutMode -> !Bool -> !(HashSet Identifier) -> Mask -> !ExtensionState -> ![LogLine] -> Maybe Text -> Maybe Stats -> ClientState
+ Client.State: ClientState :: !(Map Focus Window) -> !Focus -> !Focus -> !Focus -> !Subfocus -> ![Focus] -> !(IntMap NetworkState) -> !(TQueue NetworkEvent) -> !(HashMap Text NetworkId) -> !Configuration -> !(Maybe FilePath) -> !EditBox -> !Int -> !Int -> !Int -> !Int -> !Bool -> !Bool -> !Bool -> Maybe Regex -> !LayoutMode -> !Bool -> !(HashSet Identifier) -> Mask -> !ExtensionState -> ![LogLine] -> Maybe Text -> Maybe Stats -> ClientState
- Client.State.EditBox: class HasLine c_a1bGv
+ Client.State.EditBox: class HasLine c_a17If
- Client.State.EditBox: line :: HasLine c_a1bGv => Lens' c_a1bGv Line
+ Client.State.EditBox: line :: HasLine c_a17If => Lens' c_a17If Line
- Client.State.EditBox: pos :: HasLine c_a1bGv => Lens' c_a1bGv Int
+ Client.State.EditBox: pos :: HasLine c_a17If => Lens' c_a17If Int
- Client.State.EditBox: text :: HasLine c_a1bGv => Lens' c_a1bGv String
+ Client.State.EditBox: text :: HasLine c_a17If => Lens' c_a17If String
- Client.State.EditBox.Content: class HasLine c_a1bGv
+ Client.State.EditBox.Content: class HasLine c_a17If
- Client.State.EditBox.Content: line :: HasLine c_a1bGv => Lens' c_a1bGv Line
+ Client.State.EditBox.Content: line :: HasLine c_a17If => Lens' c_a17If Line
- Client.State.EditBox.Content: pos :: HasLine c_a1bGv => Lens' c_a1bGv Int
+ Client.State.EditBox.Content: pos :: HasLine c_a17If => Lens' c_a17If Int
- Client.State.EditBox.Content: text :: HasLine c_a1bGv => Lens' c_a1bGv String
+ Client.State.EditBox.Content: text :: HasLine c_a17If => Lens' c_a17If String

Files

ChangeLog.md view
@@ -1,5 +1,10 @@ # Revision history for glirc2 +## 2.26+* Updates for GHC 8.4.1+* Added `/toggle-show-ping` and `show-ping` configuration setting+  to toggle visibility of the ping roundtrip times.+ ## 2.25 * `/ignore` can list ignores and supports full wildcard masks * Updated C extension API
README.md view
@@ -283,6 +283,12 @@ * `/exec [-n network] [-c channel] <command> <arguments...>` - Execute a command, If no network or channel are provided send output to client window, if network and channel are provided send output as messages, if network is provided send output as raw IRC messages. * `/url [n]` - Execute url-opener on the nth URL in the current window (defaults to first) +View toggles+* `/toggle-detail` - toggle full detail view of messages+* `/toggle-activity-bar` - toggle channel names in activity bar+* `/toggle-metadata` - toggle visibility of channel metadata+* `/toggle-layout` - toggle split-screen layout between 1 and 2 column view+ Connection commands  * `/nick <nick>` - Change nickname@@ -294,7 +300,8 @@ * `/focus <server>` - Change focus to server window * `/focus <server> <channel>` - Change focus to channel window * `/clear [network] [channel]` - Clear contents of current or specified window-* `/ignore <nick>` - Toggle ignore of a user+* `/ignore` - Show all ignore masks+* `/ignore <mask>...` - Toggle ignore status on a list of masks * `/channel <channel>` - Change focus to channel on current network (alias: `/c`) * `/splits [focuses...]` - Enable split-screen view. Focuses should be space delimited list of NETWORK:CHANNEL * `/splits+ [focuses...]` - Incremental addition to splits@@ -307,6 +314,7 @@  Chat commands +* `/query <target> [<msg>]` - Switch focus to target window on current server, optionally send message * `/msg <target> <msg>` - Send a message on the current server to target * `/notice <target> <msg>` - Send a notice message on the current server to target * `/ctcp <target> <command> <args>` - Send a ctcp command on the current server to target
Setup.hs view
@@ -35,7 +35,11 @@ import           Distribution.Simple.BuildPaths (autogenModulesDir) #endif +#if MIN_VERSION_Cabal(2,2,0)+import qualified Distribution.SPDX               as SPDX+#endif + -- | Default Setup main extended to generate a Build module and to validate -- the licenses of transitive dependencies. main :: IO ()@@ -148,15 +152,27 @@   [InstalledPackageInfo] {- ^ transitive package dependencies -} ->   IO () validateLicenses pkgs =-  do let p pkg   = license pkg `notElem` freeLicenses+  do let p pkg   = toLicense (license pkg) `notElem` freeLicenses          badPkgs = filter p pkgs       unless (null badPkgs) $-       do mapM_ print badPkgs+       do mapM_ print [ toLicense (license p) | p <- badPkgs ]           fail "BAD LICENSE" +class ToLicense a where toLicense :: a -> License+instance ToLicense License where toLicense = id +#if MIN_VERSION_Cabal(2,2,0)+instance (ToLicense a, ToLicense b) => ToLicense (Either a b) where+  toLicense (Right x) = toLicense x+  toLicense (Left  x) = toLicense x+instance ToLicense SPDX.License where+  toLicense = licenseFromSPDX+#endif+++ -- | The set of permissive licenses that are acceptable for transitive dependencies -- of this package: BSD2, BSD3, ISC, MIT, PublicDomain freeLicenses :: [License]-freeLicenses = [BSD2, BSD3, ISC, MIT, PublicDomain]+freeLicenses = [BSD2, BSD3, ISC, MIT, PublicDomain, UnknownLicense "LicenseRefPublicDomain"]
glirc.cabal view
@@ -1,5 +1,5 @@ name:                glirc-version:             2.25+version:             2.26 synopsis:            Console IRC client description:         Console IRC client                      .@@ -23,9 +23,9 @@ tested-with:         GHC==8.0.2  custom-setup-  setup-depends: base     >=4.9  && <4.11,+  setup-depends: base     >=4.9  && <4.12,                  filepath >=1.4  && <1.5,-                 Cabal    >=1.24 && <2.1+                 Cabal    >=1.24 && <2.3  source-repository head   type: git@@ -124,9 +124,9 @@                        Paths_glirc                        Build_glirc -  build-depends:       base                 >=4.9    && <4.11,+  build-depends:       base                 >=4.9    && <4.12,                        HsOpenSSL            >=0.11   && <0.12,-                       async                >=2.1    && <2.2,+                       async                >=2.1    && <2.3,                        attoparsec           >=0.13   && <0.14,                        base64-bytestring    >=1.0.0.1&& <1.1,                        bytestring           >=0.10.8 && <0.11,@@ -149,14 +149,14 @@                        socks                >=0.5.5  && <0.6,                        split                >=0.2    && <0.3,                        stm                  >=2.4    && <2.5,-                       template-haskell     >=2.11   && <2.13,+                       template-haskell     >=2.11   && <2.14,                        text                 >=1.2.2  && <1.3,                        time                 >=1.6    && <1.10,                        transformers         >=0.5.2  && <0.6,                        unix                 >=2.7    && <2.8,                        unordered-containers >=0.2.7  && <0.3,                        vector               >=0.11   && <0.13,-                       vty                  >=5.11.1 && <5.20+                       vty                  >=5.11.1 && <5.22  test-suite test   type:                exitcode-stdio-1.0
src/Client/Commands.hs view
@@ -420,6 +420,12 @@     $ ClientCommand cmdToggleActivityBar noClientTab    , Command+      (pure "toggle-show-ping")+      (pure ())+      "Toggle visibility of ping round-trip time.\n"+    $ ClientCommand cmdToggleShowPing noClientTab++  , Command       (pure "toggle-metadata")       (pure ())       "Toggle visibility of metadata in chat windows.\n"@@ -1165,6 +1171,9 @@  cmdToggleActivityBar :: ClientCommand () cmdToggleActivityBar st _ = commandSuccess (over clientActivityBar not st)++cmdToggleShowPing :: ClientCommand ()+cmdToggleShowPing st _ = commandSuccess (over clientShowPing not st)  cmdToggleMetadata :: ClientCommand () cmdToggleMetadata st _ = commandSuccess (clientToggleHideMeta st)
src/Client/Configuration.hs view
@@ -38,6 +38,7 @@   , configHideMeta   , configKeyMap   , configLayout+  , configShowPing   , configJumpModifier    -- * Loading configuration@@ -99,6 +100,7 @@   , _configHideMeta        :: Bool -- ^ default setting for hidemeta on new windows   , _configKeyMap          :: KeyMap -- ^ keyboard bindings   , _configLayout          :: LayoutMode -- ^ Default layout on startup+  , _configShowPing        :: Bool -- ^ visibility of ping time   , _configJumpModifier    :: [Modifier] -- ^ Modifier used for jumping windows   }   deriving Show@@ -286,6 +288,8 @@                                "Extra key bindings"      _configLayout          <- sec' OneColumn "layout" layoutSpec                                "Initial setting for window layout"+     _configShowPing        <- sec' True "show-ping" yesOrNoSpec+                               "Initial setting for visibility of ping times"      return (\def ->              let _configDefaults = ssDefUpdate def                  _configServers  = buildServerMap _configDefaults ssUpdates
src/Client/Image/StatusLine.hs view
@@ -56,8 +56,12 @@       , nometaImage (view clientFocus st) st       , scrollImage st       , filterImage st-      , latencyImage st+      , latency       ]++    latency+      | view clientShowPing st = latencyImage st+      | otherwise              = mempty      activity       | view clientActivityBar st = activityBarImages st
src/Client/State.hs view
@@ -30,6 +30,7 @@   , clientScroll   , clientDetailView   , clientActivityBar+  , clientShowPing   , clientSubfocus   , clientNetworkMap   , clientIgnores@@ -178,6 +179,7 @@   , _clientScroll            :: !Int                      -- ^ buffer scroll lines   , _clientDetailView        :: !Bool                     -- ^ use detailed rendering mode   , _clientActivityBar       :: !Bool                     -- ^ visible activity bar+  , _clientShowPing          :: !Bool                     -- ^ visible ping time   , _clientRegex             :: Maybe Regex               -- ^ optional persistent filter   , _clientLayout            :: !LayoutMode               -- ^ layout mode for split screen @@ -268,6 +270,7 @@         , _clientRegex             = Nothing         , _clientLayout            = view configLayout cfg         , _clientActivityBar       = view configActivityBar cfg+        , _clientShowPing          = view configShowPing cfg         , _clientBell              = False         , _clientExtensions        = exts         , _clientLogQueue          = []
src/Client/State/Network.hs view
@@ -129,10 +129,10 @@  -- | State of the authentication transaction data AuthenticateState-  = AS_None -- ^ no active transaction-  | AS_PlainStarted -- ^ PLAIN mode initiated-  | AS_EcdsaStarted -- ^ ECDSA-NIST mode initiated-  | AS_EcdsaWaitChallenge -- ^ ECDSA_NIST user sent waiting for challenge+  = AS_None               -- ^ no active transaction+  | AS_PlainStarted       -- ^ PLAIN mode initiated+  | AS_EcdsaStarted       -- ^ ECDSA-NIST mode initiated+  | AS_EcdsaWaitChallenge -- ^ ECDSA-NIST user sent waiting for challenge   deriving Show  -- | Pair of username and hostname. Empty strings represent missing information.