ianlewis / todos

Parse TODO and FIXME comments from code
Apache License 2.0
29 stars 5 forks source link

More supported languages #460

Open ianlewis opened 1 year ago

ianlewis commented 1 year ago

languages.yml in the GitHub linguist project has a good list of languages but I'll need to look up and register how strings and comments are written in each language.

Maybe having a similar languages.yml file and then deriving the scanner configuration from that would be the best way to maintain it. Right now the code is just statically written which may be a bit cumbersome.

TIOBE Index

  1. [x] Python
  2. [x] C
  3. [x] C++
  4. [x] Java
  5. [x] C#
  6. [x] JavaScript
  7. [x] Visual Basic (#1038)
  8. [x] PHP
  9. [x] SQL (#310)
  10. [x] Assembly language (#122)
  11. [x] Go
  12. [ ] Scratch (Not a text based language)
  13. [x] Delphi/Object Pascal (#1560)
  14. [x] MATLAB (#1537)
  15. [x] Swift
  16. [x] Fortran (#1490)
  17. [x] R (#332)
  18. [x] Kotlin (#1209)
  19. [x] Ruby
  20. [x] Rust (#116)
  21. [x] Classic Visual Basic (#1038)
  22. [ ] SAS
  23. [ ] Ad
  24. [ ] COBOL
  25. [ ] Prolog
  26. [x] Lua (#98)
  27. [x] Perl
  28. [ ] Julia
  29. [ ] D
  30. [ ] (Visual) FoxPro
  31. [ ] Dart
  32. [x] Haskell (#317)
  33. [x] Objective-C
  34. [ ] Transact-SQL
  35. [ ] Lisp
  36. [ ] F#
  37. [ ] GAMS
  38. [x] Scala
  39. [ ] VBScript (Deprecated)
  40. [ ] Logo
  41. [ ] PL/SQL
  42. [x] Bash
  43. [ ] CFML
  44. [x] PowerShell (#1543)
  45. [ ] Solidity
  46. [ ] Scheme
  47. [ ] ABAP
  48. [ ] X++
  49. [x] TypeScript
  50. [ ] Awk

Top 250 languages on GitHub

This is based on the BigQuery public data table. Many important file formats are missing from this (e.g. YAML, TOML, etc). I think this is because while they are in many many repos the data only includes the languages that make up a large % of the repo contents and config files are using just a small part.

ianlewis commented 1 year ago

Leasot has a supported languages list: https://github.com/pgilad/leasot/blob/master/media/supported-languages.md

ianlewis commented 1 year ago

Need to rework languages so they each have their own parser to support idiosyncrasies in how some languages are parsed.

For example VimL uses quote characters (") for both strings and line comments. A parser would need to determine the difference between the two.

ianlewis commented 1 year ago

Will close once there are a total of 50 supported languages.