yapp 5.1.18 → 5.1.20

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.
Files changed (89) hide show
  1. package/example.js +5 -5
  2. package/lib/colours.js +1 -1
  3. package/lib/constants.js +1 -1
  4. package/lib/customEventTypes.js +1 -1
  5. package/lib/defaults.js +1 -1
  6. package/lib/div/gutter.js +1 -1
  7. package/lib/div/lineNumbers.js +1 -1
  8. package/lib/div/pretty.js +1 -1
  9. package/lib/div/syntax.js +1 -1
  10. package/lib/example/constants.js +1 -1
  11. package/lib/example/view/div/sizeable/left.js +1 -1
  12. package/lib/example/view/div/sizeable/middle.js +1 -1
  13. package/lib/example/view/div/sizeable/right.js +1 -1
  14. package/lib/example/view/div/sizeable/top.js +1 -1
  15. package/lib/example/view/input.js +1 -1
  16. package/lib/example/view/javascript.js +1 -1
  17. package/lib/example/view/json.js +1 -1
  18. package/lib/example/view/plainText.js +1 -1
  19. package/lib/example/view/subHeading.js +1 -1
  20. package/lib/example/view/textarea/bnf.js +1 -1
  21. package/lib/example/view/textarea/lexicalEntries.js +1 -1
  22. package/lib/example/view/textarea/parseTree.js +1 -1
  23. package/lib/example/view/textarea/tokens.js +1 -1
  24. package/lib/example/view/textarea.js +1 -1
  25. package/lib/example/view/xml.js +1 -1
  26. package/lib/example/view.js +1 -1
  27. package/lib/example/yapp.js +1 -1
  28. package/lib/example.js +1 -1
  29. package/lib/index.js +1 -1
  30. package/lib/languages.js +1 -1
  31. package/lib/lexer/javascript.js +1 -1
  32. package/lib/lexer/json.js +1 -1
  33. package/lib/lexer/plainText.js +1 -1
  34. package/lib/lexer/xml.js +1 -1
  35. package/lib/mixins/style.js +1 -1
  36. package/lib/parser/javascript.js +2 -2
  37. package/lib/parser/json.js +2 -2
  38. package/lib/parser/plainText.js +2 -2
  39. package/lib/parser/xml.js +2 -2
  40. package/lib/plugin/javascript.js +1 -1
  41. package/lib/plugin/json.js +1 -1
  42. package/lib/plugin/plainText.js +1 -1
  43. package/lib/plugin/xml.js +1 -1
  44. package/lib/plugin.js +1 -1
  45. package/lib/prettyPrinter.js +1 -1
  46. package/lib/processor/javascript.js +1 -1
  47. package/lib/processor/json.js +1 -1
  48. package/lib/processor/plainText.js +1 -1
  49. package/lib/processor/xml.js +1 -1
  50. package/lib/processor.js +1 -1
  51. package/lib/renderYappStyles.js +1 -1
  52. package/lib/richTextarea.js +1 -1
  53. package/lib/scheme/colour.js +1 -1
  54. package/lib/scheme/syntax/default.js +1 -1
  55. package/lib/scheme/syntax/javaScript.js +1 -1
  56. package/lib/scheme/syntax/json.js +1 -1
  57. package/lib/scheme/syntax/xml.js +1 -1
  58. package/lib/style/firaCode.js +1 -1
  59. package/lib/style/syntax/default.js +1 -1
  60. package/lib/style/syntax/javaScript.js +1 -1
  61. package/lib/style/syntax/json.js +1 -1
  62. package/lib/style/syntax/xml.js +1 -1
  63. package/lib/style/syntax.js +1 -1
  64. package/lib/style/yapp.js +1 -1
  65. package/lib/styles.js +1 -1
  66. package/lib/token/significant/argument.js +1 -1
  67. package/lib/token/significant/attribute.js +1 -1
  68. package/lib/token/significant/comment.js +1 -1
  69. package/lib/token/significant/error.js +1 -1
  70. package/lib/token/significant/jsx/attributeName.js +1 -1
  71. package/lib/token/significant/jsx/tagName.js +1 -1
  72. package/lib/token/significant/name.js +1 -1
  73. package/lib/token/significant/string.js +1 -1
  74. package/lib/token/significant/variable.js +1 -1
  75. package/lib/tokenTypes.js +1 -1
  76. package/lib/utilities/configuration.js +1 -1
  77. package/lib/utilities/content.js +1 -1
  78. package/lib/utilities/css.js +1 -1
  79. package/lib/utilities/element.js +1 -1
  80. package/lib/utilities/plugin.js +1 -1
  81. package/lib/utilities/rules.js +1 -1
  82. package/lib/utilities/scrollbar.js +1 -1
  83. package/lib/utilities/tokens.js +1 -1
  84. package/lib/yapp.js +1 -1
  85. package/package.json +3 -3
  86. package/src/parser/javascript.js +107 -119
  87. package/src/parser/json.js +7 -7
  88. package/src/parser/plainText.js +1 -1
  89. package/src/parser/xml.js +15 -15
