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/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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlblR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgSlNYX1RPS0VOX1RZUEUgPSBcImpzeFwiO1xuZXhwb3J0IGNvbnN0IE5BTUVfVE9LRU5fVFlQRSA9IFwibmFtZVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1RPS0VOX1RZUEUgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ09NTUVOVF9UT0tFTl9UWVBFID0gXCJjb21tZW50XCI7XG5leHBvcnQgY29uc3QgQVJHVU1FTlRfVE9LRU5fVFlQRSA9IFwiYXJndW1lbnRcIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9UT0tFTl9UWVBFID0gXCJ2YXJpYWJsZVwiO1xuZXhwb3J0IGNvbnN0IEFUVFJJQlVURV9UT0tFTl9UWVBFID0gXCJhdHRyaWJ1dGVcIjtcbiJdLCJuYW1lcyI6WyJKU1hfVE9LRU5fVFlQRSIsIk5BTUVfVE9LRU5fVFlQRSIsIkVSUk9SX1RPS0VOX1RZUEUiLCJDT01NRU5UX1RPS0VOX1RZUEUiLCJBUkdVTUVOVF9UT0tFTl9UWVBFIiwiVkFSSUFCTEVfVE9LRU5fVFlQRSIsIkFUVFJJQlVURV9UT0tFTl9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7Ozs7Ozs7O0lBRUFBLGNBQWM7ZUFBZEEsY0FBYzs7SUFDZEMsZUFBZTtlQUFmQSxlQUFlOztJQUNmQyxnQkFBZ0I7ZUFBaEJBLGdCQUFnQjs7SUFDaEJDLGtCQUFrQjtlQUFsQkEsa0JBQWtCOztJQUNsQkMsbUJBQW1CO2VBQW5CQSxtQkFBbUI7O0lBQ25CQyxtQkFBbUI7ZUFBbkJBLG1CQUFtQjs7SUFDbkJDLG9CQUFvQjtlQUFwQkEsb0JBQW9COzs7QUFOMUIsSUFBTU4sY0FBYyxHQUFHLEtBQUssQUFBQztBQUM3QixJQUFNQyxlQUFlLEdBQUcsTUFBTSxBQUFDO0FBQy9CLElBQU1DLGdCQUFnQixHQUFHLE9BQU8sQUFBQztBQUNqQyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFTLEFBQUM7QUFDckMsSUFBTUMsbUJBQW1CLEdBQUcsVUFBVSxBQUFDO0FBQ3ZDLElBQU1DLG1CQUFtQixHQUFHLFVBQVUsQUFBQztBQUN2QyxJQUFNQyxvQkFBb0IsR0FBRyxXQUFXLEFBQUMifQ==
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.177",
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.21",
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 = "#638829";
15
+ export const oliveDrab = "#6B9825";
16
16
  export const rifleGreen = "#414833";
17
17
  export const logCabin = "#24301d";
18
18
  export const blackOlive = "#1c2412";
@@ -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
 
@@ -4,8 +4,11 @@ import YappParser from "../parser/yapp";
4
4
 
