yapp 2.2.177 → 2.2.182
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.
- package/example.js +824 -362
- package/lib/colours.js +2 -2
- package/lib/example/view.js +1 -2
- package/lib/parser/javascript.js +2 -2
- package/lib/processor/javascript.js +10 -6
- package/lib/scheme/syntax/javaScript.js +9 -5
- package/lib/style/syntax/javaScript.js +2 -2
- package/lib/token/significant/jsx/attributeName.js +117 -0
- package/lib/token/significant/{jsx.js → jsx/tagName.js} +12 -12
- package/lib/tokenTypes.js +9 -5
- package/package.json +2 -2
- package/src/colours.js +1 -1
- package/src/example/view.js +0 -2
- package/src/parser/javascript.js +75 -67
- package/src/processor/javascript.js +7 -8
- package/src/scheme/syntax/javaScript.js +5 -3
- package/src/style/syntax/javaScript.js +5 -6
- package/src/token/significant/jsx/attributeName.js +11 -0
- package/src/token/significant/jsx/tagName.js +11 -0
- package/src/tokenTypes.js +2 -1
- package/src/token/significant/jsx.js +0 -11
package/lib/tokenTypes.js
CHANGED
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
JSX_TOKEN_TYPE: function() {
|
|
13
|
-
return JSX_TOKEN_TYPE;
|
|
14
|
-
},
|
|
15
12
|
NAME_TOKEN_TYPE: function() {
|
|
16
13
|
return NAME_TOKEN_TYPE;
|
|
17
14
|
},
|
|
@@ -29,14 +26,21 @@ _export(exports, {
|
|
|
29
26
|
},
|
|
30
27
|
ATTRIBUTE_TOKEN_TYPE: function() {
|
|
31
28
|
return ATTRIBUTE_TOKEN_TYPE;
|
|
29
|
+
},
|
|
30
|
+
JSX_TAG_NAME_TOKEN_TYPE: function() {
|
|
31
|
+
return JSX_TAG_NAME_TOKEN_TYPE;
|
|
32
|
+
},
|
|
33
|
+
JSX_ATTRIBUTE_NAME_TOKEN_TYPE: function() {
|
|
34
|
+
return JSX_ATTRIBUTE_NAME_TOKEN_TYPE;
|
|
32
35
|
}
|
|
33
36
|
});
|
|
34
|
-
var JSX_TOKEN_TYPE = "jsx";
|
|
35
37
|
var NAME_TOKEN_TYPE = "name";
|
|
36
38
|
var ERROR_TOKEN_TYPE = "error";
|
|
37
39
|
var COMMENT_TOKEN_TYPE = "comment";
|
|
38
40
|
var ARGUMENT_TOKEN_TYPE = "argument";
|
|
39
41
|
var VARIABLE_TOKEN_TYPE = "variable";
|
|
40
42
|
var ATTRIBUTE_TOKEN_TYPE = "attribute";
|
|
43
|
+
var JSX_TAG_NAME_TOKEN_TYPE = "jsx-tag-name";
|
|
44
|
+
var JSX_ATTRIBUTE_NAME_TOKEN_TYPE = "jsx-attribute-name";
|
|
41
45
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlblR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgTkFNRV9UT0tFTl9UWVBFID0gXCJuYW1lXCI7XG5leHBvcnQgY29uc3QgRVJST1JfVE9LRU5fVFlQRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBDT01NRU5UX1RPS0VOX1RZUEUgPSBcImNvbW1lbnRcIjtcbmV4cG9ydCBjb25zdCBBUkdVTUVOVF9UT0tFTl9UWVBFID0gXCJhcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX1RPS0VOX1RZUEUgPSBcInZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgQVRUUklCVVRFX1RPS0VOX1RZUEUgPSBcImF0dHJpYnV0ZVwiO1xuZXhwb3J0IGNvbnN0IEpTWF9UQUdfTkFNRV9UT0tFTl9UWVBFID0gXCJqc3gtdGFnLW5hbWVcIjtcbmV4cG9ydCBjb25zdCBKU1hfQVRUUklCVVRFX05BTUVfVE9LRU5fVFlQRSA9IFwianN4LWF0dHJpYnV0ZS1uYW1lXCI7XG4iXSwibmFtZXMiOlsiTkFNRV9UT0tFTl9UWVBFIiwiRVJST1JfVE9LRU5fVFlQRSIsIkNPTU1FTlRfVE9LRU5fVFlQRSIsIkFSR1VNRU5UX1RPS0VOX1RZUEUiLCJWQVJJQUJMRV9UT0tFTl9UWVBFIiwiQVRUUklCVVRFX1RPS0VOX1RZUEUiLCJKU1hfVEFHX05BTUVfVE9LRU5fVFlQRSIsIkpTWF9BVFRSSUJVVEVfTkFNRV9UT0tFTl9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7Ozs7Ozs7O0lBRUFBLGVBQWU7ZUFBZkEsZUFBZTs7SUFDZkMsZ0JBQWdCO2VBQWhCQSxnQkFBZ0I7O0lBQ2hCQyxrQkFBa0I7ZUFBbEJBLGtCQUFrQjs7SUFDbEJDLG1CQUFtQjtlQUFuQkEsbUJBQW1COztJQUNuQkMsbUJBQW1CO2VBQW5CQSxtQkFBbUI7O0lBQ25CQyxvQkFBb0I7ZUFBcEJBLG9CQUFvQjs7SUFDcEJDLHVCQUF1QjtlQUF2QkEsdUJBQXVCOztJQUN2QkMsNkJBQTZCO2VBQTdCQSw2QkFBNkI7OztBQVBuQyxJQUFNUCxlQUFlLEdBQUcsTUFBTSxBQUFDO0FBQy9CLElBQU1DLGdCQUFnQixHQUFHLE9BQU8sQUFBQztBQUNqQyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFTLEFBQUM7QUFDckMsSUFBTUMsbUJBQW1CLEdBQUcsVUFBVSxBQUFDO0FBQ3ZDLElBQU1DLG1CQUFtQixHQUFHLFVBQVUsQUFBQztBQUN2QyxJQUFNQyxvQkFBb0IsR0FBRyxXQUFXLEFBQUM7QUFDekMsSUFBTUMsdUJBQXVCLEdBQUcsY0FBYyxBQUFDO0FBQy9DLElBQU1DLDZCQUE2QixHQUFHLG9CQUFvQixBQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yapp",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "2.2.
|
|
4
|
+
"version": "2.2.182",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/yapp",
|
|
7
7
|
"description": "Yet Another Pretty Printer.",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"easy-with-style": "^3.0.176",
|
|
16
16
|
"necessary": "^11.0.40",
|
|
17
17
|
"occam-dom": "^3.0.171",
|
|
18
|
-
"occam-grammar-utilities": "^7.0.
|
|
18
|
+
"occam-grammar-utilities": "^7.0.32",
|
|
19
19
|
"occam-lexers": "^16.0.46",
|
|
20
20
|
"occam-parsers": "^16.0.101"
|
|
21
21
|
},
|
package/src/colours.js
CHANGED
|
@@ -12,7 +12,7 @@ export const woodsmoke = "#0c0d0f";
|
|
|
12
12
|
|
|
13
13
|
export const citron = "#86b923";
|
|
14
14
|
export const sushi = "#7fa82f";
|
|
15
|
-
export const oliveDrab = "#
|
|
15
|
+
export const oliveDrab = "#6B9825";
|
|
16
16
|
export const rifleGreen = "#414833";
|
|
17
17
|
export const logCabin = "#24301d";
|
|
18
18
|
export const blackOlive = "#1c2412";
|
package/src/example/view.js
CHANGED
|
@@ -19,8 +19,6 @@ import MiddleSizeableDiv from "./div/sizeable/middle";
|
|
|
19
19
|
import ParseTreeTextarea from "./textarea/parseTree";
|
|
20
20
|
import LexicalEntriesTextarea from "./textarea/lexicalEntries";
|
|
21
21
|
|
|
22
|
-
import { ruleMapFromRules, startRuleFromRules } from "../utilities/rules";
|
|
23
|
-
|
|
24
22
|
const bnfLexer = BNFLexer.fromNothing(),
|
|
25
23
|
bnfParser = BNFParser.fromNothing();
|
|
26
24
|
|
package/src/parser/javascript.js
CHANGED
|
@@ -4,8 +4,11 @@ import YappParser from "../parser/yapp";
|
|
|
4
4
|
|
|
5
5
|
const bnf = `
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
document ::= preamble ( statement | function | class | error )*
|
|
8
|
+
|
|
9
|
+
| ( statement | function | class | error )+
|
|
10
|
+
|
|
11
|
+
;
|
|
9
12
|
|
|
10
13
|
|
|
11
14
|
|
|
@@ -13,37 +16,50 @@ const bnf = `
|
|
|
13
16
|
|
|
14
17
|
|
|
15
18
|
|
|
16
|
-
statement ::=
|
|
17
|
-
|
|
18
|
-
| function
|
|
19
|
+
statement ::= statementBody... ";"
|
|
20
|
+
|
|
21
|
+
| "{" ( statement | function )* "}"
|
|
22
|
+
|
|
23
|
+
| "if" "(" expression... ")" statement ( "else" statement )?
|
|
19
24
|
|
|
20
|
-
|
|
|
25
|
+
| "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
| ( "(" variable "in" expression... ")" statement )
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
| ( "await"? "(" variable "of" expression... ")" statement )
|
|
30
|
+
|
|
31
|
+
)
|
|
25
32
|
|
|
26
|
-
|
|
33
|
+
| "do" statement "while" "(" expression... ")"
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
| "while" "(" expression... ")" statement
|
|
36
|
+
|
|
37
|
+
| "switch" "(" expression... ")" "{" case* defaultCase? "}"
|
|
29
38
|
|
|
30
|
-
|
|
|
39
|
+
| try ( ( catch* finally ) | catch+ )
|
|
31
40
|
|
|
32
|
-
|
|
41
|
+
;
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ::= ( "export" "default"? )? "class" name classBody
|
|
47
|
+
|
|
48
|
+
| "export" "default" "class" classBody
|
|
49
|
+
|
|
50
|
+
;
|
|
33
51
|
|
|
34
|
-
| "export" "default" ( anonymousClass | anonymousFunction | anonymousGenerator )
|
|
35
52
|
|
|
36
|
-
| "export" ( ( "export" "{" names "}" ( "from" [string-literal] )? )
|
|
37
53
|
|
|
38
|
-
|
|
54
|
+
function ::= ( "export" "default"? )? "async"? "function" name functionBody
|
|
55
|
+
|
|
56
|
+
| "export" "default" "async"? "function" functionBody
|
|
39
57
|
|
|
40
|
-
|
|
58
|
+
;
|
|
41
59
|
|
|
42
|
-
| ( "export" "*" ( "as" name )? "from" [string-literal] )
|
|
43
60
|
|
|
44
|
-
) ";"
|
|
45
61
|
|
|
46
|
-
|
|
62
|
+
statementBody ::= "import" ( [string-literal]
|
|
47
63
|
|
|
48
64
|
| ( name "from" [string-literal] )
|
|
49
65
|
|
|
@@ -51,75 +67,67 @@ const bnf = `
|
|
|
51
67
|
|
|
52
68
|
| ( "*" "as" name "from" [string-literal] )
|
|
53
69
|
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
| label ":" statement
|
|
70
|
+
)
|
|
57
71
|
|
|
58
|
-
| "{"
|
|
72
|
+
| "export" ( ( "{" names "}" ( "from" [string-literal] )? )
|
|
59
73
|
|
|
60
|
-
|
|
74
|
+
| ( "const" "{" fields "}" "=" expression )
|
|
61
75
|
|
|
62
|
-
|
|
76
|
+
| ( "{" "default" "}" "from" [string-literal] )
|
|
63
77
|
|
|
64
|
-
|
|
78
|
+
| ( "*" ( "as" name )? "from" [string-literal] )
|
|
65
79
|
|
|
66
|
-
|
|
80
|
+
)
|
|
67
81
|
|
|
68
|
-
| "
|
|
69
|
-
|
|
70
|
-
| "throw" expression ";"
|
|
71
|
-
|
|
72
|
-
| "delete" expression ";"
|
|
82
|
+
| "export"? ( ( "var" var ( "," var )* )
|
|
73
83
|
|
|
74
|
-
|
|
84
|
+
| ( "let" let ( "," let )* )
|
|
75
85
|
|
|
76
|
-
|
|
86
|
+
| ( "const" const ( "," const )* )
|
|
77
87
|
|
|
78
|
-
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
| ( "export" "default" )? expression
|
|
79
91
|
|
|
80
|
-
| "
|
|
92
|
+
| "return" expression?
|
|
81
93
|
|
|
82
|
-
| "
|
|
94
|
+
| "throw" expression
|
|
83
95
|
|
|
84
|
-
| "
|
|
96
|
+
| "delete" expression
|
|
85
97
|
|
|
86
|
-
| "
|
|
98
|
+
| "break"
|
|
87
99
|
|
|
88
|
-
| "
|
|
100
|
+
| "continue"
|
|
89
101
|
|
|
102
|
+
| "debugger"
|
|
103
|
+
|
|
90
104
|
;
|
|
91
105
|
|
|
92
106
|
|
|
93
107
|
|
|
94
|
-
|
|
108
|
+
functionBody ::= "(" arguments? ")" "{" ( statement | function )* "}" ;
|
|
95
109
|
|
|
96
|
-
function ::= "async"? "function" name functionBody ;
|
|
97
110
|
|
|
98
|
-
generator ::= "async"? "function" <NO_WHITESPACE>"*" name functionBody ;
|
|
99
111
|
|
|
100
|
-
|
|
112
|
+
classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
|
|
101
113
|
|
|
102
|
-
anonymousFunction ::= "async"? "function" functionBody ;
|
|
103
114
|
|
|
104
|
-
anonymousGenerator ::= "async"? "function" <NO_WHITESPACE>"*" functionBody ;
|
|
105
115
|
|
|
106
116
|
constructor ::= "constructor" functionBody ;
|
|
107
117
|
|
|
108
118
|
method ::= "static"? name functionBody ;
|
|
109
119
|
|
|
110
|
-
field ::= "static"? name "=" expression ";" ;
|
|
120
|
+
field ::= "static"? name "=" expression... ";" ;
|
|
111
121
|
|
|
112
122
|
|
|
113
123
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
functionBody ::= "(" arguments? ")" "{" statement* "}" ;
|
|
124
|
+
var ::= variable ( "=" expression )? | destructure "=" expression ;
|
|
117
125
|
|
|
126
|
+
let ::= variable ( "=" expression )? | destructure "=" expression ;
|
|
118
127
|
|
|
128
|
+
const ::= ( variable | destructure ) "=" expression ;
|
|
119
129
|
|
|
120
|
-
case ::= "case" expression ":" statement ( "break" ";" )? ;
|
|
121
130
|
|
|
122
|
-
defaultCase ::= "default" ":" statement ( "break" ";" )? ;
|
|
123
131
|
|
|
124
132
|
try ::= "try" "{" statement+ "}" ;
|
|
125
133
|
|
|
@@ -127,15 +135,17 @@ const bnf = `
|
|
|
127
135
|
|
|
128
136
|
finally ::= "finally" "{" statement+ "}" ;
|
|
129
137
|
|
|
130
|
-
initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
|
|
131
138
|
|
|
132
139
|
|
|
140
|
+
case ::= "case" expression ":" statement ( "break" ";" )? ;
|
|
141
|
+
|
|
142
|
+
defaultCase ::= "default" ":" statement ( "break" ";" )? ;
|
|
133
143
|
|
|
134
|
-
var ::= variable ( "=" expression )? | destructure "=" expression ;
|
|
135
144
|
|
|
136
|
-
let ::= variable ( "=" expression )? | destructure "=" expression;
|
|
137
145
|
|
|
138
|
-
|
|
146
|
+
initialiser ::= expression | "var" var ( "," var )* | "let" let ( "," let )* ;
|
|
147
|
+
|
|
148
|
+
|
|
139
149
|
|
|
140
150
|
destructure ::= "[" variable ( "=" expression )? ( "," variable ( "=" expression )? )* "]"
|
|
141
151
|
|
|
@@ -229,14 +239,13 @@ const bnf = `
|
|
|
229
239
|
|
|
230
240
|
|
|
231
241
|
|
|
232
|
-
arrowFunction ::=
|
|
233
|
-
|
|
234
|
-
arrowFunctionBody ::= expression | ( "{" statement* "}" ) ;
|
|
235
|
-
|
|
236
|
-
simpleArrowFunction ::= argument "=>" arrowFunctionBody ;
|
|
237
|
-
|
|
242
|
+
arrowFunction ::= complexArrowFunction | simpleArrowFunction ;
|
|
243
|
+
|
|
238
244
|
complexArrowFunction ::= "(" arguments? ")" "=>" arrowFunctionBody ;
|
|
239
|
-
|
|
245
|
+
|
|
246
|
+
simpleArrowFunction ::= argument "=>" arrowFunctionBody ;
|
|
247
|
+
|
|
248
|
+
arrowFunctionBody ::= expression | ( "{" statement* "}" ) ;
|
|
240
249
|
|
|
241
250
|
|
|
242
251
|
templateLiteral ::= "\`" ( ( "\${" expression? "}" ) | string )* "\`" ;
|
|
@@ -261,9 +270,9 @@ const bnf = `
|
|
|
261
270
|
|
|
262
271
|
|
|
263
272
|
|
|
264
|
-
spreadArgument ::= "..."<NO_WHITESPACE>
|
|
273
|
+
spreadArgument ::= "..."<NO_WHITESPACE>variable ;
|
|
265
274
|
|
|
266
|
-
argument ::=
|
|
275
|
+
argument ::= variable ( "=" expression )? ;
|
|
267
276
|
|
|
268
277
|
variable ::= [identifier] ;
|
|
269
278
|
|
|
@@ -274,8 +283,7 @@ const bnf = `
|
|
|
274
283
|
|
|
275
284
|
|
|
276
285
|
error ::= . ;
|
|
277
|
-
|
|
278
|
-
|
|
286
|
+
|
|
279
287
|
`;
|
|
280
288
|
|
|
281
289
|
export default class JavaScriptParser extends YappParser {
|
|
@@ -4,20 +4,19 @@ import { Query } from "occam-dom";
|
|
|
4
4
|
import { characters } from "necessary";
|
|
5
5
|
|
|
6
6
|
import Processor from "../processor";
|
|
7
|
-
import JSXToken from "../token/significant/jsx";
|
|
8
7
|
import ErrorToken from "../token/significant/error";
|
|
9
8
|
import StringToken from "../token/significant/string";
|
|
10
9
|
import VariableToken from "../token/significant/variable";
|
|
11
10
|
import ArgumentToken from "../token/significant/argument";
|
|
11
|
+
import TagNameJSXToken from "../token/significant/jsx/tagName";
|
|
12
|
+
import AttributeNameJSXToken from "../token/significant/jsx/attributeName";
|
|
12
13
|
|
|
13
14
|
const errorTerminalNodeQuery = Query.fromExpression("//error/@*"),
|
|
14
15
|
jsxNonTerminalNodeQuery = Query.fromExpression("//jsx"),
|
|
15
|
-
jsxTagTerminalNodeQuery = Query.fromExpression("//jsxCompleteTag|jsxStartTag|jsxEndTag/@*"),
|
|
16
16
|
variableTerminalNodeQuery = Query.fromExpression("//variable/@*"),
|
|
17
17
|
jsxTagNameTerminalNodeQuery = Query.fromExpression("//jsxCompleteTag|jsxStartTag|jsxEndTag/name/@*"),
|
|
18
18
|
functionNonTerminalNodeQuery = Query.fromExpression("//functionBody|arrowFunction"),
|
|
19
|
-
|
|
20
|
-
argumentVariableTerminalNodeQuery = Query.fromExpression("//argument//variable/@*"),
|
|
19
|
+
argumentVariableTerminalNodeQuery = Query.fromExpression("//argument/variable/@*"),
|
|
21
20
|
jsxTagAttributeNameTerminalNodeQuery = Query.fromExpression("//jsxAttribute/name/@*"),
|
|
22
21
|
variableDeclarationTerminalNodeQuery = Query.fromExpression("//var|let|const/variable/@*"),
|
|
23
22
|
templateLiteralStringTerminalNodeQuery = Query.fromExpression("//templateLiteral/string/@*"),
|
|
@@ -38,10 +37,10 @@ export default class JavaScriptProcessor extends Processor {
|
|
|
38
37
|
|
|
39
38
|
this.replaceTerminalNodesSignificantToken(tokens, node, (content) => (content === BACKTICK_CHARACTER) ? StringToken : null, templateLiteralDelimiterTerminalNodeQuery);
|
|
40
39
|
|
|
41
|
-
jsxNonTerminalNodes.forEach((jsxNonTerminalNode) =>
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
jsxNonTerminalNodes.forEach((jsxNonTerminalNode) => {
|
|
41
|
+
this.replaceTerminalNodesSignificantToken(tokens, jsxNonTerminalNode, (content) => TagNameJSXToken, jsxTagNameTerminalNodeQuery);
|
|
42
|
+
this.replaceTerminalNodesSignificantToken(tokens, jsxNonTerminalNode, (content) => AttributeNameJSXToken, jsxTagAttributeNameTerminalNodeQuery);
|
|
43
|
+
});
|
|
45
44
|
|
|
46
45
|
functionNonTerminalNodes.forEach((functionNonTerminalNode) => {
|
|
47
46
|
const argumentNames = this.replaceTerminalNodesSignificantToken(tokens, functionNonTerminalNode, (content) => ArgumentToken, argumentVariableTerminalNodeQuery),
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export const jsxColour = springWood;
|
|
3
|
+
import { sushi, tahiti, sycamore, cadetBlue } from "../../colours";
|
|
6
4
|
|
|
7
5
|
export const argumentColour = tahiti;
|
|
8
6
|
|
|
9
7
|
export const variableColour = cadetBlue;
|
|
8
|
+
|
|
9
|
+
export const jsxTagNameColour = sycamore;
|
|
10
|
+
|
|
11
|
+
export const jsxAttributeNameColour = sushi;
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { argumentColour, variableColour, jsxTagNameColour, jsxAttributeNameColour } from "../../scheme/syntax/javaScript";
|
|
4
4
|
|
|
5
5
|
const javaScriptSyntaxStyle = `
|
|
6
6
|
|
|
7
|
-
.javascript.syntax > .jsx {
|
|
8
|
-
color: ${jsxColour};
|
|
9
|
-
font-weight: bold;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
7
|
.javascript.syntax > .variable { color: ${variableColour}; }
|
|
13
8
|
|
|
14
9
|
.javascript.syntax > .argument { color: ${argumentColour}; }
|
|
15
10
|
|
|
11
|
+
.javascript.syntax > .jsx-tag-name { color: ${jsxTagNameColour};}
|
|
12
|
+
|
|
13
|
+
.javascript.syntax > .jsx-attribute-name { color: ${jsxAttributeNameColour};}
|
|
14
|
+
|
|
16
15
|
`;
|
|
17
16
|
|
|
18
17
|
export default javaScriptSyntaxStyle;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SignificantToken } from "occam-lexers";
|
|
4
|
+
|
|
5
|
+
import { JSX_ATTRIBUTE_NAME_TOKEN_TYPE } from "../../../tokenTypes";
|
|
6
|
+
|
|
7
|
+
const type = JSX_ATTRIBUTE_NAME_TOKEN_TYPE; ///
|
|
8
|
+
|
|
9
|
+
export default class JSXAttributeNameToken extends SignificantToken {
|
|
10
|
+
static fromContent(content) { return SignificantToken.fromContentAndType(JSXAttributeNameToken, content, type); }
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { SignificantToken } from "occam-lexers";
|
|
4
|
+
|
|
5
|
+
import { JSX_TAG_NAME_TOKEN_TYPE } from "../../../tokenTypes";
|
|
6
|
+
|
|
7
|
+
const type = JSX_TAG_NAME_TOKEN_TYPE; ///
|
|
8
|
+
|
|
9
|
+
export default class JSXTagNameToken extends SignificantToken {
|
|
10
|
+
static fromContent(content) { return SignificantToken.fromContentAndType(JSXTagNameToken, content, type); }
|
|
11
|
+
}
|
package/src/tokenTypes.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export const JSX_TOKEN_TYPE = "jsx";
|
|
4
3
|
export const NAME_TOKEN_TYPE = "name";
|
|
5
4
|
export const ERROR_TOKEN_TYPE = "error";
|
|
6
5
|
export const COMMENT_TOKEN_TYPE = "comment";
|
|
7
6
|
export const ARGUMENT_TOKEN_TYPE = "argument";
|
|
8
7
|
export const VARIABLE_TOKEN_TYPE = "variable";
|
|
9
8
|
export const ATTRIBUTE_TOKEN_TYPE = "attribute";
|
|
9
|
+
export const JSX_TAG_NAME_TOKEN_TYPE = "jsx-tag-name";
|
|
10
|
+
export const JSX_ATTRIBUTE_NAME_TOKEN_TYPE = "jsx-attribute-name";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { SignificantToken } from "occam-lexers";
|
|
4
|
-
|
|
5
|
-
import { JSX_TOKEN_TYPE } from "../../tokenTypes";
|
|
6
|
-
|
|
7
|
-
const type = JSX_TOKEN_TYPE; ///
|
|
8
|
-
|
|
9
|
-
export default class JSXToken extends SignificantToken {
|
|
10
|
-
static fromContent(content) { return SignificantToken.fromContentAndType(JSXToken, content, type); }
|
|
11
|
-
}
|