Language.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package de.jplag.csharp;
  2. import java.io.File;
  3. import java.util.Arrays;
  4. import de.jplag.TokenList;
  5. /**
  6. * C# language with full support of C# 6 features and below.
  7. * @author Timur Saglam
  8. */
  9. public class Language implements de.jplag.Language {
  10. private static final String NAME = "C# 6 Parser";
  11. private static final String SHORT_NAME = "C# 6";
  12. private static final String[] FILE_ENDINGS = new String[] {".cs", ".CS"};
  13. private static final int DEFAULT_MIN_TOKEN_MATCH = 8;
  14. private final CSharpParserAdapter parser;
  15. public Language() {
  16. parser = new CSharpParserAdapter();
  17. }
  18. @Override
  19. public String[] suffixes() {
  20. return FILE_ENDINGS;
  21. }
  22. @Override
  23. public String getName() {
  24. return NAME;
  25. }
  26. @Override
  27. public String getShortName() {
  28. return SHORT_NAME;
  29. }
  30. @Override
  31. public int minimumTokenMatch() {
  32. return DEFAULT_MIN_TOKEN_MATCH;
  33. }
  34. @Override
  35. public TokenList parse(File dir, String[] files) {
  36. return parser.parse(dir, Arrays.asList(files));
  37. }
  38. @Override
  39. public boolean hasErrors() {
  40. return parser.hasErrors();
  41. }
  42. @Override
  43. public boolean supportsColumns() {
  44. return true;
  45. }
  46. @Override
  47. public boolean isPreformatted() {
  48. return true;
  49. }
  50. @Override
  51. public boolean usesIndex() {
  52. return false;
  53. }
  54. @Override
  55. public int numberOfTokens() {
  56. return CSharpTokenConstants.NUM_DIFF_TOKENS;
  57. }
  58. }