calamity 0.1.14.5 → 0.1.14.6
raw patch · 3 files changed
+27/−3 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Calamity.Commands.Parser: instance Calamity.Commands.Parser.Parser GHC.Integer.Type.Integer r
+ Calamity.Commands.Parser: instance Calamity.Commands.Parser.Parser GHC.Natural.Natural r
+ Calamity.Commands.Parser: instance Calamity.Commands.Parser.Parser GHC.Types.Float r
+ Calamity.Commands.Parser: instance Calamity.Commands.Parser.Parser GHC.Types.Int r
+ Calamity.Commands.Parser: instance Calamity.Commands.Parser.Parser GHC.Types.Word r
Files
- ChangeLog.md +7/−0
- calamity.cabal +3/−3
- src/Calamity/Commands/Parser.hs +17/−0
ChangeLog.md view
@@ -1,5 +1,12 @@ # Changelog for Calamity +## 0.1.14.6++*2020-06-18*++* Add command parameter `Parser`s for `Int`, `Integer`, `Word`, `Natural`, and+ `Float`.+ ## 0.1.14.5 *2020-06-18*
calamity.cabal view
@@ -4,11 +4,11 @@ -- -- see: https://github.com/sol/hpack ----- hash: e8f0d2b37e6993b5feabb3a7bc1bd424330c236f6d3d984c68336bdf840118ba+-- hash: 2086b0049d6b378a9ae414918e814465d2f693c8c0d59cd2ab0c6817275ccc30 name: calamity-version: 0.1.14.5-synopsis: A library for writing discord bots+version: 0.1.14.6+synopsis: A library for writing discord bots in haskell description: Please see the README on GitHub at <https://github.com/nitros12/calamity#readme> category: Network, Web homepage: https://github.com/nitros12/calamity
src/Calamity/Commands/Parser.hs view
@@ -37,6 +37,8 @@ import Text.Megaparsec hiding ( parse ) import Text.Megaparsec.Char import Text.Megaparsec.Error.Builder ( errFancy, fancy )+import Text.Megaparsec.Char.Lexer (float, decimal, signed)+import Numeric.Natural (Natural) data SpannedError = SpannedError L.Text !Int !Int deriving ( Show, Eq, Ord )@@ -96,6 +98,21 @@ instance Parser S.Text r where parse = parseMP (parserName @S.Text) (L.toStrict <$> item)++instance Parser Integer r where+ parse = parseMP (parserName @Integer) (signed mempty decimal)++instance Parser Natural r where+ parse = parseMP (parserName @Natural) decimal++instance Parser Int r where+ parse = parseMP (parserName @Int) (signed mempty decimal)++instance Parser Word r where+ parse = parseMP (parserName @Word) decimal++instance Parser Float r where+ parse = parseMP (parserName @Float) (signed mempty float) instance Parser a r => Parser (Maybe a) r where type ParserResult (Maybe a) = Maybe (ParserResult a)