Updated grammar updater, wrote a README, added Swift grammar, updated Kotlin grammar to v0.3.1
- updated
_automation/main.goscript to prefer commits tied to a latest release, if it exists. If a grammar repository includes a Release, this updater now prioritizes updating to the latest release rather than the most recent commit. In cases where the repository lacks releases, it defaults to using the latest commit. - Added a
README.mdfor the updater - Added a subcommand called
run-testswhich will rungo testagainst every grammar'sbinding_test.gofile - Updated Kotlin grammar to latest release (v0.3.1)
- Updated .gitignore file to ignore VSCode and macOS related files that shouldn't be committed
updated _automation/main.go script to prefer commits tied to a latest release, if it exists. If a grammar repository includes a Release, this updater now prioritizes updating to the latest release rather than the most recent commit. In cases where the repository lacks releases, it defaults to using the latest commit.
For background, the reason I added this is because the kotlin grammar's most recent commit actually is a failing build. However, that project cuts releases and by grabbing the commit for the latest release, it builds correctly.
I added more to this PR.
I also added the Swift grammar for Apple's Swift programming language. I had to add a downloadSwift function to the automation updater to support retrieving this grammar...which doesn't include parser.c in the repo, but instead in zip file in a release.
@smacker - Please let me know if you'd like me to make any changes, or split into separate PR's.
@smacker Based on your feedback, I have greatly simplified my PR. I've added the optional updateBasedOn property. If it's not provided, it is presumed to be commit. If a user does provide "updatedBasedOn": "tag", then it will call fetchLastTag.
With these changes, I no longer need a custom downloadSwift function or any other additional functions.
This is a much simpler PR now with fewer changes. Thanks for your review.
@smacker - Do you want changes to this to this PR or would you like me to re-architect this?
@micksmix Weird. I remember leaving comments here but I don't see them now... Anyway, PR looks great! Thank you.
I just added 2 small comments to ensure the behavior of the updater is consistent and straightforward.
Changes that @smacker suggested have been made. Ran go test -v ./... and all tests passed. Kotlin grammar is at v0.3.5
Thank you so much!