@@ -8,276 +8,264 @@ const { rulesFromBNF, parserFromRules } = parserUtilities;
8
8
 
9
9
  const bnf = `
10
10
 
11
- document ::= preamble? ( statement | function | class | error )* ;
11
+ javaScript ::= preamble? ( statement | function | class | error )* ;
12
12
 
13
13
 
14
14
 
15
- preamble ::= "\\"use strict\\";" ;
15
+ preamble ::= "\\"use strict\\";" ;
16
16
 
17
17
 
18
18
 
19
- statement ::= statementBody... ";"
19
+ statement ::= statementBody... ";"
20
20
 
21
- | "{" ( statement | function )* "}"
21
+ | "{" ( statement | function )* "}"
22
22
 
23
- | "if" "(" expression... ")" statement ( "else" statement )?
23
+ | "if" "(" expression... ")" statement ( "else" statement )?
24
24
 
25
- | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
25
+ | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
26
26
 
27
- | ( "(" variable "in" expression... ")" statement )
27
+ | ( "(" variable "in" expression... ")" statement )
28
28
 
29
- | ( "await"? "(" variable "of" expression... ")" statement )
30
-
31
- )
29
+ | ( "await"? "(" variable "of" expression... ")" statement ) )
32
30
 
33
- | "do" statement "while" "(" expression... ")"
31
+ | "do" statement "while" "(" expression... ")"
34
32
 
35
- | "while" "(" expression... ")" statement
33
+ | "while" "(" expression... ")" statement
36
34
 
37
- | "switch" "(" expression... ")" "{" case* defaultCase? "}"
35
+ | "switch" "(" expression... ")" "{" case* defaultCase? "}"
38
36
 
39
- | try ( ( catch* finally ) | catch+ )
37
+ | try ( ( catch* finally ) | catch+ )
40
38
 
41
- ;
39
+ ;
42
40
 
43
41
 
44
42
 
45
43
 
46
- class ::= ( "export" "default"? )? "class" name classBody
44
+ class ::= ( "export" "default"? )? "class" name classBody
47
45
 
48
- | "export" "default" "class" classBody
46
+ | "export" "default" "class" classBody
49
47
 
50
- ;
48
+ ;
51
49
 
52
50
 
53
51
 
54
- function ::= ( "export" "default"? )? "async"? "function" name functionBody
52
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
55
53
 
56
- | "export" "default" "async"? "function" functionBody
54
+ | "export" "default" "async"? "function" functionBody
57
55
 
58
- ;
56
+ ;
59
57
 
60
58
 
61
59
 
62
- statementBody ::= "import" ( [string-literal]
60
+ statementBody ::= "import" ( [string-literal]
63
61
 
64
- | ( name "from" [string-literal] )
62
+ | ( name "from" [string-literal] )
65
63
 
66
- | ( "{" names "}" "from" [string-literal] )
64
+ | ( "{" names "}" "from" [string-literal] )
67
65
 
68
- | ( "*" "as" name "from" [string-literal] )
66
+ | ( "*" "as" name "from" [string-literal] ) )
69
67
 
70
- )
68
+ | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
71
69
 
72
- | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
70
+ | ( "const" "{" fields "}" "=" expression )
73
71
 
74
- | ( "const" "{" fields "}" "=" expression )
72
+ | ( "{" "default" "}" "from" [string-literal] )
75
73
 
76
- | ( "{" "default" "}" "from" [string-literal] )
74
+ | ( "*" ( "as" name )? "from" [string-literal] ) )
77
75
 
78
- | ( "*" ( "as" name )? "from" [string-literal] )
76
+ | "export"? ( ( "var" var ( "," var )* )
79
77
 
80
- )
78
+ | ( "let" let ( "," let )* )
81
79
 
82
- | "export"? ( ( "var" var ( "," var )* )
83
-
84
- | ( "let" let ( "," let )* )
85
-
86
- | ( "const" const ( "," const )* )
87
-
88
- )
80
+ | ( "const" const ( "," const )* ) )
89
81
 
90
- | ( "export" "default" )? expression
82
+ | ( "export" "default" )? expression
91
83
 
92
- | "return" ( ( "(" expression ")" ) | expression? )
84
+ | "return" ( ( "(" expression ")" ) | expression? )
93
85
 
94
- | "throw" expression
86
+ | "throw" expression
95
87
 
96
- | "delete" expression
88
+ | "delete" expression
97
89
 
98
- | "break"
90
+ | "break"
99
91
 
100
- | "continue"
92
+ | "continue"
101
93
 
102
- | "debugger"
94
+ | "debugger"
103
95
 
104
- ;
105
-
106
-
96
+ ;
107
97
 
108
- functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
109
98
 
110
99
 
100
+ functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
111
101
 
112
- classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
113
102
 
114
103
 
104
+ classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
115
105
 
116
- constructor ::= "constructor" functionBody ;
117
106
 
118
- method ::= "static"? name functionBody ;
119
107
 
120
- field ::= "static"? name "=" expression... ";" ;
108
+ constructor ::= "constructor" functionBody ;
121
109
 
110
+ method ::= "static"? name functionBody ;
122
111
 
112
+ field ::= "static"? name "=" expression... ";" ;
123
113
 
124
- var ::= variable ( "=" expression )? | destructure "=" expression ;
125
114
 
126
- let ::= variable ( "=" expression )? | destructure "=" expression ;
127
115
 
128
- const ::= ( variable | destructure ) "=" expression ;
116
+ var ::= variable ( "=" expression )? | destructure "=" expression ;
129
117
 
118
+ let ::= variable ( "=" expression )? | destructure "=" expression ;
130
119
 
120
+ const ::= ( variable | destructure ) "=" expression ;
131
121
 
132
- try ::= "try" "{" statement+ "}" ;
133
122
 
134
- catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
135
123
 
136
- finally ::= "finally" "{" statement+ "}" ;
124
+ try ::= "try" "{" statement+ "}" ;
137
125
 
126
+ catch ::= "catch" "(" [identifier] ")" "{" statement+ "}" ;
138
127
 
128
+ finally ::= "finally" "{" statement+ "}" ;
139
129
 
140
- case ::= "case" expression ":" statement ( "break" ";" )? ;
141
130
 
142
- defaultCase ::= "default" ":" statement ( "break" ";" )? ;
143
131
 
132
+ case ::= "case" expression ":" statement ( "break" ";" )? ;
144
133
 
134
+ defaultCase ::= "default" ":" statement ( "break" ";" )? ;
145
135
 
146
- initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
147
136
 
148
137
 
138
+ initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
149
139
 
150
- destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
151
140
 
152
- | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
153
141
 
154
- ;
142
+ destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
155
143
 
144
+ | "{" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "}"
156
145
 
146
+ ;
157
147
 
158
- expression ::= jsx
159
148
 
160
- | json
161
149
 
162
- | arrowFunction
150
+ expression ::= jsx
163
151
 
164
- | templateLiteral
152
+ | json
165
153
 
166
- | anonymousFunction
154
+ | arrowFunction
167
155
 
168
- | "(" expression ")"
156
+ | templateLiteral
169
157
 
170
- | "{" ( property ( "," property )* )? "}"
158
+ | anonymousFunction
171
159
 
172
- | "[" ( expression ( "," expression )* ","? )? "]"
160
+ | "(" expression ")"
173
161
 
174
- | "typeof" ( expression | ( "(" expression ")") )
162
+ | "{" ( property ( "," property )* )? "}"
175
163
 
176
- | "void" ( expression | ( "(" expression ")") )
164
+ | "[" ( expression ( "," expression )* ","? )? "]"
177
165
 
178
- | "new" name<NO_WHITESPACE>"(" expressions? ")"
166
+ | "typeof" ( expression | ( "(" expression ")") )
179
167
 
180
- | [operator]<NO_WHITESPACE>expression
168
+ | "void" ( expression | ( "(" expression ")") )
181
169
 
182
- | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
170
+ | "new" name<NO_WHITESPACE>"(" expressions? ")"
183
171
 
184
- | ( "[" expressions "]" )
172
+ | [operator]<NO_WHITESPACE>expression
185
173
 
186
- | ( "(" expressions? ")" )
174
+ | expression<NO_WHITESPACE>( ( "."<NO_WHITESPACE>name )
187
175
 
188
- | templateLiteral
176
+ | ( "[" expressions "]" )
189
177
 
190
- | [operator]
178
+ | ( "(" expressions? ")" )
191
179
 
192
- )
180
+ | templateLiteral
193
181
 
194
- | expression ( ( [operator] expression )
182
+ | [operator] )
195
183
 
196
- | ( "?" expression ":" expression )
184
+ | expression ( ( [operator] expression )
197
185
 
198
- | ( "instanceof" expression )
186
+ | ( "?" expression ":" expression )
199
187
 
200
- | ( "in" expression )
188
+ | ( "instanceof" expression )
201
189
 
202
- )
190
+ | ( "in" expression ) )
203
191
 
204
- | [number]
192
+ | [number]
205
193
 
206
- | variable
194
+ | variable
207
195
 
208
- | primitive
196
+ | primitive
209
197
 
210
- | importMeta
198
+ | importMeta
211
199
 
212
- | [string-literal]
200
+ | [string-literal]
213
201
 
214
- | "super" | "this" | "true" | "false" | "null" | "undefined"
202
+ | "super" | "this" | "true" | "false" | "null" | "undefined"
215
203
 
216
- ;
204
+ ;
217
205
 
218
206
 
219
207
 
220
- jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
208
+ jsx ::= jsxCompleteTag | jsxStartTag ( jsx | ( "{" expression? "}" ) | string )* jsxEndTag ;
221
209
 
222
- jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
210
+ jsxCompleteTag ::= "<"<NO_WHITESPACE>name jsxAttribute* "/>" ;
223
211
 
224
- jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
212
+ jsxStartTag ::= "<"<NO_WHITESPACE>name jsxAttribute* ">" ;
225
213
 
226
- jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
214
+ jsxEndTag ::= "</"<NO_WHITESPACE>name ">" ;
227
215
 
228
- jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
216
+ jsxAttribute ::= name ( <NO_WHITESPACE>"=" ( ( <NO_WHITESPACE>[string-literal] ) | ( <NO_WHITESPACE>"{" expression "}" ) ) )? ;
229
217
 
230
218
 
231
219
 
232
- json ::= jsonArray | jsonObject ;
220
+ json ::= jsonArray | jsonObject ;
233
221
 
234
- jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
222
+ jsonArray ::= "[" ( jsonElement ( "," jsonElement )* )? "]" ;
235
223
 
236
- jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
224
+ jsonObject ::= "{" ( [string-literal] ":" jsonElement ( "," [string-literal] ":" jsonElement )* )? "}" ;
237
225
 
238
- jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
226
+ jsonElement ::= json | [string-literal] | [number] | "true" | "false" | "null" ;
239
227
 
240
228
 
241
229
 
242
- arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
230
+ arrowFunction ::= "(" arguments? ")" "=>" ( expression | ( "{" statement* "}" ) ) ;
243
231
 
244
232
 
245
233
 
246
- templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
234
+ templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
247
235
 
248
236
 
249
237
 
250
- string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
238
+ string ::= ( [number] | [special] | [operator]| [keyword] | [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
251
239
 
252
- property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
240
+ property ::= ( ( ( name | [string-literal] ) ":" expression ) | variable ) ;
253
241
 
254
- importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
242
+ importMeta ::= "import"<NO_WHITESPACE>"."<NO_WHITESPACE>"meta" ;
255
243
 
256
244
 
257
245
 
258
- expressions ::= expression ( "," expression )* ;
246
+ expressions ::= expression ( "," expression )* ;
259
247
 
260
- arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
248
+ arguments ::= spreadArgument | ( argument ( "," argument )* ( "," spreadArgument )? ) ;
261
249
 
262
- fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
250
+ fields ::= name ( ":" name )? ( "," name ( ":" name )? )* ;
263
251
 
264
- names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
252
+ names ::= name ( "as" name )? ( "," name ( "as" name )? )* ;
265
253
 
266
254
 
267
255
 
268
- spreadArgument ::= "..."<NO_WHITESPACE>variable ;
256
+ spreadArgument ::= "..."<NO_WHITESPACE>variable ;
269
257
 
270
- argument ::= variable ( "=" expression )? ;
258
+ argument ::= variable ( "=" expression )? ;
271
259
 
272
- variable ::= [identifier] ;
260
+ variable ::= [identifier] ;
273
261
 
274
- label ::= [identifier] ;
262
+ label ::= [identifier] ;
275
263
 
276
- name ::= [identifier] ;
264
+ name ::= [identifier] ;
277
265
 
278
266
 
279
267
 
280
- error. ::= . ;
268
+ error. ::= . ;
281
269
 
282
270
  `;
