Add Spicy language support
Adding support for Spicy which was originally developed as a research prototype at the International Computer Science Institute with funding from the U.S. National Science Foundation. Since then, Spicy has been rebuilt from the ground up by Corelight, which has contributed the new implementation to the Zeek Project.
Description
Spicy is a parser generator that makes it easy to create robust C++ parsers for network protocols, file formats, and more. Spicy is a bit like a “yacc for protocols”, but it’s much more than that: It’s an all-in-one system enabling developers to write attributed grammars that describe both syntax and semantics of an input format using a single, unified language. Think of Spicy as a domain-specific scripting language for all your parsing needs.
Checklist:
- [X] I am adding a new language.
- [X] The extension of the new language is used in hundreds of repositories on GitHub.com.
- Search results for each extension:
- https://github.com/search?type=code&q=NOT+is%3Afork+path%3A*.spicy
- Search results for each extension:
- [X] I have included a real-world usage sample for all extensions added in this PR:
- Sample source(s):
- https://docs.zeek.org/projects/spicy/en/latest/
- https://docs.zeek.org/projects/spicy/en/latest/programming/examples.html#examples
- Sample license(s): Zeek Spicy docs (BSD license)
- Sample source(s):
- [x] I have included a syntax highlighting grammar:
- [X] I have added a color
- Hex value:
#FF2400 - Rationale: The color is scarlet and since the language is called "spicy" and spicy things are hot it makes sense for the representative color to be red so I chose a bright red.
- Hex value:
- [ ] I have updated the heuristics to distinguish my language from others using the same extension.
- [X] The extension of the new language is used in hundreds of repositories on GitHub.com.
It’s kinda pointless adding a language without a grammar. The primary reason people want language support is for the syntax highlighting. This language isn’t popular enough for inclusion when you exclude the zeek user so I encourage you to find a grammar in the mean time. VSCode grammars are TextMate compatible and generally work well.
I’d also recommend selecting a colour inline with the language’s official logo or branding.
I mean there is this syntax highlighter available from the lead dev on vscode.
Using an eyedropper tool on the official spicy website shows #ba202500 but the picture they have has a lot of different shades of red.