1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| // CodeMirror, copyright (c) by Marijn Haverbeke and others
| // Distributed under an MIT license: https://codemirror.net/LICENSE
|
| (function() {
| var mode = CodeMirror.getMode({indentUnit: 2}, "dylan");
| function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
|
| MT('comments',
| '[comment // This is a line comment]',
| '[comment /* This is a block comment */]',
| '[comment /* This is a multi]',
| '[comment line comment]',
| '[comment */]',
| '[comment /* And this is a /*]',
| '[comment /* nested */ comment */]');
|
| MT('unary_operators',
| '[operator -][variable a]',
| '[operator -] [variable a]',
| '[operator ~][variable a]',
| '[operator ~] [variable a]');
|
| MT('binary_operators',
| '[variable a] [operator +] [variable b]',
| '[variable a] [operator -] [variable b]',
| '[variable a] [operator *] [variable b]',
| '[variable a] [operator /] [variable b]',
| '[variable a] [operator ^] [variable b]',
| '[variable a] [operator =] [variable b]',
| '[variable a] [operator ==] [variable b]',
| '[variable a] [operator ~=] [variable b]',
| '[variable a] [operator ~==] [variable b]',
| '[variable a] [operator <] [variable b]',
| '[variable a] [operator <=] [variable b]',
| '[variable a] [operator >] [variable b]',
| '[variable a] [operator >=] [variable b]',
| '[variable a] [operator &] [variable b]',
| '[variable a] [operator |] [variable b]',
| '[variable a] [operator :=] [variable b]');
|
| MT('integers',
| '[number 1]',
| '[number 123]',
| '[number -123]',
| '[number +456]',
| '[number #b010]',
| '[number #o073]',
| '[number #xabcDEF123]');
|
| MT('floats',
| '[number .3]',
| '[number -1.]',
| '[number -2.335]',
| '[number +3.78d1]',
| '[number 3.78s-1]',
| '[number -3.32e+5]');
|
| MT('characters_and_strings',
| "[string 'a']",
| "[string '\\\\'']",
| '[string ""]',
| '[string "a"]',
| '[string "abc def"]',
| '[string "More escaped characters: \\\\\\\\ \\\\a \\\\b \\\\e \\\\f \\\\n \\\\r \\\\t \\\\0 ..."]');
|
| MT('brackets',
| '[bracket #[[]]]',
| '[bracket #()]',
| '[bracket #(][number 1][bracket )]',
| '[bracket [[][number 1][punctuation ,] [number 3][bracket ]]]',
| '[bracket ()]',
| '[bracket {}]',
| '[keyword if] [bracket (][variable foo][bracket )]',
| '[bracket (][number 1][bracket )]',
| '[bracket [[][number 1][bracket ]]]');
|
| MT('hash_words',
| '[punctuation ##]',
| '[atom #f]', '[atom #F]',
| '[atom #t]', '[atom #T]',
| '[atom #all-keys]',
| '[atom #include]',
| '[atom #key]',
| '[atom #next]',
| '[atom #rest]',
| '[string #"foo"]',
| '[error #invalid]');
| })();
|
|