{"push_id":1368733768,"size":29,"distinct_size":29,"ref":"refs/heads/commandline-parser","head":"1042fb9b62c99f3e80153a5d878ce9e436ce88af","before":"c98a0322be1a6f3d6342744ace407121503788f9","commits":[{"sha":"91707da64e9348c6948025e6dc03225dfe3e4032","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: introduce the Parser interface","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/91707da64e9348c6948025e6dc03225dfe3e4032"},{"sha":"03438371f2b4728a0cb20310dfefa4803aa137c4","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"TimeParser: implement Parser interface\n\nWith this, TimeParser can now be used with CommandLineParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/03438371f2b4728a0cb20310dfefa4803aa137c4"},{"sha":"b15d232305d31be9e30907471a89a0ca9f7da563","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"DateParser: implement Parser interface\n\nWith this, DateParser can now be used with CommandLineParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/b15d232305d31be9e30907471a89a0ca9f7da563"},{"sha":"2c85821d11978aa3f3e8d156268bf2c021f44110","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"DateParser: use java.util.Optional instead of Guava's Optional\n\nQuite a lot of the Java8 APIs (e.g. streams) requires\njava.util.Optional. As such, DateParser should also use\njava.util.Optional so it can properly work together with Java8's APIs.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/2c85821d11978aa3f3e8d156268bf2c021f44110"},{"sha":"9be732748d7f161748272af607054114dcb89752","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: add NameParser\n\nThis allows NameParser to be used with CommandLineParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/9be732748d7f161748272af607054114dcb89752"},{"sha":"4ff557f7c2602bbf607347b646036ce78e7238fd","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement DateTimeArgument\n\nOur add-deadline and add-event command syntaxes are a bit odd as they\nrequire the parser to do the following:\n\n1. Attempt to parse the first argument as a date. If it succeeds,\n   consume it. Otherwise, just leave it.\n\n2. Attempt to parse the next unconsumed argument as a time. If it\n   succeeds, consume it. Otherwise, if we could not parse the argument\n   as a date successfully in (1), throw an error. Otherwise, just leave\n   it.\n\nThis deviates quite a bit from standard argument parsing routines\nimplemented in CommandLineParser, so we need to implement some custom\nparsing logic. This is what this new DateTimeArgument does.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/4ff557f7c2602bbf607347b646036ce78e7238fd"},{"sha":"1faf73d6f53b77886635bc6d3f021d006eae207b","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement PriorityParser\n\nThis allows us to parse priorities with CommandLineParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/1faf73d6f53b77886635bc6d3f021d006eae207b"},{"sha":"5c985316418d653d0aacb538ecb9b533947b1c30","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement IndexParser\n\nThis allows us to parse task indexes with the CommandLineParser.\n\nTake note that the `IndexParser` will convert 1-indexes to 0-indexes in\nthe parser itself. I think that this is much better as it cleanly\nseparates the user interface (task indexes start at 1), with our\nunderlying data model (task indexes start at 0).","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/5c985316418d653d0aacb538ecb9b533947b1c30"},{"sha":"3ee2d7d5091c99bf9533044120d28272a8343f6f","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement FileParser\n\nThis will allow us to parse file paths with other Parser-respecting code\nsuch as the CommandLineParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/3ee2d7d5091c99bf9533044120d28272a8343f6f"},{"sha":"f90d9c92a584cc8882e6af493f9db32a4c07ab80","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement OverloadParser\n\nOur `add` command has different overloaded syntaxes (backed by different\nparsers) for adding floating tasks/deadlines/events.\n\nTo implement that using the up-and-coming Parser system, we need an\nOverloadParser which can try to parse the input string with multiple\nparsers, and returns the first successful result.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/f90d9c92a584cc8882e6af493f9db32a4c07ab80"},{"sha":"cd88e5de8170e2bc248583189f67841247a203d0","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement SubcommandParser\n\nThis will allow TaskTrackerParser to dispatch its input to different\nparsers based on the subcommand given.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/cd88e5de8170e2bc248583189f67841247a203d0"},{"sha":"ba93332e4e985e81a61cf12d089ddea941ba2aa1","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"AddDeadlineParser: implement Parser interface\n\nThis will later allow us to integrate this parser with OverloadParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/ba93332e4e985e81a61cf12d089ddea941ba2aa1"},{"sha":"0a46a212f5019957d4ae9077fb6f59c0b068e6b9","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"AddEventParser: implement Parser interface\n\nThis will later allow us to integrate this parser with OverloadParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/0a46a212f5019957d4ae9077fb6f59c0b068e6b9"},{"sha":"a3e322c08905e351f03955fa0b6833ee33493e52","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"AddFloatingTaskParser: implement Parser interface\n\nThis will later allow us to integrate this parser with OverloadParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/a3e322c08905e351f03955fa0b6833ee33493e52"},{"sha":"9355d5a1634722a18d1cfe1fd5ef6e9fff05498e","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"AddTaskParser: implement Parser interface\n\nNow that we have an OverloadParser, we can now let AddTaskParser\nimplement the Parser interface, and take advantage of the OverloadParser\ninternally.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/9355d5a1634722a18d1cfe1fd5ef6e9fff05498e"},{"sha":"9d255198bac4a3ec71fb4dd5ed3ccae2a4ccbcd8","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"EditDeadlineParser: implement Parser interface\n\nThis will later allow us to integrate this parser with the\nSubcommandParser in TaskTrackerParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/9d255198bac4a3ec71fb4dd5ed3ccae2a4ccbcd8"},{"sha":"4856b6b886ed27bbfa75283e3bf70b833cdb2beb","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"EditEventParser: implement Parser interface\n\nThis will later allow us to integrate this parser with other\nParser-respecting logic such as the SubcommandParser in\nTaskTrackerParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/4856b6b886ed27bbfa75283e3bf70b833cdb2beb"},{"sha":"e1d0d44290be4c90b7a678e392215424e738aaa7","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"EditFloatingTaskParser: implement Parser interface\n\nThis will later allow us to integrate this parser with other\nParser-respecting logic such as SubcommandParser in TaskTrackerParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/e1d0d44290be4c90b7a678e392215424e738aaa7"},{"sha":"44c7bce19b805729db8b9cda6330aa8348340a7b","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"SetDataDirectoryParser: implement Parser interface\n\nThis will allow us to integrate this parser with other Parser-respecting\ncode such as the SubcommandParser in TaskTrackerParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/44c7bce19b805729db8b9cda6330aa8348340a7b"},{"sha":"84179420762193d44fe07bccccfeb47764a8ed92","author":{"name":"Paul Tan","email":"47694dae389453634f0f8d3a618ffe16016d5f4c@gmail.com"},"message":"parser: implement DeleteFloatingTaskParser\n\nThis will allow the parser to integrate with other Parser-respecting\ncode such as the SubcommandParser used in TaskTrackerParser.","distinct":true,"url":"https://api.github.com/repos/pyokagan/CS2103AUG2016-T11-C4-main/commits/84179420762193d44fe07bccccfeb47764a8ed92"}]}
{"actor":{"display_login":"pyokagan"}}