Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've always found it a little strange that the code that reads a Taskfile is in a
read
package. I'm used to domain-driven packages, so it feels more correct to me to have something liketaskfile.Read(...)
thanread.Taskfile(...)
. This PR is a proposal to rearrange the API a little bit to something I think is a bit nicer.Instead of the schema being
taskfile.Taskfile
, we have ataskfile/ast
(Abstract Syntax Tree) package which hosts all the code for parsing and storing the Taskfile syntax. Thetaskfile
package is then responsible for interfacing with Taskfiles (Read(...)
,Exists(...)
,Merge(...)
etc).Note: I based this branch on
remove-v2-support
(#1447), so that needs to be merged first.