Remove syntax highlighting for GraphQL, INI file, TOML, and Perforce
Created by: slimsag
Why remove syntax highlighting for these languages?
A review of syntect_servers' included syntax definitions found the syntaxes we include for four languages have questionable licenses:
- GraphQL: No license. Cannot legally use/include, period. https://github.com/dncrews/GraphQL-SublimeText3/issues/11
- INI files: No traceable authorship/license. Cannot legally use/include, period. https://github.com/clintberry/sublime-text-2-ini#credits
- TOML: Trail of authorship, but not open-source / has no license. Cannot legally use/include under any circumstances. https://github.com/lmno/TOML/issues/4
- Perforce: GPLv2 licensed. Could include, but would require a fair amount of engineering effort to not statically link syntax definitions OR would require licensing syntect_server itself under GPLv2, which I am strongly opposed to. https://github.com/textmate/perforce.tmbundle#licensing
How we plan to add them back
I fully recognize that losing syntax highlighting for these languages, particularly the first three, sucks.
It is my hope that anyone will take up the task of writing a syntax definition for these languages - which could be quite fun and can be done completely independently of Sourcegraph either in TextMate or Sublime Text. Once one exists that has a standard license used in every other syntax definition out there (Apache, BSD, MIT, or the Common License used in TextMate grammars), then we can include it in syntect_server and Sourcegraph easily.
To add syntax highlighting for one of these languages, you will need to write one of the following:
- A
.sublime-syntax
grammar https://www.sublimetext.com/docs/3/syntax.html - Or a TextMate
.tmLanguage
grammar https://macromates.com/manual/en/language_grammars
There are many resources online for how to develop and test these right in Sublime or TextMate, and you can find many examples in the syntaxes we currently include in https://github.com/slimsag/Packages#license