Commit Graph

18 Commits

Author SHA1 Message Date
projectmoon ec66bfa3d6 Add parse_single_amount 2021-05-13 20:06:37 +00:00
projectmoon 932e06ad91 Fix database error name. Improve dice number conversion error message. 2021-02-03 23:27:47 +00:00
projectmoon b7ccd4e7ad Refactor dice amount parser to reusable parsers.
This follows the example in the Combine documentation to use impl
trait return types so we can isolate the parsers into their own
functions.
2021-02-03 23:27:14 +00:00
projectmoon 9a5a18268c Parsing huge numbers are now errors, not variables.
Fixed the dice amount parsing code to propagate a parsing result
through the parser, while properly handling string to i32 conversion.
We now only attempt to convert to i32 if all characters in the
expression are numeric.

This commit also refactors the dice parsing by moving most of the
parsing closures into separate functions, which makes the parsing
function itself more readable. Some variable names were also changed,
for further clarity.

Fixes #21.
2021-02-03 23:23:03 +00:00
projectmoon 66f9bc6013 Move original dice rolling code into its own 'basic' module.
This gives it parity with the other systems: cofd and cthulhu. More
refactoring and a rewrite later as we trend towards more
system-specific implementations.
2020-11-04 20:46:25 +00:00
projectmoon d2642d1fd3 Less verbose errors from internal dice parsing errors. 2020-11-04 20:33:30 +00:00
projectmoon 08b0e58193 Implement parsing of Cthulhu dice, only basic for now.
Does not understand anything besides single numbers at the moment.
2020-10-31 20:51:17 +00:00
projectmoon c290393ddf Centralize common parsing code.
Needed for further development of different systems that rely on these
kind of expressions, and lays groundwork for future changes.
2020-10-31 20:51:17 +00:00
projectmoon 8803b83ddb Remove useless trim function and unnecessary uses of eat_whitespace. 2020-08-31 20:16:43 +00:00
projectmoon 1f5c6d7553 Actually only trim the start and end of the string.
Be careful what you find on Stack Overflow, kids.
2020-08-31 00:05:40 +00:00
projectmoon 8484e9ffde Allow extraneous whitespace at the end of command input. 2020-08-30 21:45:42 +00:00
Taylor C. Richberger e7458c12ad cargo fix and fmt 2020-04-21 00:09:43 -06:00
Taylor C. Richberger 649aec531e implement command parser fully 2020-04-21 00:07:03 -06:00
Taylor C. Richberger 90ae9c142c lay command groundwork. Maybe need to make parsing more ergonomic. 2020-04-20 21:15:13 -06:00
Taylor C. Richberger a9e1ccbf2e restructure into dice module 2020-04-20 11:19:50 -06:00
Taylor C. Richberger 9121497d17 fmt 2020-04-20 10:02:26 -06:00
Taylor C. Richberger 1ce4b54417 Make sure all parsers are complete 2020-04-20 09:19:24 -06:00
Taylor C. Richberger 56de3d34f1 write out nom-based parser 2020-04-20 00:32:57 -06:00