283
271
 
@@ -7,23 +7,23 @@ const { rulesFromBNF, parserFromRules } = parserUtilities;
7
7
 
8
8
  const bnf = `
9
9
 
10
- document ::= element error*
10
+ json ::= element error*
11
11
 
12
- | error+
12
+ | error+
13
13
 
14
- ;
14
+ ;
15
15
 
16
16
 
17
- element ::= array | object | [string-literal] | [number] | "true" | "false" | "null" ;
17
+ element ::= array | object | [string-literal] | [number] | "true" | "false" | "null" ;
18
18
 
19
19
 
20
- object ::= "{" ( [string-literal] ":" element ( "," [string-literal] ":" element )* )? "}" ;
20
+ object ::= "{" ( [string-literal] ":" element ( "," [string-literal] ":" element )* )? "}" ;
21
21
 
22
22
 
23
- array ::= "[" ( element ( "," element )* )? "]" ;
23
+ array ::= "[" ( element ( "," element )* )? "]" ;
24
24
 
25
25
 
26
- error. ::= . ;
26
+ error. ::= . ;
27
27
 
28
28
  `,
29
29
  rules = rulesFromBNF(bnf);
@@ -7,7 +7,7 @@ const { rulesFromBNF, parserFromRules } = parserUtilities;
7
7
 
