@renxqoo/renx-code-win32-x64 0.0.71 → 0.0.72

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.
@@ -3235,7 +3235,7 @@ var Parser = class {
3235
3235
  }
3236
3236
  };
3237
3237
 
3238
- // ../../node_modules/.bun/@opentui+core@0.1.87+a7e4efcb39f2fc50/node_modules/@opentui/core/parser.worker.js
3238
+ // ../../node_modules/.bun/@opentui+core@0.1.91+a7e4efcb39f2fc50/node_modules/@opentui/core/parser.worker.js
3239
3239
  import { mkdir as mkdir2 } from "fs/promises";
3240
3240
  import * as path2 from "path";
3241
3241
  import { mkdir, readFile, writeFile } from "fs/promises";
@@ -3359,6 +3359,7 @@ var self2 = globalThis;
3359
3359
  class ParserWorker {
3360
3360
  bufferParsers = new Map;
3361
3361
  filetypeParserOptions = new Map;
3362
+ filetypeAliases = new Map;
3362
3363
  filetypeParsers = new Map;
3363
3364
  filetypeParserPromises = new Map;
3364
3365
  reusableParsers = new Map;
@@ -3386,31 +3387,57 @@ class ParserWorker {
3386
3387
  if (this.initializePromise) {
3387
3388
  return this.initializePromise;
3388
3389
  }
3389
- this.initializePromise = new Promise(async (resolve, reject) => {
3390
+ this.initializePromise = (async () => {
3390
3391
  this.dataPath = dataPath;
3391
3392
  this.tsDataPath = path2.join(dataPath, "tree-sitter");
3392
- try {
3393
- await mkdir2(path2.join(this.tsDataPath, "languages"), { recursive: true });
3394
- await mkdir2(path2.join(this.tsDataPath, "queries"), { recursive: true });
3395
- let { default: treeWasm } = await Promise.resolve().then(() => __toESM(require_tree_sitter(), 1));
3396
- if (isBunfsPath(treeWasm)) {
3397
- treeWasm = normalizeBunfsPath(path2.parse(treeWasm).base);
3398
- }
3399
- await Parser.init({
3400
- locateFile() {
3401
- return treeWasm;
3402
- }
3403
- });
3404
- this.initialized = true;
3405
- resolve();
3406
- } catch (error) {
3407
- reject(error);
3393
+ await mkdir2(path2.join(this.tsDataPath, "languages"), { recursive: true });
3394
+ await mkdir2(path2.join(this.tsDataPath, "queries"), { recursive: true });
3395
+ let { default: treeWasm } = await Promise.resolve().then(() => __toESM(require_tree_sitter(), 1));
3396
+ if (isBunfsPath(treeWasm)) {
3397
+ treeWasm = normalizeBunfsPath(path2.parse(treeWasm).base);
3408
3398
  }
3409
- });
3399
+ await Parser.init({
3400
+ locateFile() {
3401
+ return treeWasm;
3402
+ }
3403
+ });
3404
+ this.initialized = true;
3405
+ })();
3410
3406
  return this.initializePromise;
3411
3407
  }
3412
3408
  addFiletypeParser(filetypeParser) {
3413
- this.filetypeParserOptions.set(filetypeParser.filetype, filetypeParser);
3409
+ const previousAliases = this.filetypeParserOptions.get(filetypeParser.filetype)?.aliases ?? [];
3410
+ for (const alias of previousAliases) {
3411
+ if (this.filetypeAliases.get(alias) === filetypeParser.filetype) {
3412
+ this.filetypeAliases.delete(alias);
3413
+ }
3414
+ }
3415
+ const aliases = [...new Set((filetypeParser.aliases ?? []).filter((alias) => alias !== filetypeParser.filetype))];
3416
+ this.filetypeAliases.delete(filetypeParser.filetype);
3417
+ this.filetypeParserOptions.set(filetypeParser.filetype, {
3418
+ ...filetypeParser,
3419
+ aliases
3420
+ });
3421
+ for (const alias of aliases) {
3422
+ this.filetypeAliases.set(alias, filetypeParser.filetype);
3423
+ }
3424
+ this.invalidateParserCaches(filetypeParser.filetype);
3425
+ }
3426
+ resolveCanonicalFiletype(filetype) {
3427
+ if (this.filetypeParserOptions.has(filetype)) {
3428
+ return filetype;
3429
+ }
3430
+ return this.filetypeAliases.get(filetype) ?? filetype;
3431
+ }
3432
+ invalidateParserCaches(filetype) {
3433
+ this.filetypeParsers.delete(filetype);
3434
+ this.filetypeParserPromises.delete(filetype);
3435
+ const reusableParser = this.reusableParsers.get(filetype);
3436
+ if (reusableParser) {
3437
+ reusableParser.parser.delete();
3438
+ this.reusableParsers.delete(filetype);
3439
+ }
3440
+ this.reusableParserPromises.delete(filetype);
3414
3441
  }
3415
3442
  async createQueries(filetypeParser, language) {
3416
3443
  try {
@@ -3458,22 +3485,23 @@ class ParserWorker {
3458
3485
  }
3459
3486
  }
3460
3487
  async resolveFiletypeParser(filetype) {
3461
- if (this.filetypeParsers.has(filetype)) {
3462
- return this.filetypeParsers.get(filetype);
3488
+ const canonicalFiletype = this.resolveCanonicalFiletype(filetype);
3489
+ if (this.filetypeParsers.has(canonicalFiletype)) {
3490
+ return this.filetypeParsers.get(canonicalFiletype);
3463
3491
  }
3464
- if (this.filetypeParserPromises.has(filetype)) {
3465
- return this.filetypeParserPromises.get(filetype);
3492
+ if (this.filetypeParserPromises.has(canonicalFiletype)) {
3493
+ return this.filetypeParserPromises.get(canonicalFiletype);
3466
3494
  }
3467
- const loadingPromise = this.loadFiletypeParser(filetype);
3468
- this.filetypeParserPromises.set(filetype, loadingPromise);
3495
+ const loadingPromise = this.loadFiletypeParser(canonicalFiletype);
3496
+ this.filetypeParserPromises.set(canonicalFiletype, loadingPromise);
3469
3497
  try {
3470
3498
  const result = await loadingPromise;
3471
3499
  if (result) {
3472
- this.filetypeParsers.set(filetype, result);
3500
+ this.filetypeParsers.set(canonicalFiletype, result);
3473
3501
  }
3474
3502
  return result;
3475
3503
  } finally {
3476
- this.filetypeParserPromises.delete(filetype);
3504
+ this.filetypeParserPromises.delete(canonicalFiletype);
3477
3505
  }
3478
3506
  }
3479
3507
  async loadFiletypeParser(filetype) {
@@ -3501,22 +3529,23 @@ class ParserWorker {
3501
3529
  return this.resolveFiletypeParser(filetype);
3502
3530
  }
3503
3531
  async getReusableParser(filetype) {
3504
- if (this.reusableParsers.has(filetype)) {
3505
- return this.reusableParsers.get(filetype);
3532
+ const canonicalFiletype = this.resolveCanonicalFiletype(filetype);
3533
+ if (this.reusableParsers.has(canonicalFiletype)) {
3534
+ return this.reusableParsers.get(canonicalFiletype);
3506
3535
  }
3507
- if (this.reusableParserPromises.has(filetype)) {
3508
- return this.reusableParserPromises.get(filetype);
3536
+ if (this.reusableParserPromises.has(canonicalFiletype)) {
3537
+ return this.reusableParserPromises.get(canonicalFiletype);
3509
3538
  }
3510
- const creationPromise = this.createReusableParser(filetype);
3511
- this.reusableParserPromises.set(filetype, creationPromise);
3539
+ const creationPromise = this.createReusableParser(canonicalFiletype);
3540
+ this.reusableParserPromises.set(canonicalFiletype, creationPromise);
3512
3541
  try {
3513
3542
  const result = await creationPromise;
3514
3543
  if (result) {
3515
- this.reusableParsers.set(filetype, result);
3544
+ this.reusableParsers.set(canonicalFiletype, result);
3516
3545
  }
3517
3546
  return result;
3518
3547
  } finally {
3519
- this.reusableParserPromises.delete(filetype);
3548
+ this.reusableParserPromises.delete(canonicalFiletype);
3520
3549
  }
3521
3550
  }
3522
3551
  async createReusableParser(filetype) {
package/bin/renx.exe CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@renxqoo/renx-code-win32-x64",
3
- "version": "0.0.71",
3
+ "version": "0.0.72",
4
4
  "description": "Renx Code terminal AI coding assistant (win32-x64)",
5
5
  "type": "commonjs",
6
6
  "private": false,