ianlewis / todos

Parse TODO and FIXME comments from code
Apache License 2.0
23 stars 1 forks source link

More supported languages #460

Open ianlewis opened 10 months ago

ianlewis commented 10 months 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. [ ] Delphi/Object Pascal
  14. [ ] MATLAB
  15. [x] Swift
  16. [ ] Fortran
  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. [ ] PowerShell
  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 9 months ago

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

ianlewis commented 9 months 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 8 months ago

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