diffwatch 1.0.9 → 1.1.0

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
@@ -26,15 +26,15 @@ function main() {
26
26
  const args = process.argv.slice(2);
27
27
  let repoPath = process.cwd();
28
28
  const showHelp = () => {
29
- console.log(`
30
- Usage: diffwatch [path] [options]
31
-
32
- Arguments:
33
- path Path to the git repository (default: current directory)
34
-
35
- Options:
36
- -h, --help Show help information
37
- -v, --version Show version information
29
+ console.log(`
30
+ Usage: diffwatch [path]
31
+
32
+ Arguments:
33
+ path Path to the git repository (default: current directory)
34
+
35
+ Options:
36
+ -h, --help Show help information
37
+ -v, --version Show version information
38
38
  `);
39
39
  process.exit(0);
40
40
  };
@@ -419,7 +419,18 @@ Options:
419
419
  color = '{white-fg}';
420
420
  else if (f.status === 'unchanged')
421
421
  color = '{grey-fg}';
422
- return `${color}${f.path}{/}`;
422
+ let statusSymbol = '';
423
+ if (f.status === 'added')
424
+ statusSymbol = 'A ';
425
+ else if (f.status === 'deleted')
426
+ statusSymbol = 'D ';
427
+ else if (f.status === 'modified')
428
+ statusSymbol = 'M ';
429
+ else if (f.status === 'unstaged')
430
+ statusSymbol = '? ';
431
+ else if (f.status === 'unchanged')
432
+ statusSymbol = ' ';
433
+ return `${color}${statusSymbol}${f.path}{/}`;
423
434
  });
424
435
  const labelTitle = currentSearchTerm ? `Files (${files.length}) - Searching: "${currentSearchTerm}"` : `Files (${files.length})`;
425
436
  const newFilePaths = files.map(f => f.path);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3C,kDAA0B;AAC1B,iDAAsC;AACtC,qCAAqD;AACrD,2DAAiE;AACjE,2BAAkC;AAClC,+BAAqC;AAErC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,UAAU,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvG,SAAe,IAAI;;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;KASX,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC7C,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBACvD,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,gDAAgD;YAClD,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,QAAQ,2BAA2B,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8EAA8E;QAC9E,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,gBAAgB,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAE7B,IAAI,QAAQ,GAAQ,OAAO,CAAC,IAAI,CAAC;YAC/B,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI;YACV,SAAS,EAAE;gBACT,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;aACtB;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;aACxB;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACzB,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC3B,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE;oBACT,EAAE,EAAE,GAAG;oBACP,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;oBACtB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;iBACtB;gBACD,KAAK,EAAE;oBACL,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;oBACtC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;iBACxB;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;aACzB,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;gBAC7B,kBAAkB,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE;gBAC/B,kBAAkB,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;YACtC,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,SAAS,EAAE;gBACT,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;gBACtB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;aACtB;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;aACxB;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QAEL,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,KAAK,EAAE,2CAA2C;YACxD,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;YACnC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAClC,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE;SACpC,CAAC,CAAC;QAEL,iCAAiC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;YAChC,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,KAAK,EAAE,2CAA2C;YACxD,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,qDAAqD;YAC9D,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,KAAK,EAAE;gBACL,EAAE,EAAE,QAAQ;gBACZ,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;aACzB;YACD,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;YAClC,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,KAAK,EAAE,2CAA2C;YACxD,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO;gBACX,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE;aACxB;YACD,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,QAAyB,OAAO,EAAE,EAAE;YAC7E,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;YACzC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,eAAe,CAAC,KAAK,GAAG;gBACtB,EAAE,EAAE,KAAK;gBACT,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;aACtB,CAAC;YACF,eAAe,CAAC,IAAI,EAAE,CAAC;YACvB,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,EAAE,CAAC;YAEhB,UAAU,CAAC,GAAG,EAAE;gBACd,eAAe,CAAC,IAAI,EAAE,CAAC;gBACvB,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,eAAe,EAAE,CAAC;oBAC/D,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;gBACD,aAAa,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC;QAEF,iCAAiC;QACjC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;YAC5B,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/B,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO;aACZ;SACF,CAAC,CAAC;QAEH,wDAAwD;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;YACzB,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ;SAC5K,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEzB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC;QAEF,IAAI,YAAY,GAAiB,EAAE,CAAC;QACpC,IAAI,gBAAgB,GAAkB,IAAI,CAAC;QAC3C,IAAI,iBAAiB,GAA0B,IAAI,CAAC;QACpD,IAAI,iBAAiB,GAAW,EAAE,CAAC;QACnC,IAAI,aAAa,GAAW,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAa,EAAE,CAAC;QACjC,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,IAAI,iBAAiB;gBAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;YACvD,iBAAiB,GAAG,UAAU,CAAC,GAAS,EAAE;gBACxC,MAAM,UAAU,EAAE,CAAC;YACrB,CAAC,CAAA,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAC5B,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,SAAwB,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,kBAAkB,EAAE,CAAC;gBACrB,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC9B,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC;QAEF,2EAA2E;QAC3E,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACvC,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEvC,6FAA6F;QAC7F,+DAA+D;QAC/D,oFAAoF;QACpF,+DAA+D;QAC/D,oFAAoF;QACpF,4EAA4E;QAE5E,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjD,kFAAkF;QAClF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;YACxC,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACjC,uDAAuD;oBACvD,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC3F,CAAC;qBAAM,CAAC;oBACN,yDAAyD;oBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC;oBACtE,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC7B,aAAa,GAAG,MAAM,CAAC;gBACvB,SAAS,CAAC,UAAU,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAA,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,0CAA0C;gBAC1C,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC,CAAC;gBACnD,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/B,gBAAgB,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,KAAK,GAAG,UAAU,YAAY,CAAC,IAAI,IAAI,CAAC;gBAE5C,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACzD,OAAO,GAAG,IAAA,wCAAuB,EAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAClD,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC7D,wCAAwC;oBACxC,IAAI,iBAAiB,EAAE,CAAC;wBACtB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBAChG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;oBAChE,CAAC;oBACD,KAAK,GAAG,UAAU,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC1C,CAAC;qBAAM,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzD,OAAO,GAAG,eAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBACzC,KAAK,GAAG,UAAU,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC1C,CAAC;gBAED,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAEpC,+DAA+D;gBAC/D,IAAI,OAAO,KAAK,cAAc,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;oBACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC;oBACvC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,KAAK,gBAAgB,CAAC;oBAEzD,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC7B,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAEzB,IAAI,SAAS,EAAE,CAAC;wBACd,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;oBACnC,CAAC;gBACH,CAAC;gBACD,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,6BAA6B,CAAC;gBACjD,MAAM,QAAQ,GAAG,WAAW,CAAC;gBAC7B,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACnE,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBAChC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAA,CAAC;QAEF,MAAM,cAAc,GAAG,GAAS,EAAE;;YAChC,IAAI,cAAc;gBAAE,OAAO;YAC3B,cAAc,GAAG,IAAI,CAAC;YAEtB,MAAM,YAAY,GAAG,MAAA,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC;YAE3D,IAAI,KAAmB,CAAC;YAExB,IAAI,iBAAiB,EAAE,CAAC;gBACtB,KAAK,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,CAAC;YACvC,CAAC;YAED,YAAY,GAAG,KAAK,CAAC;YAErB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,IAAI,KAAK,GAAG,YAAY,CAAC;gBACzB,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;oBAAE,KAAK,GAAG,YAAY,CAAC;qBAC1C,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;oBAAE,KAAK,GAAG,UAAU,CAAC;qBAC/C,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,KAAK,GAAG,WAAW,CAAC;qBACjD,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,KAAK,GAAG,YAAY,CAAC;qBAClD,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;oBAAE,KAAK,GAAG,WAAW,CAAC;gBAEvD,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;oBAAE,YAAY,GAAG,IAAI,CAAC;qBACzC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;oBAAE,YAAY,GAAG,IAAI,CAAC;qBAChD,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,YAAY,GAAG,IAAI,CAAC;qBACjD,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,YAAY,GAAG,IAAI,CAAC;qBACjD,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW;oBAAE,YAAY,GAAG,IAAI,CAAC;gBAEvD,OAAO,GAAG,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,mBAAmB,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,GAAG,CAAC;YAEjI,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,uBAAuB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3F,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;gBAC7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAE5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAElG,MAAM,WAAW,GAAG,QAAQ,CAAC;gBAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5B,WAAW,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjE,IAAI,CAAC,uBAAuB,IAAI,WAAW,EAAE,CAAC;oBAC5C,gBAAgB,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBAED,aAAa,GAAG,YAAY,CAAC;gBAE7B,IAAI,iBAAiB,EAAE,CAAC;oBACtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;oBAChC,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,MAAM,UAAU,EAAE,CAAC;gBAEnB,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3B,QAAQ,GAAG,WAAW,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,QAAQ,CAAC;gBAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACjC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEzB,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,iBAAiB,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;gBAC3G,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/B,gBAAgB,GAAG,IAAI,CAAC;gBACxB,aAAa,GAAG,EAAE,CAAC;gBAEnB,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3B,QAAQ,GAAG,WAAW,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC,CAAA,CAAC;QAIF,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;YACrB,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,SAAS,CAAC,QAAQ,EAAE,CAAC;YACrB,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACxC,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAO,KAAa,EAAE,EAAE;YAC/C,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,yBAAyB;YACzB,MAAM,cAAc,EAAE,CAAC;QACzB,CAAC,CAAA,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;YACvB,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,aAAa,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE;YACxB,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;YACzB,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE;YACzB,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEL,0BAA0B;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAS,EAAE;YAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,YAAY,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,EAAE,CAAC;gBACzB,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,qBAAqB;QACrB,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,GAAS,EAAE;YACtC,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACxC,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;YACjD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC/C,gBAAgB,CAAC,QAAQ,YAAY,CAAC,IAAI,yBAAyB,EAAE,OAAO,CAAC,CAAC;oBAC9E,MAAM,cAAc,EAAE,CAAC;gBACzB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,gBAAgB,CAAC,yBAAyB,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAA,CAAC,CAAC;QAEH,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE;YACjC,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEL,MAAM,YAAY,EAAE,CAAC;QACnB,MAAM,cAAc,EAAE,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,aAAa,EAAE,CAAC;QAEhB,oDAAoD;QACpD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAS,EAAE;YAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;YACxC,MAAM,kBAAkB,GAAG,gBAAgB,KAAK,QAAQ,CAAC;YAEzD,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM,cAAc,EAAE,CAAC;YAEvB,6DAA6D;YAC7D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;gBACzC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;YACD,aAAa,EAAE,CAAC;QAClB,CAAC,CAAA,EAAE,IAAI,CAAC,CAAC,CAAC,oCAAoC;QAE9C,4BAA4B;QAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE;YACpC,kEAAkE;YAClE,IAAI,MAAM,CAAC,OAAO,KAAK,aAAa,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACtB,SAAS,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,4CAA4C;gBAC5C,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CAAA;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "diffwatch",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "An app for watching git repository file changes.",
5
5
  "author": "Sarfraz Ahmed <sarfraznawaz2005@gmail.com>",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -1,53 +1,53 @@
1
- #!/usr/bin/env node
2
- const blessed = require('neo-neo-blessed');
3
- import chalk from 'chalk';
4
- import { spawn } from 'child_process';
5
- import { GitHandler, FileStatus } from './utils/git';
6
- import { formatDiffWithDiff2Html } from './utils/diff-formatter';
7
- import { readFileSync } from 'fs';
8
- import { dirname, join } from 'path';
9
-
10
- const packageJson = JSON.parse(readFileSync(join(dirname(__filename), '..', 'package.json'), 'utf-8'));
11
-
12
- async function main() {
13
- const args = process.argv.slice(2);
14
- let repoPath = process.cwd();
15
-
16
- const showHelp = () => {
17
- console.log(`
18
- Usage: diffwatch [path]
19
-
20
- Arguments:
21
- path Path to the git repository (default: current directory)
22
-
23
- Options:
24
- -h, --help Show help information
25
- -v, --version Show version information
26
- `);
27
- process.exit(0);
28
- };
29
-
30
- const showVersion = () => {
31
- console.log(`diffwatch v${packageJson.version}`);
32
- process.exit(0);
33
- };
34
-
35
- const positionalArgs = [];
36
- for (let i = 0; i < args.length; i++) {
37
- if (args[i] === '-h' || args[i] === '--help') {
38
- showHelp();
39
- } else if (args[i] === '-v' || args[i] === '--version') {
40
- showVersion();
41
- } else if (args[i].startsWith('-')) {
42
- // Ignore unknown flags or handle them if needed
43
- } else {
44
- positionalArgs.push(args[i]);
45
- }
46
- }
47
-
48
- if (positionalArgs.length > 0) {
49
- repoPath = positionalArgs[0];
50
- }
1
+ #!/usr/bin/env node
2
+ const blessed = require('neo-neo-blessed');
3
+ import chalk from 'chalk';
4
+ import { spawn } from 'child_process';
5
+ import { GitHandler, FileStatus } from './utils/git';
6
+ import { formatDiffWithDiff2Html } from './utils/diff-formatter';
7
+ import { readFileSync } from 'fs';
8
+ import { dirname, join } from 'path';
9
+
10
+ const packageJson = JSON.parse(readFileSync(join(dirname(__filename), '..', 'package.json'), 'utf-8'));
11
+
12
+ async function main() {
13
+ const args = process.argv.slice(2);
14
+ let repoPath = process.cwd();
15
+
16
+ const showHelp = () => {
17
+ console.log(`
18
+ Usage: diffwatch [path]
19
+
20
+ Arguments:
21
+ path Path to the git repository (default: current directory)
22
+
23
+ Options:
24
+ -h, --help Show help information
25
+ -v, --version Show version information
26
+ `);
27
+ process.exit(0);
28
+ };
29
+
30
+ const showVersion = () => {
31
+ console.log(`diffwatch v${packageJson.version}`);
32
+ process.exit(0);
33
+ };
34
+
35
+ const positionalArgs = [];
36
+ for (let i = 0; i < args.length; i++) {
37
+ if (args[i] === '-h' || args[i] === '--help') {
38
+ showHelp();
39
+ } else if (args[i] === '-v' || args[i] === '--version') {
40
+ showVersion();
41
+ } else if (args[i].startsWith('-')) {
42
+ // Ignore unknown flags or handle them if needed
43
+ } else {
44
+ positionalArgs.push(args[i]);
45
+ }
46
+ }
47
+
48
+ if (positionalArgs.length > 0) {
49
+ repoPath = positionalArgs[0];
50
+ }
51
51
 
52
52
  try {
53
53
  process.chdir(repoPath);
@@ -77,64 +77,64 @@ Options:
77
77
  // Explicitly enable mouse tracking
78
78
  screen.program.enableMouse();
79
79
 
80
- let fileList: any = blessed.list({
81
- top: 0,
82
- left: 0,
83
- width: '30%',
84
- height: '99%',
85
- label: 'Files (0)',
86
- keys: true,
87
- vi: true,
88
- mouse: true,
89
- tags: true,
90
- scrollbar: {
91
- ch: ' ',
92
- track: { bg: 'white' },
93
- style: { bg: 'blue' },
94
- },
95
- style: {
96
- selected: { fg: 'black', bg: 'white' },
97
- border: { fg: 'white' },
98
- },
99
- border: { type: 'line' },
100
- });
101
-
102
- const createFileList = () => {
103
- const newList = blessed.list({
104
- top: 0,
105
- left: 0,
106
- width: '30%',
107
- height: '99%',
108
- label: 'Files (0)',
109
- keys: true,
110
- vi: true,
111
- mouse: true,
112
- tags: true,
113
- scrollbar: {
114
- ch: ' ',
115
- track: { bg: 'white' },
116
- style: { bg: 'blue' },
117
- },
118
- style: {
119
- selected: { fg: 'black', bg: 'white' },
120
- border: { fg: 'white' },
121
- },
122
- border: { type: 'line' },
123
- });
124
-
125
- newList.on('select item', () => {
126
- scheduleDiffUpdate();
127
- });
128
-
129
- newList.key(['up', 'down'], () => {
130
- scheduleDiffUpdate();
131
- });
132
-
133
- newList.on('wheeldown', () => handleScroll('down'));
134
- newList.on('wheelup', () => handleScroll('up'));
135
-
136
- return newList;
137
- };
80
+ let fileList: any = blessed.list({
81
+ top: 0,
82
+ left: 0,
83
+ width: '30%',
84
+ height: '99%',
85
+ label: 'Files (0)',
86
+ keys: true,
87
+ vi: true,
88
+ mouse: true,
89
+ tags: true,
90
+ scrollbar: {
91
+ ch: ' ',
92
+ track: { bg: 'white' },
93
+ style: { bg: 'blue' },
94
+ },
95
+ style: {
96
+ selected: { fg: 'black', bg: 'white' },
97
+ border: { fg: 'white' },
98
+ },
99
+ border: { type: 'line' },
100
+ });
101
+
102
+ const createFileList = () => {
103
+ const newList = blessed.list({
104
+ top: 0,
105
+ left: 0,
106
+ width: '30%',
107
+ height: '99%',
108
+ label: 'Files (0)',
109
+ keys: true,
110
+ vi: true,
111
+ mouse: true,
112
+ tags: true,
113
+ scrollbar: {
114
+ ch: ' ',
115
+ track: { bg: 'white' },
116
+ style: { bg: 'blue' },
117
+ },
118
+ style: {
119
+ selected: { fg: 'black', bg: 'white' },
120
+ border: { fg: 'white' },
121
+ },
122
+ border: { type: 'line' },
123
+ });
124
+
125
+ newList.on('select item', () => {
126
+ scheduleDiffUpdate();
127
+ });
128
+
129
+ newList.key(['up', 'down'], () => {
130
+ scheduleDiffUpdate();
131
+ });
132
+
133
+ newList.on('wheeldown', () => handleScroll('down'));
134
+ newList.on('wheelup', () => handleScroll('up'));
135
+
136
+ return newList;
137
+ };
138
138
 
139
139
  const diffView = blessed.scrollabletext({
140
140
  top: 0,
@@ -157,16 +157,16 @@ Options:
157
157
  tags: false,
158
158
  });
159
159
 
160
- const searchBox = blessed.box({
161
- top: 'center',
162
- left: '40%', // Center of right pane (30% + 70%/2 = 65%)
163
- width: '50%',
164
- height: 3,
165
- label: ' Search ',
166
- border: { type: 'line' },
167
- style: { border: { fg: 'yellow' } },
168
- hidden: true,
169
- });
160
+ const searchBox = blessed.box({
161
+ top: 'center',
162
+ left: '40%', // Center of right pane (30% + 70%/2 = 65%)
163
+ width: '50%',
164
+ height: 3,
165
+ label: ' Search ',
166
+ border: { type: 'line' },
167
+ style: { border: { fg: 'yellow' } },
168
+ hidden: true,
169
+ });
170
170
 
171
171
  const searchInput = blessed.textbox({
172
172
  parent: searchBox,
@@ -179,63 +179,63 @@ const searchBox = blessed.box({
179
179
  style: { fg: 'white', bg: 'black' },
180
180
  });
181
181
 
182
- // Confirmation dialog for revert
183
- const confirmDialog = blessed.box({
184
- top: 'center',
185
- left: '45%', // Center of right pane (30% + 70%/2 = 65%)
186
- width: '38%',
187
- label: ' Confirm Revert ',
188
- height: 3,
189
- content: 'Press SPACE key to confirm revert or ESC to cancel.',
190
- border: { type: 'line' },
191
- style: {
192
- fg: 'yellow',
193
- bg: 'black',
194
- border: { fg: 'yellow' }
195
- },
196
- hidden: true,
197
- });
198
-
199
- const notificationBox = blessed.box({
200
- top: 'center',
201
- left: '45%', // Center of right pane (30% + 70%/2 = 65%)
202
- width: '38%',
203
- height: 3,
204
- label: ' Notification ',
205
- border: { type: 'line' },
206
- style: {
207
- fg: 'green',
208
- bg: 'black',
209
- border: { fg: 'green' }
210
- },
211
- hidden: true,
212
- });
213
-
214
- const showNotification = (message: string, color: 'green' | 'red' = 'green') => {
215
- const previouslyFocused = screen.focused;
216
- notificationBox.setContent(message);
217
- notificationBox.style = {
218
- fg: color,
219
- bg: 'black',
220
- border: { fg: color }
221
- };
222
- notificationBox.show();
223
- notificationBox.setFront();
224
- screen.render();
225
-
226
- setTimeout(() => {
227
- notificationBox.hide();
228
- if (previouslyFocused && previouslyFocused !== notificationBox) {
229
- previouslyFocused.focus();
230
- } else {
231
- fileList.focus();
232
- }
233
- updateBorders();
234
- screen.render();
235
- }, 3000);
236
- };
237
-
238
- // Branch display in bottom right
182
+ // Confirmation dialog for revert
183
+ const confirmDialog = blessed.box({
184
+ top: 'center',
185
+ left: '45%', // Center of right pane (30% + 70%/2 = 65%)
186
+ width: '38%',
187
+ label: ' Confirm Revert ',
188
+ height: 3,
189
+ content: 'Press SPACE key to confirm revert or ESC to cancel.',
190
+ border: { type: 'line' },
191
+ style: {
192
+ fg: 'yellow',
193
+ bg: 'black',
194
+ border: { fg: 'yellow' }
195
+ },
196
+ hidden: true,
197
+ });
198
+
199
+ const notificationBox = blessed.box({
200
+ top: 'center',
201
+ left: '45%', // Center of right pane (30% + 70%/2 = 65%)
202
+ width: '38%',
203
+ height: 3,
204
+ label: ' Notification ',
205
+ border: { type: 'line' },
206
+ style: {
207
+ fg: 'green',
208
+ bg: 'black',
209
+ border: { fg: 'green' }
210
+ },
211
+ hidden: true,
212
+ });
213
+
214
+ const showNotification = (message: string, color: 'green' | 'red' = 'green') => {
215
+ const previouslyFocused = screen.focused;
216
+ notificationBox.setContent(message);
217
+ notificationBox.style = {
218
+ fg: color,
219
+ bg: 'black',
220
+ border: { fg: color }
221
+ };
222
+ notificationBox.show();
223
+ notificationBox.setFront();
224
+ screen.render();
225
+
226
+ setTimeout(() => {
227
+ notificationBox.hide();
228
+ if (previouslyFocused && previouslyFocused !== notificationBox) {
229
+ previouslyFocused.focus();
230
+ } else {
231
+ fileList.focus();
232
+ }
233
+ updateBorders();
234
+ screen.render();
235
+ }, 3000);
236
+ };
237
+
238
+ // Branch display in bottom right
239
239
  const branchBox = blessed.box({
240
240
  bottom: 0,
241
241
  right: 0,
@@ -257,13 +257,13 @@ const searchBox = blessed.box({
257
257
  content: chalk.green('←→') + ' Switch |' + chalk.green(' ⏎') + ' Open | ' + chalk.green('S') + ' Search | ' + chalk.green('R') + ' Revert | ' + chalk.green('Q') + ' Quit ',
258
258
  });
259
259
 
260
- screen.append(fileList);
261
- screen.append(diffView);
262
- screen.append(searchBox);
263
- screen.append(notificationBox);
264
- screen.append(confirmDialog);
265
- screen.append(footer);
266
- screen.append(branchBox);
260
+ screen.append(fileList);
261
+ screen.append(diffView);
262
+ screen.append(searchBox);
263
+ screen.append(notificationBox);
264
+ screen.append(confirmDialog);
265
+ screen.append(footer);
266
+ screen.append(branchBox);
267
267
 
268
268
  const updateBorders = () => {
269
269
  fileList.style.border.fg = screen.focused === fileList ? 'yellow' : 'white';
@@ -271,13 +271,13 @@ const searchBox = blessed.box({
271
271
  screen.render();
272
272
  };
273
273
 
274
- let currentFiles: FileStatus[] = [];
275
- let lastSelectedPath: string | null = null;
276
- let diffUpdateTimeout: NodeJS.Timeout | null = null;
277
- let currentSearchTerm: string = '';
278
- let currentBranch: string = '';
279
- let lastFilePaths: string[] = [];
280
- let isUpdatingList = false;
274
+ let currentFiles: FileStatus[] = [];
275
+ let lastSelectedPath: string | null = null;
276
+ let diffUpdateTimeout: NodeJS.Timeout | null = null;
277
+ let currentSearchTerm: string = '';
278
+ let currentBranch: string = '';
279
+ let lastFilePaths: string[] = [];
280
+ let isUpdatingList = false;
281
281
 
282
282
  const scheduleDiffUpdate = () => {
283
283
  if (diffUpdateTimeout) clearTimeout(diffUpdateTimeout);
@@ -286,22 +286,22 @@ const searchBox = blessed.box({
286
286
  }, 150); // 150ms debounce
287
287
  };
288
288
 
289
- const handleScroll = (direction: 'up' | 'down') => {
290
- const focused = screen.focused;
291
- if (focused === fileList) {
292
- if (direction === 'up') {
293
- focused.up(1);
294
- } else {
295
- focused.down(1);
296
- }
297
- scheduleDiffUpdate();
298
- screen.render();
299
- } else if (focused === diffView) {
300
- const scrollAmount = direction === 'up' ? -2 : 2;
301
- diffView.scroll(scrollAmount);
302
- screen.render();
303
- }
304
- };
289
+ const handleScroll = (direction: 'up' | 'down') => {
290
+ const focused = screen.focused;
291
+ if (focused === fileList) {
292
+ if (direction === 'up') {
293
+ focused.up(1);
294
+ } else {
295
+ focused.down(1);
296
+ }
297
+ scheduleDiffUpdate();
298
+ screen.render();
299
+ } else if (focused === diffView) {
300
+ const scrollAmount = direction === 'up' ? -2 : 2;
301
+ diffView.scroll(scrollAmount);
302
+ screen.render();
303
+ }
304
+ };
305
305
 
306
306
  // Remove default wheel listeners to enforce "scroll focused only" behavior
307
307
  fileList.removeAllListeners('wheeldown');
@@ -310,14 +310,14 @@ const searchBox = blessed.box({
310
310
  diffView.removeAllListeners('wheelup');
311
311
 
312
312
  // Attach custom scroll handlers to widgets (captures wheel even if hovering specific widget)
313
- // We use widget-level listeners now that screen.mouse is true.
314
- // We attach to both to ensure the event is caught regardless of where the mouse is.
315
- // We use widget-level listeners now that screen.mouse is true.
316
- // We attach to both to ensure the event is caught regardless of where the mouse is.
317
- // The handleScroll function will then decide WHAT to scroll based on focus.
318
-
319
- diffView.on('wheeldown', () => handleScroll('down'));
320
- diffView.on('wheelup', () => handleScroll('up'));
313
+ // We use widget-level listeners now that screen.mouse is true.
314
+ // We attach to both to ensure the event is caught regardless of where the mouse is.
315
+ // We use widget-level listeners now that screen.mouse is true.
316
+ // We attach to both to ensure the event is caught regardless of where the mouse is.
317
+ // The handleScroll function will then decide WHAT to scroll based on focus.
318
+
319
+ diffView.on('wheeldown', () => handleScroll('down'));
320
+ diffView.on('wheelup', () => handleScroll('up'));
321
321
 
322
322
  // Also listen on screen for events that might miss the widgets (margins, borders)
323
323
  screen.on('wheeldown', () => handleScroll('down'));
@@ -411,22 +411,22 @@ const searchBox = blessed.box({
411
411
  screen.render();
412
412
  };
413
413
 
414
- const updateFileList = async () => {
415
- if (isUpdatingList) return;
416
- isUpdatingList = true;
417
-
418
- const selectedPath = currentFiles[fileList.selected]?.path;
419
-
420
- let files: FileStatus[];
421
-
422
- if (currentSearchTerm) {
423
- files = await gitHandler.searchFiles(currentSearchTerm);
424
- } else {
425
- files = await gitHandler.getStatus();
426
- }
427
-
428
- currentFiles = files;
429
-
414
+ const updateFileList = async () => {
415
+ if (isUpdatingList) return;
416
+ isUpdatingList = true;
417
+
418
+ const selectedPath = currentFiles[fileList.selected]?.path;
419
+
420
+ let files: FileStatus[];
421
+
422
+ if (currentSearchTerm) {
423
+ files = await gitHandler.searchFiles(currentSearchTerm);
424
+ } else {
425
+ files = await gitHandler.getStatus();
426
+ }
427
+
428
+ currentFiles = files;
429
+
430
430
  const items = files.map((f) => {
431
431
  let color = '{white-fg}';
432
432
  if (f.status === 'added') color = '{green-fg}';
@@ -435,64 +435,71 @@ const searchBox = blessed.box({
435
435
  else if (f.status === 'unstaged') color = '{white-fg}';
436
436
  else if (f.status === 'unchanged') color = '{grey-fg}';
437
437
 
438
- return `${color}${f.path}{/}`;
439
- });
440
-
441
- const labelTitle = currentSearchTerm ? `Files (${files.length}) - Searching: "${currentSearchTerm}"` : `Files (${files.length})`;
442
-
443
- const newFilePaths = files.map(f => f.path);
444
- const selectedFileStillExists = selectedPath ? newFilePaths.includes(selectedPath) : false;
445
- const listChanged = lastFilePaths.length !== newFilePaths.length ||
446
- lastFilePaths.some(path => !newFilePaths.includes(path)) ||
447
- newFilePaths.some(path => !lastFilePaths.includes(path));
448
-
449
- if (items.length > 0) {
450
- const newSelectedIndex = selectedPath ? currentFiles.findIndex(f => f.path === selectedPath) : -1;
451
-
452
- const oldFileList = fileList;
453
- const newFileList = createFileList();
454
- newFileList.setLabel(labelTitle);
455
- newFileList.setItems(items);
456
- newFileList.select(newSelectedIndex >= 0 ? newSelectedIndex : 0);
457
-
458
- if (!selectedFileStillExists || listChanged) {
459
- lastSelectedPath = null;
460
- }
461
-
462
- lastFilePaths = newFilePaths;
463
-
464
- if (diffUpdateTimeout) {
465
- clearTimeout(diffUpdateTimeout);
466
- diffUpdateTimeout = null;
467
- }
468
- await updateDiff();
469
-
470
- oldFileList.destroy();
471
- screen.remove(oldFileList);
472
- fileList = newFileList;
473
- screen.append(fileList);
474
- } else {
475
- const oldFileList = fileList;
476
- const newFileList = createFileList();
477
- newFileList.setLabel(labelTitle);
478
- newFileList.setItems([]);
479
-
480
- diffView.setContent(currentSearchTerm ? `No files match "${currentSearchTerm}".` : 'No changes detected.');
481
- diffView.setLabel(' Diff () ');
482
- lastSelectedPath = null;
483
- lastFilePaths = [];
484
-
485
- oldFileList.destroy();
486
- screen.remove(oldFileList);
487
- fileList = newFileList;
488
- screen.append(fileList);
489
- }
490
-
491
- screen.render();
492
- isUpdatingList = false;
493
- };
494
-
438
+ let statusSymbol = '';
439
+ if (f.status === 'added') statusSymbol = 'A ';
440
+ else if (f.status === 'deleted') statusSymbol = 'D ';
441
+ else if (f.status === 'modified') statusSymbol = 'M ';
442
+ else if (f.status === 'unstaged') statusSymbol = '? ';
443
+ else if (f.status === 'unchanged') statusSymbol = ' ';
495
444
 
445
+ return `${color}${statusSymbol}${f.path}{/}`;
446
+ });
447
+
448
+ const labelTitle = currentSearchTerm ? `Files (${files.length}) - Searching: "${currentSearchTerm}"` : `Files (${files.length})`;
449
+
450
+ const newFilePaths = files.map(f => f.path);
451
+ const selectedFileStillExists = selectedPath ? newFilePaths.includes(selectedPath) : false;
452
+ const listChanged = lastFilePaths.length !== newFilePaths.length ||
453
+ lastFilePaths.some(path => !newFilePaths.includes(path)) ||
454
+ newFilePaths.some(path => !lastFilePaths.includes(path));
455
+
456
+ if (items.length > 0) {
457
+ const newSelectedIndex = selectedPath ? currentFiles.findIndex(f => f.path === selectedPath) : -1;
458
+
459
+ const oldFileList = fileList;
460
+ const newFileList = createFileList();
461
+ newFileList.setLabel(labelTitle);
462
+ newFileList.setItems(items);
463
+ newFileList.select(newSelectedIndex >= 0 ? newSelectedIndex : 0);
464
+
465
+ if (!selectedFileStillExists || listChanged) {
466
+ lastSelectedPath = null;
467
+ }
468
+
469
+ lastFilePaths = newFilePaths;
470
+
471
+ if (diffUpdateTimeout) {
472
+ clearTimeout(diffUpdateTimeout);
473
+ diffUpdateTimeout = null;
474
+ }
475
+ await updateDiff();
476
+
477
+ oldFileList.destroy();
478
+ screen.remove(oldFileList);
479
+ fileList = newFileList;
480
+ screen.append(fileList);
481
+ } else {
482
+ const oldFileList = fileList;
483
+ const newFileList = createFileList();
484
+ newFileList.setLabel(labelTitle);
485
+ newFileList.setItems([]);
486
+
487
+ diffView.setContent(currentSearchTerm ? `No files match "${currentSearchTerm}".` : 'No changes detected.');
488
+ diffView.setLabel(' Diff () ');
489
+ lastSelectedPath = null;
490
+ lastFilePaths = [];
491
+
492
+ oldFileList.destroy();
493
+ screen.remove(oldFileList);
494
+ fileList = newFileList;
495
+ screen.append(fileList);
496
+ }
497
+
498
+ screen.render();
499
+ isUpdatingList = false;
500
+ };
501
+
502
+
496
503
 
497
504
  screen.key(['s'], () => {
498
505
  searchBox.show();
@@ -525,19 +532,19 @@ const searchBox = blessed.box({
525
532
  updateBorders();
526
533
  });
527
534
 
528
- screen.key(['left'], () => {
529
- if (screen.focused !== fileList) {
530
- fileList.focus();
531
- updateBorders();
532
- }
533
- });
534
-
535
- screen.key(['right'], () => {
536
- if (screen.focused !== diffView) {
537
- diffView.focus();
538
- updateBorders();
539
- }
540
- });
535
+ screen.key(['left'], () => {
536
+ if (screen.focused !== fileList) {
537
+ fileList.focus();
538
+ updateBorders();
539
+ }
540
+ });
541
+
542
+ screen.key(['right'], () => {
543
+ if (screen.focused !== diffView) {
544
+ diffView.focus();
545
+ updateBorders();
546
+ }
547
+ });
541
548
 
542
549
  screen.key(['enter'], () => {
543
550
  const selectedIndex = fileList.selected;
@@ -547,84 +554,84 @@ const searchBox = blessed.box({
547
554
  }
548
555
  });
549
556
 
550
- // Handle revert key press
551
- screen.key(['r'], async () => {
552
- const selectedIndex = fileList.selected;
553
- const selectedFile = currentFiles[selectedIndex];
554
- if (selectedFile) {
555
- confirmDialog.show();
556
- confirmDialog.setFront();
557
- confirmDialog.focus();
558
- screen.render();
559
- }
560
- });
561
-
562
- // Handle dialog keys
563
- confirmDialog.key(['space'], async () => {
564
- const selectedIndex = fileList.selected;
565
- const selectedFile = currentFiles[selectedIndex];
566
- if (selectedFile) {
567
- try {
568
- await gitHandler.revertFile(selectedFile.path);
569
- showNotification(`File ${selectedFile.path} reverted successfully.`, 'green');
570
- await updateFileList();
571
- } catch (error) {
572
- const errorMessage = error instanceof Error ? error.message : String(error);
573
- showNotification(`Error reverting file: ${errorMessage}`, 'red');
574
- }
575
- }
576
- confirmDialog.hide();
577
- fileList.focus();
578
- screen.render();
579
- });
580
-
581
- confirmDialog.key(['escape'], () => {
582
- confirmDialog.hide();
583
- fileList.focus();
584
- screen.render();
585
- });
586
-
587
- await updateBranch();
588
- await updateFileList();
589
- fileList.focus();
590
- updateBorders();
591
-
592
- // Set up periodic updates to detect new git changes
593
- const updateInterval = setInterval(async () => {
594
- const currentlyFocused = screen.focused;
595
- const wasFileListFocused = currentlyFocused === fileList;
596
-
597
- await updateBranch();
598
- await updateFileList();
599
-
600
- // Restore focus to the same pane it was on before the update
601
- if (wasFileListFocused) {
602
- fileList.focus();
603
- } else if (currentlyFocused === diffView) {
604
- diffView.focus();
605
- }
606
- updateBorders();
607
- }, 2000); // Check for changes every 2 seconds
608
-
609
- // Clean up interval on exit
610
- screen.key(['escape', 'q', 'C-c'], () => {
611
- // Don't handle ESC if confirmation dialog has focus or is visible
612
- if (screen.focused === confirmDialog || !confirmDialog.hidden) {
613
- return false;
614
- }
615
-
616
- if (!searchBox.hidden) {
617
- searchBox.hide();
618
- screen.render();
619
- fileList.focus();
620
- return false;
621
- } else {
622
- // Clear interval only when actually exiting
623
- clearInterval(updateInterval);
624
- screen.destroy();
625
- process.exit(0);
626
- }
627
- });
557
+ // Handle revert key press
558
+ screen.key(['r'], async () => {
559
+ const selectedIndex = fileList.selected;
560
+ const selectedFile = currentFiles[selectedIndex];
561
+ if (selectedFile) {
562
+ confirmDialog.show();
563
+ confirmDialog.setFront();
564
+ confirmDialog.focus();
565
+ screen.render();
566
+ }
567
+ });
568
+
569
+ // Handle dialog keys
570
+ confirmDialog.key(['space'], async () => {
571
+ const selectedIndex = fileList.selected;
572
+ const selectedFile = currentFiles[selectedIndex];
573
+ if (selectedFile) {
574
+ try {
575
+ await gitHandler.revertFile(selectedFile.path);
576
+ showNotification(`File ${selectedFile.path} reverted successfully.`, 'green');
577
+ await updateFileList();
578
+ } catch (error) {
579
+ const errorMessage = error instanceof Error ? error.message : String(error);
580
+ showNotification(`Error reverting file: ${errorMessage}`, 'red');
581
+ }
582
+ }
583
+ confirmDialog.hide();
584
+ fileList.focus();
585
+ screen.render();
586
+ });
587
+
588
+ confirmDialog.key(['escape'], () => {
589
+ confirmDialog.hide();
590
+ fileList.focus();
591
+ screen.render();
592
+ });
593
+
594
+ await updateBranch();
595
+ await updateFileList();
596
+ fileList.focus();
597
+ updateBorders();
598
+
599
+ // Set up periodic updates to detect new git changes
600
+ const updateInterval = setInterval(async () => {
601
+ const currentlyFocused = screen.focused;
602
+ const wasFileListFocused = currentlyFocused === fileList;
603
+
604
+ await updateBranch();
605
+ await updateFileList();
606
+
607
+ // Restore focus to the same pane it was on before the update
608
+ if (wasFileListFocused) {
609
+ fileList.focus();
610
+ } else if (currentlyFocused === diffView) {
611
+ diffView.focus();
612
+ }
613
+ updateBorders();
614
+ }, 2000); // Check for changes every 2 seconds
615
+
616
+ // Clean up interval on exit
617
+ screen.key(['escape', 'q', 'C-c'], () => {
618
+ // Don't handle ESC if confirmation dialog has focus or is visible
619
+ if (screen.focused === confirmDialog || !confirmDialog.hidden) {
620
+ return false;
621
+ }
622
+
623
+ if (!searchBox.hidden) {
624
+ searchBox.hide();
625
+ screen.render();
626
+ fileList.focus();
627
+ return false;
628
+ } else {
629
+ // Clear interval only when actually exiting
630
+ clearInterval(updateInterval);
631
+ screen.destroy();
632
+ process.exit(0);
633
+ }
634
+ });
628
635
  }
629
636
 
630
637
  main().catch(err => {