What types of changes does your code introduce?
Put an x in the boxes that apply
[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.
[x] My changeset covers only what is described above (no extraneous changes)
[x] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged downstream
Further comments
I chose to add a new parser (according to the specification of the issue) because the original one was getting a bit cluttered. I chose to keep both of the structures, and modify existing implementations to match the current version of crpg (maintaining legacy versioning is one of the strengths of this project). I also added a bunch of improvements to the regex parsing, so that newlines and spaces are a lot more forgiving, which they should be.
The one improvement I would like to make, is have a generic parser in parser/init.py that grabs the version number and passes it on to the appropriate functions instead of having to call the parser manually. Maybe I'll do it later. Maybe.
Proposed changes
Closes #91 Adds a new .dl file structure
Types of changes
What types of changes does your code introduce? Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. This is simply a reminder of what we are going to look for before merging your code.Further comments
I chose to add a new parser (according to the specification of the issue) because the original one was getting a bit cluttered. I chose to keep both of the structures, and modify existing implementations to match the current version of crpg (maintaining legacy versioning is one of the strengths of this project). I also added a bunch of improvements to the regex parsing, so that newlines and spaces are a lot more forgiving, which they should be.
The one improvement I would like to make, is have a generic parser in parser/init.py that grabs the version number and passes it on to the appropriate functions instead of having to call the parser manually. Maybe I'll do it later. Maybe.