Open sambacha opened 1 month ago
icalendar support is coming in https://github.com/github-linguist/linguist/pull/6940.
icalendar support is coming in #6940.
That grammar is incorrect and also isn't compliant with RFC 5545, it is only iCAL compliant which is a subset of the actual RFC 5545.
icalendar support is coming in #6940.
That grammar is incorrect and also isn't compliant with RFC 5545, it is only iCAL compliant which is a subset of the actual RFC 5545.
If iCal is a subset of 5545, can we reasonably expect syntax compatibility and thus use the same grammar for both and thus have only a single icalendar language?
/cc @DecimalTurn as the author of https://github.com/github-linguist/linguist/pull/6940
If iCal is a subset of 5545, can we reasonably expect syntax compatibility and thus use the same grammar for both and thus have only a single icalendar language?
From what I've read, iCal is a synonym of iCalendar, so I don't see how RFC 5545 defines anything other than iCal.
Regarding the incompleteness of the grammar in https://github.com/github-linguist/linguist/pull/6940, I'm willing to change the grammar if we can establish that this is true, but I haven't seen that yet. @kimsey0's grammar just seems to have a different approach.
For instance, here is a comparison of the 2 grammars in action using this sample:
Personally, I see pros and cons of each grammar.
Note that I was using this grammar testing tool and had to convert the XML grammar to JSON.
Note that the grammar in my repository was directly adapted from https://www.vim.org/scripts/script.php?script_id=1519 (@horsepunchkid), created in 2006, before RFC 5545.
Just to be transparent, I've raised 3 issues in the newly suggested grammar. If these are addressed, the newly suggested grammar would be unequivocally better and I would support the replacement of the grammar in https://github.com/github-linguist/linguist/pull/6940 by this new grammar.
In the meantime, I would argue that the grammar in #6940 is a good starting point to be included in the next Linguist release.
…nguist
Description
Checklist:
[ ] I am adding a new extension to a language.
[ ] I am adding a new language.
#RRGGBB
[ ] I am fixing a misclassified language
[ ] I am changing the source of a syntax highlighting grammar
[ ] I am updating a grammar submodule
[ ] I am adding new or changing current functionality
[ ] I am changing the color associated with a language