utopia-project 0.37.6 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/context/documentation-guidelines.md +12 -7
- data/lib/utopia/project/import_map.rb +1 -0
- data/lib/utopia/project/version.rb +1 -1
- data/pages/_page.xnode +8 -13
- data/public/_components/@socketry/syntax/Syntax/CodeElement.js +293 -0
- data/public/_components/@socketry/syntax/Syntax/Errors.js +52 -0
- data/public/_components/@socketry/syntax/Syntax/Language/apache.js +49 -0
- data/public/_components/@socketry/syntax/Syntax/Language/applescript.js +157 -0
- data/public/_components/@socketry/syntax/Syntax/Language/assembly.js +42 -0
- data/public/_components/@socketry/syntax/Syntax/Language/bash-script.js +108 -0
- data/public/_components/@socketry/syntax/Syntax/Language/bash.js +32 -0
- data/public/_components/@socketry/syntax/Syntax/Language/basic.js +232 -0
- data/public/_components/@socketry/syntax/Syntax/Language/c++.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/c.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/clang.js +201 -0
- data/public/_components/@socketry/syntax/Syntax/Language/cpp.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/csharp.js +166 -0
- data/public/_components/@socketry/syntax/Syntax/Language/css.js +244 -0
- data/public/_components/@socketry/syntax/Syntax/Language/diff.js +24 -0
- data/public/_components/@socketry/syntax/Syntax/Language/go.js +135 -0
- data/public/_components/@socketry/syntax/Syntax/Language/haskell.js +110 -0
- data/public/_components/@socketry/syntax/Syntax/Language/html.js +69 -0
- data/public/_components/@socketry/syntax/Syntax/Language/io.js +68 -0
- data/public/_components/@socketry/syntax/Syntax/Language/java.js +134 -0
- data/public/_components/@socketry/syntax/Syntax/Language/javascript.js +89 -0
- data/public/_components/@socketry/syntax/Syntax/Language/json.js +36 -0
- data/public/_components/@socketry/syntax/Syntax/Language/lisp.js +38 -0
- data/public/_components/@socketry/syntax/Syntax/Language/lua.js +87 -0
- data/public/_components/@socketry/syntax/Syntax/Language/markdown.js +112 -0
- data/public/_components/@socketry/syntax/Syntax/Language/nginx.js +37 -0
- data/public/_components/@socketry/syntax/Syntax/Language/objective-c.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/ocaml.js +225 -0
- data/public/_components/@socketry/syntax/Syntax/Language/pascal.js +166 -0
- data/public/_components/@socketry/syntax/Syntax/Language/patch.js +2 -0
- data/public/_components/@socketry/syntax/Syntax/Language/perl5.js +317 -0
- data/public/_components/@socketry/syntax/Syntax/Language/php-script.js +112 -0
- data/public/_components/@socketry/syntax/Syntax/Language/php.js +18 -0
- data/public/_components/@socketry/syntax/Syntax/Language/plain.js +20 -0
- data/public/_components/@socketry/syntax/Syntax/Language/protobuf.js +77 -0
- data/public/_components/@socketry/syntax/Syntax/Language/python.js +208 -0
- data/public/_components/@socketry/syntax/Syntax/Language/ruby.js +124 -0
- data/public/_components/@socketry/syntax/Syntax/Language/scala.js +81 -0
- data/public/_components/@socketry/syntax/Syntax/Language/smalltalk.js +30 -0
- data/public/_components/@socketry/syntax/Syntax/Language/sql.js +865 -0
- data/public/_components/@socketry/syntax/Syntax/Language/super-collider.js +70 -0
- data/public/_components/@socketry/syntax/Syntax/Language/swift.js +176 -0
- data/public/_components/@socketry/syntax/Syntax/Language/xml.js +76 -0
- data/public/_components/@socketry/syntax/Syntax/Language/xrb.js +33 -0
- data/public/_components/@socketry/syntax/Syntax/Language/yaml.js +29 -0
- data/public/_components/@socketry/syntax/Syntax/Language.js +276 -0
- data/public/_components/@socketry/syntax/Syntax/Loader.js +78 -0
- data/public/_components/@socketry/syntax/Syntax/Match.js +546 -0
- data/public/_components/@socketry/syntax/Syntax/Rule.js +306 -0
- data/public/_components/@socketry/syntax/Syntax.js +356 -0
- data/public/_components/@socketry/syntax/license.md +21 -0
- data/public/_components/@socketry/syntax/package.json +43 -0
- data/public/_components/@socketry/syntax/readme.md +162 -0
- data/public/_components/@socketry/syntax/themes/base/apache.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/applescript.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/assembly.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/bash.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/basic.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/c.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/clang.css +0 -0
- data/public/_components/@socketry/syntax/themes/base/csharp.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/css.css +22 -0
- data/public/_components/@socketry/syntax/themes/base/diff.css +48 -0
- data/public/_components/@socketry/syntax/themes/base/go.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/haskell.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/html.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/io.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/java.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/javascript.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/json.css +41 -0
- data/public/_components/@socketry/syntax/themes/base/lisp.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/lua.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/markdown.css +16 -0
- data/public/_components/@socketry/syntax/themes/base/nginx.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/ocaml.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/pascal.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/perl5.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/php-script.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/php.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/plain.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/protobuf.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/python.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/ruby.css +23 -0
- data/public/_components/@socketry/syntax/themes/base/scala.css +3 -0
- data/public/_components/@socketry/syntax/themes/base/smalltalk.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/sql.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/super-collider.css +33 -0
- data/public/_components/@socketry/syntax/themes/base/swift.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/syntax.css +63 -0
- data/public/_components/@socketry/syntax/themes/base/xml.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/xrb.css +29 -0
- data/public/_components/@socketry/syntax/themes/base/yaml.css +1 -0
- data/public/_components/@socketry/syntax/themes/theming.md +233 -0
- data/public/_static/sidebar.js +55 -22
- data/public/_static/site.css +0 -4
- data.tar.gz.sig +0 -0
- metadata +94 -1
- metadata.gz.sig +0 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import {Language} from '../Language.js';
|
|
2
|
+
import {Rule} from '../Rule.js';
|
|
3
|
+
|
|
4
|
+
const language = new Language('csharp');
|
|
5
|
+
|
|
6
|
+
var keywords = [
|
|
7
|
+
'abstract',
|
|
8
|
+
'add',
|
|
9
|
+
'alias',
|
|
10
|
+
'ascending',
|
|
11
|
+
'base',
|
|
12
|
+
'break',
|
|
13
|
+
'case',
|
|
14
|
+
'catch',
|
|
15
|
+
'class',
|
|
16
|
+
'const',
|
|
17
|
+
'continue',
|
|
18
|
+
'default',
|
|
19
|
+
'delegate',
|
|
20
|
+
'descending',
|
|
21
|
+
'do',
|
|
22
|
+
'dynamic',
|
|
23
|
+
'else',
|
|
24
|
+
'enum',
|
|
25
|
+
'event',
|
|
26
|
+
'explicit',
|
|
27
|
+
'extern',
|
|
28
|
+
'finally',
|
|
29
|
+
'for',
|
|
30
|
+
'foreach',
|
|
31
|
+
'from',
|
|
32
|
+
'get',
|
|
33
|
+
'global',
|
|
34
|
+
'goto',
|
|
35
|
+
'group',
|
|
36
|
+
'if',
|
|
37
|
+
'implicit',
|
|
38
|
+
'in',
|
|
39
|
+
'interface',
|
|
40
|
+
'into',
|
|
41
|
+
'join',
|
|
42
|
+
'let',
|
|
43
|
+
'lock',
|
|
44
|
+
'namespace',
|
|
45
|
+
'new',
|
|
46
|
+
'operator',
|
|
47
|
+
'orderby',
|
|
48
|
+
'out',
|
|
49
|
+
'override',
|
|
50
|
+
'params',
|
|
51
|
+
'partial',
|
|
52
|
+
'readonly',
|
|
53
|
+
'ref',
|
|
54
|
+
'remove',
|
|
55
|
+
'return',
|
|
56
|
+
'sealed',
|
|
57
|
+
'select',
|
|
58
|
+
'set',
|
|
59
|
+
'stackalloc',
|
|
60
|
+
'static',
|
|
61
|
+
'struct',
|
|
62
|
+
'switch',
|
|
63
|
+
'throw',
|
|
64
|
+
'try',
|
|
65
|
+
'unsafe',
|
|
66
|
+
'using',
|
|
67
|
+
'value',
|
|
68
|
+
'var',
|
|
69
|
+
'virtual',
|
|
70
|
+
'volatile',
|
|
71
|
+
'where',
|
|
72
|
+
'while',
|
|
73
|
+
'yield'
|
|
74
|
+
];
|
|
75
|
+
|
|
76
|
+
var access = ['public', 'private', 'internal', 'protected'];
|
|
77
|
+
|
|
78
|
+
var types = [
|
|
79
|
+
'object',
|
|
80
|
+
'bool',
|
|
81
|
+
'byte',
|
|
82
|
+
'fixed',
|
|
83
|
+
'float',
|
|
84
|
+
'uint',
|
|
85
|
+
'char',
|
|
86
|
+
'ulong',
|
|
87
|
+
'ushort',
|
|
88
|
+
'decimal',
|
|
89
|
+
'int',
|
|
90
|
+
'sbyte',
|
|
91
|
+
'short',
|
|
92
|
+
'void',
|
|
93
|
+
'long',
|
|
94
|
+
'string',
|
|
95
|
+
'double'
|
|
96
|
+
];
|
|
97
|
+
|
|
98
|
+
var operators = [
|
|
99
|
+
'+',
|
|
100
|
+
'-',
|
|
101
|
+
'*',
|
|
102
|
+
'/',
|
|
103
|
+
'%',
|
|
104
|
+
'&',
|
|
105
|
+
'|',
|
|
106
|
+
'^',
|
|
107
|
+
'!',
|
|
108
|
+
'~',
|
|
109
|
+
'&&',
|
|
110
|
+
'||',
|
|
111
|
+
'++',
|
|
112
|
+
'--',
|
|
113
|
+
'<<',
|
|
114
|
+
'>>',
|
|
115
|
+
'==',
|
|
116
|
+
'!=',
|
|
117
|
+
'<',
|
|
118
|
+
'>',
|
|
119
|
+
'<=',
|
|
120
|
+
'>=',
|
|
121
|
+
'=',
|
|
122
|
+
'?',
|
|
123
|
+
'new',
|
|
124
|
+
'as',
|
|
125
|
+
'is',
|
|
126
|
+
'sizeof',
|
|
127
|
+
'typeof',
|
|
128
|
+
'checked',
|
|
129
|
+
'unchecked'
|
|
130
|
+
];
|
|
131
|
+
|
|
132
|
+
var values = ['this', 'true', 'false', 'null'];
|
|
133
|
+
|
|
134
|
+
language.push(values, {type: 'constant'});
|
|
135
|
+
language.push(types, {type: 'type'});
|
|
136
|
+
language.push(keywords, {type: 'keyword'});
|
|
137
|
+
language.push(operators, {type: 'operator'});
|
|
138
|
+
language.push(access, {type: 'access'});
|
|
139
|
+
|
|
140
|
+
// Functions
|
|
141
|
+
language.push(Rule.cStyleFunction);
|
|
142
|
+
language.push({
|
|
143
|
+
pattern: /(?:\.)([a-z_][a-z0-9_]+)/i,
|
|
144
|
+
matches: Rule.extractMatches({type: 'function'})
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
// Camel Case Types
|
|
148
|
+
language.push(Rule.camelCaseType);
|
|
149
|
+
|
|
150
|
+
// Comments
|
|
151
|
+
language.push(Rule.cStyleComment);
|
|
152
|
+
language.push(Rule.cppStyleComment);
|
|
153
|
+
language.push(Rule.webLink);
|
|
154
|
+
|
|
155
|
+
// Strings
|
|
156
|
+
language.push(Rule.singleQuotedString);
|
|
157
|
+
language.push(Rule.doubleQuotedString);
|
|
158
|
+
language.push(Rule.stringEscape);
|
|
159
|
+
|
|
160
|
+
language.push(Rule.decimalNumber);
|
|
161
|
+
language.push(Rule.hexNumber);
|
|
162
|
+
|
|
163
|
+
export default function register(syntax) {
|
|
164
|
+
syntax.register('csharp', language);
|
|
165
|
+
syntax.alias('csharp', ['c-sharp', 'c#']);
|
|
166
|
+
}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import {Language} from '../Language.js';
|
|
2
|
+
import {Rule} from '../Rule.js';
|
|
3
|
+
|
|
4
|
+
const language = new Language('css');
|
|
5
|
+
|
|
6
|
+
var colorNames = [
|
|
7
|
+
'AliceBlue',
|
|
8
|
+
'AntiqueWhite',
|
|
9
|
+
'Aqua',
|
|
10
|
+
'Aquamarine',
|
|
11
|
+
'Azure',
|
|
12
|
+
'Beige',
|
|
13
|
+
'Bisque',
|
|
14
|
+
'Black',
|
|
15
|
+
'BlanchedAlmond',
|
|
16
|
+
'Blue',
|
|
17
|
+
'BlueViolet',
|
|
18
|
+
'Brown',
|
|
19
|
+
'BurlyWood',
|
|
20
|
+
'CadetBlue',
|
|
21
|
+
'Chartreuse',
|
|
22
|
+
'Chocolate',
|
|
23
|
+
'Coral',
|
|
24
|
+
'CornflowerBlue',
|
|
25
|
+
'Cornsilk',
|
|
26
|
+
'Crimson',
|
|
27
|
+
'Cyan',
|
|
28
|
+
'DarkBlue',
|
|
29
|
+
'DarkCyan',
|
|
30
|
+
'DarkGoldenRod',
|
|
31
|
+
'DarkGray',
|
|
32
|
+
'DarkGreen',
|
|
33
|
+
'DarkKhaki',
|
|
34
|
+
'DarkMagenta',
|
|
35
|
+
'DarkOliveGreen',
|
|
36
|
+
'Darkorange',
|
|
37
|
+
'DarkOrchid',
|
|
38
|
+
'DarkRed',
|
|
39
|
+
'DarkSalmon',
|
|
40
|
+
'DarkSeaGreen',
|
|
41
|
+
'DarkSlateBlue',
|
|
42
|
+
'DarkSlateGray',
|
|
43
|
+
'DarkTurquoise',
|
|
44
|
+
'DarkViolet',
|
|
45
|
+
'DeepPink',
|
|
46
|
+
'DeepSkyBlue',
|
|
47
|
+
'DimGray',
|
|
48
|
+
'DodgerBlue',
|
|
49
|
+
'FireBrick',
|
|
50
|
+
'FloralWhite',
|
|
51
|
+
'ForestGreen',
|
|
52
|
+
'Fuchsia',
|
|
53
|
+
'Gainsboro',
|
|
54
|
+
'GhostWhite',
|
|
55
|
+
'Gold',
|
|
56
|
+
'GoldenRod',
|
|
57
|
+
'Gray',
|
|
58
|
+
'Green',
|
|
59
|
+
'GreenYellow',
|
|
60
|
+
'HoneyDew',
|
|
61
|
+
'HotPink',
|
|
62
|
+
'IndianRed',
|
|
63
|
+
'Indigo',
|
|
64
|
+
'Ivory',
|
|
65
|
+
'Khaki',
|
|
66
|
+
'Lavender',
|
|
67
|
+
'LavenderBlush',
|
|
68
|
+
'LawnGreen',
|
|
69
|
+
'LemonChiffon',
|
|
70
|
+
'LightBlue',
|
|
71
|
+
'LightCoral',
|
|
72
|
+
'LightCyan',
|
|
73
|
+
'LightGoldenRodYellow',
|
|
74
|
+
'LightGrey',
|
|
75
|
+
'LightGreen',
|
|
76
|
+
'LightPink',
|
|
77
|
+
'LightSalmon',
|
|
78
|
+
'LightSeaGreen',
|
|
79
|
+
'LightSkyBlue',
|
|
80
|
+
'LightSlateGray',
|
|
81
|
+
'LightSteelBlue',
|
|
82
|
+
'LightYellow',
|
|
83
|
+
'Lime',
|
|
84
|
+
'LimeGreen',
|
|
85
|
+
'Linen',
|
|
86
|
+
'Magenta',
|
|
87
|
+
'Maroon',
|
|
88
|
+
'MediumAquaMarine',
|
|
89
|
+
'MediumBlue',
|
|
90
|
+
'MediumOrchid',
|
|
91
|
+
'MediumPurple',
|
|
92
|
+
'MediumSeaGreen',
|
|
93
|
+
'MediumSlateBlue',
|
|
94
|
+
'MediumSpringGreen',
|
|
95
|
+
'MediumTurquoise',
|
|
96
|
+
'MediumVioletRed',
|
|
97
|
+
'MidnightBlue',
|
|
98
|
+
'MintCream',
|
|
99
|
+
'MistyRose',
|
|
100
|
+
'Moccasin',
|
|
101
|
+
'NavajoWhite',
|
|
102
|
+
'Navy',
|
|
103
|
+
'OldLace',
|
|
104
|
+
'Olive',
|
|
105
|
+
'OliveDrab',
|
|
106
|
+
'Orange',
|
|
107
|
+
'OrangeRed',
|
|
108
|
+
'Orchid',
|
|
109
|
+
'PaleGoldenRod',
|
|
110
|
+
'PaleGreen',
|
|
111
|
+
'PaleTurquoise',
|
|
112
|
+
'PaleVioletRed',
|
|
113
|
+
'PapayaWhip',
|
|
114
|
+
'PeachPuff',
|
|
115
|
+
'Peru',
|
|
116
|
+
'Pink',
|
|
117
|
+
'Plum',
|
|
118
|
+
'PowderBlue',
|
|
119
|
+
'Purple',
|
|
120
|
+
'Red',
|
|
121
|
+
'RosyBrown',
|
|
122
|
+
'RoyalBlue',
|
|
123
|
+
'SaddleBrown',
|
|
124
|
+
'Salmon',
|
|
125
|
+
'SandyBrown',
|
|
126
|
+
'SeaGreen',
|
|
127
|
+
'SeaShell',
|
|
128
|
+
'Sienna',
|
|
129
|
+
'Silver',
|
|
130
|
+
'SkyBlue',
|
|
131
|
+
'SlateBlue',
|
|
132
|
+
'SlateGray',
|
|
133
|
+
'Snow',
|
|
134
|
+
'SpringGreen',
|
|
135
|
+
'SteelBlue',
|
|
136
|
+
'Tan',
|
|
137
|
+
'Teal',
|
|
138
|
+
'Thistle',
|
|
139
|
+
'Tomato',
|
|
140
|
+
'Turquoise',
|
|
141
|
+
'Violet',
|
|
142
|
+
'Wheat',
|
|
143
|
+
'White',
|
|
144
|
+
'WhiteSmoke',
|
|
145
|
+
'Yellow',
|
|
146
|
+
'YellowGreen'
|
|
147
|
+
];
|
|
148
|
+
|
|
149
|
+
var colorPatterns = ['#[0-9a-f]{3,6}', 'rgba?\\(.+?\\)', 'hsla?\\(.+?\\)'];
|
|
150
|
+
|
|
151
|
+
// Helper function to escape regex special characters
|
|
152
|
+
function escapeRegex(str) {
|
|
153
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Helper function to convert string to token pattern
|
|
157
|
+
function convertStringToTokenPattern(pattern, caseSensitive) {
|
|
158
|
+
if (caseSensitive) {
|
|
159
|
+
return escapeRegex(pattern);
|
|
160
|
+
}
|
|
161
|
+
return pattern;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
var colorMatcher = [].concat(
|
|
165
|
+
colorNames.map(function (pattern) {
|
|
166
|
+
return '(' + convertStringToTokenPattern(pattern, true) + ')';
|
|
167
|
+
}),
|
|
168
|
+
colorPatterns.map(function (pattern) {
|
|
169
|
+
return '(' + convertStringToTokenPattern(pattern, false) + ')';
|
|
170
|
+
})
|
|
171
|
+
);
|
|
172
|
+
|
|
173
|
+
language.push({
|
|
174
|
+
pattern: /\(.*?\)/,
|
|
175
|
+
allow: '*',
|
|
176
|
+
disallow: ['property']
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
language.push({
|
|
180
|
+
pattern: /\s*([\:\.\[\]\"\'\=\s\w#\.\-,]+)\s+\{/m,
|
|
181
|
+
matches: Rule.extractMatches({type: 'selector', allow: ['string']})
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
language.push({
|
|
185
|
+
pattern: new RegExp(colorMatcher.join('|'), 'gi'),
|
|
186
|
+
type: 'color',
|
|
187
|
+
process: function (element, match) {
|
|
188
|
+
if (!element.textContent) return element;
|
|
189
|
+
|
|
190
|
+
var text = element.textContent;
|
|
191
|
+
|
|
192
|
+
// Create color box container
|
|
193
|
+
var colourBox = document.createElement('span');
|
|
194
|
+
colourBox.className = 'colour-box';
|
|
195
|
+
|
|
196
|
+
// Create sample color element
|
|
197
|
+
var sampleColour = document.createElement('span');
|
|
198
|
+
sampleColour.className = 'sample';
|
|
199
|
+
sampleColour.style.backgroundColor = text;
|
|
200
|
+
sampleColour.appendChild(document.createTextNode(' '));
|
|
201
|
+
colourBox.appendChild(sampleColour);
|
|
202
|
+
|
|
203
|
+
// Append to element
|
|
204
|
+
element.appendChild(colourBox);
|
|
205
|
+
return element;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
language.push(Rule.cStyleComment);
|
|
210
|
+
language.push(Rule.webLink);
|
|
211
|
+
|
|
212
|
+
language.push({
|
|
213
|
+
pattern: /\{(.|\n)*?\}/,
|
|
214
|
+
type: 'properties',
|
|
215
|
+
allow: '*'
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
language.push({
|
|
219
|
+
pattern: /\:(.*?(?=\})|(.|\n)*?(?=(\}|\;)))/,
|
|
220
|
+
matches: Rule.extractMatches({
|
|
221
|
+
type: 'value',
|
|
222
|
+
allow: ['color'],
|
|
223
|
+
only: ['properties']
|
|
224
|
+
})
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
language.push({
|
|
228
|
+
pattern: /([\-\w]+):/,
|
|
229
|
+
matches: Rule.extractMatches({
|
|
230
|
+
type: 'property',
|
|
231
|
+
process: Rule.webLinkProcess('http://cssdocs.org/')
|
|
232
|
+
})
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
// Strings
|
|
236
|
+
language.push(Rule.singleQuotedString);
|
|
237
|
+
language.push(Rule.doubleQuotedString);
|
|
238
|
+
language.push(Rule.stringEscape);
|
|
239
|
+
|
|
240
|
+
language.push(Rule.cStyleFunction);
|
|
241
|
+
|
|
242
|
+
export default function register(syntax) {
|
|
243
|
+
syntax.register('css', language);
|
|
244
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {Language} from '../Language.js';
|
|
2
|
+
|
|
3
|
+
const language = new Language('diff');
|
|
4
|
+
|
|
5
|
+
// File headers
|
|
6
|
+
language.push({pattern: /^\+\+\+.*$/m, type: 'add'});
|
|
7
|
+
language.push({pattern: /^\-\-\-.*$/m, type: 'del'});
|
|
8
|
+
|
|
9
|
+
// Chunk header (offset markers)
|
|
10
|
+
language.push({pattern: /^@@.*@@/m, type: 'offset'});
|
|
11
|
+
|
|
12
|
+
// Added lines
|
|
13
|
+
language.push({pattern: /^\+[^\+]{1}.*$/m, type: 'insert'});
|
|
14
|
+
|
|
15
|
+
// Removed lines
|
|
16
|
+
language.push({pattern: /^\-[^\-]{1}.*$/m, type: 'remove'});
|
|
17
|
+
|
|
18
|
+
// Note: The postprocess function that added classes to parent lines has been removed.
|
|
19
|
+
// CSS can be used to style entire lines based on the span types instead.
|
|
20
|
+
|
|
21
|
+
export default function register(syntax) {
|
|
22
|
+
syntax.register('diff', language);
|
|
23
|
+
syntax.alias('diff', ['patch']);
|
|
24
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {Language} from '../Language.js';
|
|
2
|
+
import {Rule} from '../Rule.js';
|
|
3
|
+
|
|
4
|
+
const language = new Language('go');
|
|
5
|
+
|
|
6
|
+
const keywords = [
|
|
7
|
+
'break',
|
|
8
|
+
'default',
|
|
9
|
+
'func',
|
|
10
|
+
'interface',
|
|
11
|
+
'select',
|
|
12
|
+
'case',
|
|
13
|
+
'defer',
|
|
14
|
+
'go',
|
|
15
|
+
'map',
|
|
16
|
+
'struct',
|
|
17
|
+
'chan',
|
|
18
|
+
'else',
|
|
19
|
+
'goto',
|
|
20
|
+
'package',
|
|
21
|
+
'switch',
|
|
22
|
+
'const',
|
|
23
|
+
'fallthrough',
|
|
24
|
+
'if',
|
|
25
|
+
'range',
|
|
26
|
+
'type',
|
|
27
|
+
'continue',
|
|
28
|
+
'for',
|
|
29
|
+
'import',
|
|
30
|
+
'return',
|
|
31
|
+
'var'
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const types = [
|
|
35
|
+
// Specific types first (before regexes that might partially match them)
|
|
36
|
+
'uintptr',
|
|
37
|
+
'string',
|
|
38
|
+
'byte',
|
|
39
|
+
'bool',
|
|
40
|
+
'rune',
|
|
41
|
+
// Then regex patterns
|
|
42
|
+
/u?int\d*/,
|
|
43
|
+
/float\d+/,
|
|
44
|
+
/complex\d+/
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
// Operators - ordered from longest to shortest to avoid partial matches
|
|
48
|
+
const operators = [
|
|
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
|
+
'.',
|
|
89
|
+
':'
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
const values = ['true', 'false', 'iota', 'nil'];
|
|
93
|
+
|
|
94
|
+
const functions = [
|
|
95
|
+
'append',
|
|
96
|
+
'cap',
|
|
97
|
+
'close',
|
|
98
|
+
'complex',
|
|
99
|
+
'copy',
|
|
100
|
+
'imag',
|
|
101
|
+
'len',
|
|
102
|
+
'make',
|
|
103
|
+
'new',
|
|
104
|
+
'panic',
|
|
105
|
+
'print',
|
|
106
|
+
'println',
|
|
107
|
+
'real',
|
|
108
|
+
'recover'
|
|
109
|
+
];
|
|
110
|
+
|
|
111
|
+
language.push(values, {type: 'constant'});
|
|
112
|
+
language.push(types, {type: 'type'});
|
|
113
|
+
language.push(keywords, {type: 'keyword'});
|
|
114
|
+
language.push(operators, {type: 'operator'});
|
|
115
|
+
language.push(functions, {type: 'function'});
|
|
116
|
+
|
|
117
|
+
language.push(Rule.cStyleFunction);
|
|
118
|
+
language.push(Rule.camelCaseType);
|
|
119
|
+
|
|
120
|
+
language.push(Rule.cStyleComment);
|
|
121
|
+
language.push(Rule.cppStyleComment);
|
|
122
|
+
language.push(Rule.webLink);
|
|
123
|
+
|
|
124
|
+
// Strings
|
|
125
|
+
language.push(Rule.singleQuotedString);
|
|
126
|
+
language.push(Rule.doubleQuotedString);
|
|
127
|
+
language.push(Rule.stringEscape);
|
|
128
|
+
|
|
129
|
+
// Numbers
|
|
130
|
+
language.push(Rule.decimalNumber);
|
|
131
|
+
language.push(Rule.hexNumber);
|
|
132
|
+
|
|
133
|
+
export default function register(syntax) {
|
|
134
|
+
syntax.register('go', language);
|
|
135
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {Language} from '../Language.js';
|
|
2
|
+
import {Rule} from '../Rule.js';
|
|
3
|
+
|
|
4
|
+
const language = new Language('haskell');
|
|
5
|
+
|
|
6
|
+
// Multi-word keywords need to be matched first (before single words)
|
|
7
|
+
language.push(
|
|
8
|
+
[
|
|
9
|
+
'data family',
|
|
10
|
+
'data instance',
|
|
11
|
+
'deriving instance',
|
|
12
|
+
'type family',
|
|
13
|
+
'type instance'
|
|
14
|
+
],
|
|
15
|
+
{type: 'keyword'}
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const keywords = [
|
|
19
|
+
'as',
|
|
20
|
+
'case',
|
|
21
|
+
'of',
|
|
22
|
+
'class',
|
|
23
|
+
'data',
|
|
24
|
+
'default',
|
|
25
|
+
'deriving',
|
|
26
|
+
'do',
|
|
27
|
+
'forall',
|
|
28
|
+
'foreign',
|
|
29
|
+
'hiding',
|
|
30
|
+
'if',
|
|
31
|
+
'then',
|
|
32
|
+
'else',
|
|
33
|
+
'import',
|
|
34
|
+
'infix',
|
|
35
|
+
'infixl',
|
|
36
|
+
'infixr',
|
|
37
|
+
'instance',
|
|
38
|
+
'let',
|
|
39
|
+
'in',
|
|
40
|
+
'mdo',
|
|
41
|
+
'module',
|
|
42
|
+
'newtype',
|
|
43
|
+
'proc',
|
|
44
|
+
'qualified',
|
|
45
|
+
'rec',
|
|
46
|
+
'type',
|
|
47
|
+
'where'
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
// Operators - ordered from longest to shortest to avoid partial matches
|
|
51
|
+
const operators = [
|
|
52
|
+
'::',
|
|
53
|
+
'->',
|
|
54
|
+
'<-',
|
|
55
|
+
'-<<',
|
|
56
|
+
'-<',
|
|
57
|
+
'??',
|
|
58
|
+
'`',
|
|
59
|
+
'|',
|
|
60
|
+
'\\',
|
|
61
|
+
'-',
|
|
62
|
+
'*',
|
|
63
|
+
'?',
|
|
64
|
+
'#',
|
|
65
|
+
'@',
|
|
66
|
+
'!',
|
|
67
|
+
'_',
|
|
68
|
+
'~',
|
|
69
|
+
'>',
|
|
70
|
+
';',
|
|
71
|
+
'{',
|
|
72
|
+
'}'
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
const values = ['True', 'False'];
|
|
76
|
+
|
|
77
|
+
language.push(values, {type: 'constant'});
|
|
78
|
+
language.push(keywords, {type: 'keyword'});
|
|
79
|
+
language.push(operators, {type: 'operator'});
|
|
80
|
+
|
|
81
|
+
// CamelCase types
|
|
82
|
+
language.push(Rule.camelCaseType);
|
|
83
|
+
|
|
84
|
+
// Comments
|
|
85
|
+
language.push({
|
|
86
|
+
pattern: /\-\-.*$/m,
|
|
87
|
+
type: 'comment',
|
|
88
|
+
allow: ['href']
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
language.push({
|
|
92
|
+
pattern: /\{\-[\s\S]*?\-\}/m,
|
|
93
|
+
type: 'comment',
|
|
94
|
+
allow: ['href']
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
language.push(Rule.webLink);
|
|
98
|
+
|
|
99
|
+
// Numbers
|
|
100
|
+
language.push(Rule.decimalNumber);
|
|
101
|
+
language.push(Rule.hexNumber);
|
|
102
|
+
|
|
103
|
+
// Strings
|
|
104
|
+
language.push(Rule.singleQuotedString);
|
|
105
|
+
language.push(Rule.doubleQuotedString);
|
|
106
|
+
language.push(Rule.stringEscape);
|
|
107
|
+
|
|
108
|
+
export default function register(syntax) {
|
|
109
|
+
syntax.register('haskell', language);
|
|
110
|
+
}
|