UNPKG

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