5
5
  const bnf = `
6
6
 
7
-
8
- document ::= ( preamble ( statement | error )* ) | ( statement | error )+ ;
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 ::= class
17
-
18
- | function
19
+ statement ::= statementBody... ";"
20
+
21
+ | "{" ( statement | function )* "}"
22
+
23
+ | "if" "(" expression... ")" statement ( "else" statement )?
19
24
 
20
- | generator
25
+ | "for" ( ( "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement )
21
26
 
22
- | "export"? ( ( "var" var ( "," var )* )
27
+ | ( "(" variable "in" expression... ")" statement )
23
28
 
24
- | ( "let" let ( "," let )* )
29
+ | ( "await"? "(" variable "of" expression... ")" statement )
30
+
31
+ )
25
32
 
26
- | ( "const" const ( "," const )* )
33
+ | "do" statement "while" "(" expression... ")"
27
34
 
28
- ) ";"
35
+ | "while" "(" expression... ")" statement
36
+
37
+ | "switch" "(" expression... ")" "{" case* defaultCase? "}"
29
38
 
30
- | "export" "default" expression ";"
39
+ | try ( ( catch* finally ) | catch+ )
31
40
 
32
- | "export" "default"? ( class | function | generator )
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
- | ( "export" "const" "{" fields "}" "=" expression )
54
+ function ::= ( "export" "default"? )? "async"? "function" name functionBody
55
+
56
+ | "export" "default" "async"? "function" functionBody
39
57
 
40
- | ( "export" "{" "default" "}" "from" [string-literal] )
58
+ ;
41
59
 
42
- | ( "export" "*" ( "as" name )? "from" [string-literal] )
43
60
 
44
- ) ";"
45
61
 
46
- | "import" ( [string-literal]
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
- | "{" statement* "}"
72
+ | "export" ( ( "{" names "}" ( "from" [string-literal] )? )
59
73
 
60
- | "break" ";"
74
+ | ( "const" "{" fields "}" "=" expression )
61
75
 
62
- | "continue" ";"
76
+ | ( "{" "default" "}" "from" [string-literal] )
63
77
 
64
- | "if" "(" expression ")" statement ( "else" statement )?
78
+ | ( "*" ( "as" name )? "from" [string-literal] )
65
79
 
66
- | "switch" "(" expression ")" "{" case* defaultCase? "}"
80
+ )
67
81
 
68
- | "return" expression? ";"
69
-
70
- | "throw" expression ";"
71
-
72
- | "delete" expression ";"
82
+ | "export"? ( ( "var" var ( "," var )* )
73
83
 
74
- | expression... ";"
84
+ | ( "let" let ( "," let )* )
75
85
 
76
- | try ( ( catch* finally ) | catch+ )
86
+ | ( "const" const ( "," const )* )
77
87
 
78
- | "do" statement "while" "(" expression ")" ";"
88
+ )
89
+
90
+ | ( "export" "default" )? expression
79
91
 
80
- | "for" "(" initialiser ( ";" expression )? ( ";" expression )? ")" statement
92
+ | "return" expression?
81
93
 
82
- | "for" "(" variable "in" expression ")" statement
94
+ | "throw" expression
83
95
 
84
- | "for" "await"? "(" variable "of" expression ")" statement
96
+ | "delete" expression
85
97
 
86
- | "while" "(" expression ")" statement
98
+ | "break"
87
99
 
88
- | "debugger" ";"?
100
+ | "continue"
89
101
 
102
+ | "debugger"
103
+
90
104
  ;
91
105
 
92
106
 
93
107
 
94
- class ::= "class" name classBody ;
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
- anonymousClass ::= "class" classBody ;
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
- classBody ::= ( "extends" name )? "{" ( constructor | method | field )* "}" ;
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
- const ::= ( variable | destructure ) "=" expression ;
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 ::= simpleArrowFunction | complexArrowFunction ;
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>[identifier] ;
273
+ spreadArgument ::= "..."<NO_WHITESPACE>variable ;
265
274
 
266
- argument ::= expression | [identifier] ( "=" expression )? ;
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
- jsxTagAttributeTerminalNodeQuery = Query.fromExpression("//jsxAttribute/@*"),
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) => this.replaceTerminalNodesSignificantToken(tokens, jsxNonTerminalNode, (content) => JSXToken, jsxTagTerminalNodeQuery,
42
- jsxTagNameTerminalNodeQuery,
43
- jsxTagAttributeTerminalNodeQuery,
44
- jsxTagAttributeNameTerminalNodeQuery));
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 { springWood, cadetBlue, tahiti } from "../../colours";
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 { jsxColour, argumentColour, variableColour } from "../../scheme/syntax/javaScript";
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
- }