Restructure SAST language support table for clarity
Problem
The SAST language support table has gotten a bit difficult to read. This is for a few reasons:
- Many (most?) languages have more than one analyzer covering it. This is currently expressed as two separate rows in the table, one after the other. That's confusing.
- Advanced SAST language support is also documented on a separate page.
- In the best case this is repetitive; in the worst case it's a conflicting source of truth. (This is true today; TypeScript is not reflected on the main page.)
- We list minimum platform versions when languages were added, but:
- This has never been quite correct, because we add support in different analyzer versions that are automatically included in platform releases of the same major release. For example, we add rules in a given Semgrep image version but it is automatically pulled into instances as long as the major version is the same.
- The versions are increasingly old, and some would qualify to be removed under the docs style guidelines.
Proposal
Change language support table to have a single row per language, listing the available options for scanning and highlighting when Advanced SAST is available.
Alternative:
- Use an HTML table with
rowspan
for different options. But, this is more difficult to maintain.
Edited by Connor Gilbert