Feature: Use Swift argument parser for CLI interface #12
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.
Swift argument parser https://github.com/apple/swift-argument-parser is an Apple maintained multiplatform package for creating simple CLI in a declarative manner.
I think that Apple maintained dependency might be considered safe from long-term perspective. If this PR is found acceptable, I would like to follow by using https://github.com/apple/swift-system instead of Darwin/Glib.
Notice: I would like to introduce some PRs that will focus on making this project more Swift idiomatic. For example I would like to look at the string manipulation, since Swift now uses utf8 under the hood. I would also like to remove higher order functions, since Swift has become less functional since it's curring and splating days. I have no plans to replace libxml2 however, since there is currently no better way of working with large XML files.