shaderkit 0.1.1 → 0.1.2

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/dist/index.js CHANGED
@@ -268,20 +268,20 @@ const WGSL_KEYWORDS = [
268
268
  "writeonly",
269
269
  "yield",
270
270
  // 15.4 Context-Dependent Name Tokens - Attributes
271
- "align",
272
- "binding",
273
- "builtin",
274
- "compute",
275
- "const",
276
- "fragment",
277
- "group",
278
- "id",
279
- "interpolate",
280
- "invariant",
281
- "location",
282
- "size",
283
- "vertex",
284
- "workgroup_size",
271
+ "@align",
272
+ "@binding",
273
+ "@builtin",
274
+ "@compute",
275
+ "@const",
276
+ "@fragment",
277
+ "@group",
278
+ "@id",
279
+ "@interpolate",
280
+ "@invariant",
281
+ "@location",
282
+ "@size",
283
+ "@vertex",
284
+ "@workgroup_size",
285
285
  // 15.4 Context-Dependent Name Tokens - Interpolation Types
286
286
  "perspective",
287
287
  "linear",
@@ -629,19 +629,19 @@ const GLSL_KEYWORDS = [
629
629
  "namespace",
630
630
  "using",
631
631
  // 3.5 Preprocessor
632
- "define",
633
- "undef",
634
- "if",
635
- "ifdef",
636
- "ifndef",
637
- "else",
638
- "elif",
639
- "endif",
640
- "error",
641
- "pragma",
642
- "extension",
643
- "version",
644
- "line",
632
+ "#define",
633
+ "#undef",
634
+ "#if",
635
+ "#ifdef",
636
+ "#ifndef",
637
+ "#else",
638
+ "#elif",
639
+ "#endif",
640
+ "#error",
641
+ "#pragma",
642
+ "#extension",
643
+ "#version",
644
+ "#line",
645
645
  // 3.5 Preprocessor - Operators
646
646
  "defined",
647
647
  // 3.5 Preprocessor - Macros
@@ -772,7 +772,7 @@ const GLSL_KEYWORDS = [
772
772
  "dFdy",
773
773
  "fwidth",
774
774
  // Additional directives
775
- "include",
775
+ "#include",
776
776
  // WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
777
777
  "gl_DrawID",
778
778
  // vertex only
@@ -854,14 +854,18 @@ const DOT = 46;
854
854
  const UNDERSCORE = 95;
855
855
  const SLASH = 47;
856
856
  const STAR = 42;
857
+ const HASH = 35;
858
+ const AT = 64;
857
859
  const isDigit = (c) => ZERO <= c && c <= NINE;
858
860
  const isAlpha = (c) => (c &= ~32, A <= c && c <= Z);
859
861
  const isLine = (c) => c === LF || c === CR;
860
862
  const isSpace = (c) => isLine(c) || c === TAB || c === SPACE;
861
863
  const isNumber = (c) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT;
862
864
  const isIdent = (c) => isAlpha(c) || isDigit(c) || c === UNDERSCORE;
865
+ const isMacro = (c) => c === HASH || c === AT;
863
866
  function tokenize(code, index = 0) {
864
867
  const tokens = [];
868
+ let prev = -1;
865
869
  const KEYWORDS = isWGSL(code) ? WGSL_KEYWORDS : GLSL_KEYWORDS;
866
870
  while (index < code.length) {
867
871
  let value = code[index];
@@ -882,7 +886,7 @@ function tokenize(code, index = 0) {
882
886
  value += code[index++];
883
887
  if (isBool(value))
884
888
  tokens.push({ type: "bool", value });
885
- else if (KEYWORDS.includes(value))
889
+ else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
886
890
  tokens.push({ type: "keyword", value });
887
891
  else
888
892
  tokens.push({ type: "identifier", value });
@@ -899,6 +903,7 @@ function tokenize(code, index = 0) {
899
903
  index += value.length - 1;
900
904
  tokens.push({ type: "symbol", value });
901
905
  }
906
+ prev = char;
902
907
  }
903
908
  return tokens;
904
909
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":";;AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EA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"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":";;AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EA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"}
package/dist/index.mjs CHANGED
@@ -266,20 +266,20 @@ const WGSL_KEYWORDS = [
266
266
  "writeonly",
267
267
  "yield",
268
268
  // 15.4 Context-Dependent Name Tokens - Attributes
269
- "align",
270
- "binding",
271
- "builtin",
272
- "compute",
273
- "const",
274
- "fragment",
275
- "group",
276
- "id",
277
- "interpolate",
278
- "invariant",
279
- "location",
280
- "size",
281
- "vertex",
282
- "workgroup_size",
269
+ "@align",
270
+ "@binding",
271
+ "@builtin",
272
+ "@compute",
273
+ "@const",
274
+ "@fragment",
275
+ "@group",
276
+ "@id",
277
+ "@interpolate",
278
+ "@invariant",
279
+ "@location",
280
+ "@size",
281
+ "@vertex",
282
+ "@workgroup_size",
283
283
  // 15.4 Context-Dependent Name Tokens - Interpolation Types
284
284
  "perspective",
285
285
  "linear",
@@ -627,19 +627,19 @@ const GLSL_KEYWORDS = [
627
627
  "namespace",
628
628
  "using",
629
629
  // 3.5 Preprocessor
630
- "define",
631
- "undef",
632
- "if",
633
- "ifdef",
634
- "ifndef",
635
- "else",
636
- "elif",
637
- "endif",
638
- "error",
639
- "pragma",
640
- "extension",
641
- "version",
642
- "line",
630
+ "#define",
631
+ "#undef",
632
+ "#if",
633
+ "#ifdef",
634
+ "#ifndef",
635
+ "#else",
636
+ "#elif",
637
+ "#endif",
638
+ "#error",
639
+ "#pragma",
640
+ "#extension",
641
+ "#version",
642
+ "#line",
643
643
  // 3.5 Preprocessor - Operators
644
644
  "defined",
645
645
  // 3.5 Preprocessor - Macros
@@ -770,7 +770,7 @@ const GLSL_KEYWORDS = [
770
770
  "dFdy",
771
771
  "fwidth",
772
772
  // Additional directives
773
- "include",
773
+ "#include",
774
774
  // WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
775
775
  "gl_DrawID",
776
776
  // vertex only
@@ -852,14 +852,18 @@ const DOT = 46;
852
852
  const UNDERSCORE = 95;
853
853
  const SLASH = 47;
854
854
  const STAR = 42;
855
+ const HASH = 35;
856
+ const AT = 64;
855
857
  const isDigit = (c) => ZERO <= c && c <= NINE;
856
858
  const isAlpha = (c) => (c &= ~32, A <= c && c <= Z);
857
859
  const isLine = (c) => c === LF || c === CR;
858
860
  const isSpace = (c) => isLine(c) || c === TAB || c === SPACE;
859
861
  const isNumber = (c) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT;
860
862
  const isIdent = (c) => isAlpha(c) || isDigit(c) || c === UNDERSCORE;
863
+ const isMacro = (c) => c === HASH || c === AT;
861
864
  function tokenize(code, index = 0) {
862
865
  const tokens = [];
866
+ let prev = -1;
863
867
  const KEYWORDS = isWGSL(code) ? WGSL_KEYWORDS : GLSL_KEYWORDS;
864
868
  while (index < code.length) {
865
869
  let value = code[index];
@@ -880,7 +884,7 @@ function tokenize(code, index = 0) {
880
884
  value += code[index++];
881
885
  if (isBool(value))
882
886
  tokens.push({ type: "bool", value });
883
- else if (KEYWORDS.includes(value))
887
+ else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
884
888
  tokens.push({ type: "keyword", value });
885
889
  else
886
890
  tokens.push({ type: "identifier", value });
@@ -897,6 +901,7 @@ function tokenize(code, index = 0) {
897
901
  index += value.length - 1;
898
902
  tokens.push({ type: "symbol", value });
899
903
  }
904
+ prev = char;
900
905
  }
901
906
  return tokens;
902
907
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":"AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":[],"mappings":"AACO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF;AAIO,MAAM,gBAAgB;AAAA;AAAA,EAE3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaderkit",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Tools and IntelliSense for GLSL and WGSL.",
5
5
  "keywords": [
6
6
  "shaders",
package/src/constants.ts CHANGED
@@ -272,20 +272,20 @@ export const WGSL_KEYWORDS = [
272
272
  'yield',
273
273
 
274
274
  // 15.4 Context-Dependent Name Tokens - Attributes
275
- 'align',
276
- 'binding',
277
- 'builtin',
278
- 'compute',
279
- 'const',
280
- 'fragment',
281
- 'group',
282
- 'id',
283
- 'interpolate',
284
- 'invariant',
285
- 'location',
286
- 'size',
287
- 'vertex',
288
- 'workgroup_size',
275
+ '@align',
276
+ '@binding',
277
+ '@builtin',
278
+ '@compute',
279
+ '@const',
280
+ '@fragment',
281
+ '@group',
282
+ '@id',
283
+ '@interpolate',
284
+ '@invariant',
285
+ '@location',
286
+ '@size',
287
+ '@vertex',
288
+ '@workgroup_size',
289
289
 
290
290
  // 15.4 Context-Dependent Name Tokens - Interpolation Types
291
291
  'perspective',
@@ -653,19 +653,19 @@ export const GLSL_KEYWORDS = [
653
653
  'using',
654
654
 
655
655
  // 3.5 Preprocessor
656
- 'define',
657
- 'undef',
658
- 'if',
659
- 'ifdef',
660
- 'ifndef',
661
- 'else',
662
- 'elif',
663
- 'endif',
664
- 'error',
665
- 'pragma',
666
- 'extension',
667
- 'version',
668
- 'line',
656
+ '#define',
657
+ '#undef',
658
+ '#if',
659
+ '#ifdef',
660
+ '#ifndef',
661
+ '#else',
662
+ '#elif',
663
+ '#endif',
664
+ '#error',
665
+ '#pragma',
666
+ '#extension',
667
+ '#version',
668
+ '#line',
669
669
 
670
670
  // 3.5 Preprocessor - Operators
671
671
  'defined',
@@ -811,7 +811,7 @@ export const GLSL_KEYWORDS = [
811
811
  'fwidth',
812
812
 
813
813
  // Additional directives
814
- 'include',
814
+ '#include',
815
815
 
816
816
  // WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
817
817
  'gl_DrawID', // vertex only
package/src/tokenizer.ts CHANGED
@@ -27,6 +27,8 @@ const DOT = 46
27
27
  const UNDERSCORE = 95
28
28
  const SLASH = 47
29
29
  const STAR = 42
30
+ const HASH = 35
31
+ const AT = 64
30
32
 
31
33
  const isDigit = (c: number) => ZERO <= c && c <= NINE
32
34
  const isAlpha = (c: number) => ((c &= ~32), A <= c && c <= Z)
@@ -34,6 +36,7 @@ const isLine = (c: number) => c === LF || c === CR
34
36
  const isSpace = (c: number) => isLine(c) || c === TAB || c === SPACE
35
37
  const isNumber = (c: number) => isAlpha(c) || isDigit(c) || c === PLUS || c === MINUS || c === DOT
36
38
  const isIdent = (c: number) => isAlpha(c) || isDigit(c) || c === UNDERSCORE
39
+ const isMacro = (c: number) => c === HASH || c === AT
37
40
 
38
41
  /**
39
42
  * Tokenizes a string of GLSL or WGSL code.
@@ -41,6 +44,7 @@ const isIdent = (c: number) => isAlpha(c) || isDigit(c) || c === UNDERSCORE
41
44
  export function tokenize(code: string, index: number = 0): Token[] {
42
45
  const tokens: Token[] = []
43
46
 
47
+ let prev: number = -1
44
48
  const KEYWORDS = isWGSL(code) ? WGSL_KEYWORDS : GLSL_KEYWORDS
45
49
  while (index < code.length) {
46
50
  let value = code[index]
@@ -56,7 +60,8 @@ export function tokenize(code: string, index: number = 0): Token[] {
56
60
  } else if (isAlpha(char)) {
57
61
  while (isIdent(code.charCodeAt(index))) value += code[index++]
58
62
  if (isBool(value)) tokens.push({ type: 'bool', value })
59
- else if (KEYWORDS.includes(value)) tokens.push({ type: 'keyword', value })
63
+ else if (KEYWORDS.includes(isMacro(prev) ? String.fromCharCode(prev) + value : value))
64
+ tokens.push({ type: 'keyword', value })
60
65
  else tokens.push({ type: 'identifier', value })
61
66
  } else if (char === SLASH && (code.charCodeAt(index) === SLASH || code.charCodeAt(index) === STAR)) {
62
67
  const isMultiline = code.charCodeAt(index) === STAR
@@ -69,6 +74,7 @@ export function tokenize(code: string, index: number = 0): Token[] {
69
74
  index += value.length - 1
70
75
  tokens.push({ type: 'symbol', value })
71
76
  }
77
+ prev = char
72
78
  }
73
79
 
74
80
  return tokens