golo.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /*
  2. Language: Golo
  3. Author: Philippe Charriere <ph.charriere@gmail.com>
  4. Description: a lightweight dynamic language for the JVM
  5. Website: http://golo-lang.org/
  6. */
  7. function golo(hljs) {
  8. const KEYWORDS = [
  9. "println",
  10. "readln",
  11. "print",
  12. "import",
  13. "module",
  14. "function",
  15. "local",
  16. "return",
  17. "let",
  18. "var",
  19. "while",
  20. "for",
  21. "foreach",
  22. "times",
  23. "in",
  24. "case",
  25. "when",
  26. "match",
  27. "with",
  28. "break",
  29. "continue",
  30. "augment",
  31. "augmentation",
  32. "each",
  33. "find",
  34. "filter",
  35. "reduce",
  36. "if",
  37. "then",
  38. "else",
  39. "otherwise",
  40. "try",
  41. "catch",
  42. "finally",
  43. "raise",
  44. "throw",
  45. "orIfNull",
  46. "DynamicObject|10",
  47. "DynamicVariable",
  48. "struct",
  49. "Observable",
  50. "map",
  51. "set",
  52. "vector",
  53. "list",
  54. "array"
  55. ];
  56. return {
  57. name: 'Golo',
  58. keywords: {
  59. keyword: KEYWORDS,
  60. literal: [
  61. "true",
  62. "false",
  63. "null"
  64. ]
  65. },
  66. contains: [
  67. hljs.HASH_COMMENT_MODE,
  68. hljs.QUOTE_STRING_MODE,
  69. hljs.C_NUMBER_MODE,
  70. {
  71. className: 'meta',
  72. begin: '@[A-Za-z]+'
  73. }
  74. ]
  75. };
  76. }
  77. export { golo as default };