8
8
  const bnf = `
9
9
 
10
- document ::= .+ ;
10
+ plainText ::= .+ ;
11
11
 
12
12
  `,
13
13
  rules = rulesFromBNF(bnf);
package/src/parser/xml.js CHANGED
@@ -7,47 +7,47 @@ const { rulesFromBNF, parserFromRules } = parserUtilities;
7
7
 
8
8
  const bnf = `
9
9
 
10
- document ::= declaration? comment* ( simpleElement | complexElement ) comment* error*
10
+ xml ::= declaration? comment* ( simpleElement | complexElement ) comment* error*
11
11
 
12
- | error+
12
+ | error+
13
13
 
14
- ;
14
+ ;
15
15
 
16
16
 
17
- declaration ::= "<?"<NO_WHITESPACE>"xml" attribute* "?>" ;
17
+ declaration ::= "<?"<NO_WHITESPACE>"xml" attribute* "?>" ;
18
18
 
19
19
 
20
- element ::= comment | simpleElement | complexElement ;
20
+ element ::= comment | simpleElement | complexElement ;
21
21
 
22
22
 
23
- comment ::= "<!--" text* "-->" ;
23
+ comment ::= "<!--" text* "-->" ;
24
24
 
25
25
 
26
- simpleElement ::= completeTag ;
26
+ simpleElement ::= completeTag ;
27
27
 
28
28
 
29
- complexElement ::= startTag ( element | text )* endTag ;
29
+ complexElement ::= startTag ( element | text )* endTag ;
30
30
 
31
31
 
32
- completeTag ::= "<"<NO_WHITESPACE>name attribute* "/>" ;
32
+ completeTag ::= "<"<NO_WHITESPACE>name attribute* "/>" ;
33
33
 
34
34
 
35
- startTag ::= "<"<NO_WHITESPACE>name attribute* ">" ;
35
+ startTag ::= "<"<NO_WHITESPACE>name attribute* ">" ;
36
36
 
37
37
 
38
- endTag ::= "</"<NO_WHITESPACE>name ">" ;
38
+ endTag ::= "</"<NO_WHITESPACE>name ">" ;
39
39
 
40
40
 
41
- attribute ::= [identifier]<NO_WHITESPACE>"="<NO_WHITESPACE>[string-literal] ;
41
+ attribute ::= [identifier]<NO_WHITESPACE>"="<NO_WHITESPACE>[string-literal] ;
42
42
 
43
43
 
44
- text ::= ( [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
44
+ text ::= ( [identifier] | [string-literal]| [broken-string-literal] | [unassigned] )+ ;
45
45
 
46
46
 
47
- name ::= [identifier] ;
47
+ name ::= [identifier] ;
48
48
 
49
49
 
50
- error. ::= . ;
50
+ error. ::= . ;
51
51
 
52
52
  `,
53
53
  rules = rulesFromBNF(bnf);