reslop 0.1.8 → 0.2.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +27 -38
  3. package/bin/reslop.js +2 -2
  4. package/lib/ansi.js +6 -2
  5. package/lib/api.js +2 -2
  6. package/lib/capabilities.js +10 -14
  7. package/lib/cli.js +28 -47
  8. package/lib/clipboard.js +1 -1
  9. package/lib/deps-diff.js +712 -0
  10. package/lib/deps.js +556 -32
  11. package/lib/detect.js +1 -7
  12. package/lib/diff/align.js +7 -10
  13. package/lib/diff/diff.js +53 -0
  14. package/lib/diff/display.js +5 -4
  15. package/lib/diff/inline.js +26 -21
  16. package/lib/diff/items.js +6 -4
  17. package/lib/diff/patch.js +1 -3
  18. package/lib/diff/unit.js +392 -0
  19. package/lib/files.js +34 -8
  20. package/lib/{git/branches.js → git-branches.js} +103 -10
  21. package/lib/{git/dependencies.js → git-deps.js} +111 -38
  22. package/lib/git.js +592 -65
  23. package/lib/github.js +28 -197
  24. package/lib/gitlab.js +24 -195
  25. package/lib/highlight/bash.js +1 -3
  26. package/lib/highlight/css.js +1 -3
  27. package/lib/highlight/js.js +11 -14
  28. package/lib/highlight.js +6 -9
  29. package/lib/keys.js +22 -9
  30. package/lib/manifest.js +330 -0
  31. package/lib/remote.js +374 -0
  32. package/lib/render/branches.js +34 -66
  33. package/lib/render/chrome.js +57 -22
  34. package/lib/render/commits.js +85 -0
  35. package/lib/render/diff.js +16 -16
  36. package/lib/render/files.js +29 -37
  37. package/lib/render/frame.js +29 -13
  38. package/lib/render/notes.js +4 -3
  39. package/lib/render/primitives.js +46 -1
  40. package/lib/{render.js → render/render.js} +6 -7
  41. package/lib/render/unit.js +41 -0
  42. package/lib/review.js +750 -14
  43. package/lib/select.js +5 -10
  44. package/lib/session/accessors.js +9 -1
  45. package/lib/session/actions.js +93 -36
  46. package/lib/session/branches.js +130 -144
  47. package/lib/session/change-actions.js +206 -124
  48. package/lib/session/commit.js +217 -62
  49. package/lib/session/compose.js +158 -13
  50. package/lib/session/dispatch.js +109 -55
  51. package/lib/session/files-pane.js +145 -142
  52. package/lib/session/items.js +131 -34
  53. package/lib/session/lifecycle.js +82 -42
  54. package/lib/session/load.js +19 -33
  55. package/lib/session/navigation.js +15 -3
  56. package/lib/session/ops.js +28 -41
  57. package/lib/session/pointer.js +58 -54
  58. package/lib/session/review.js +23 -37
  59. package/lib/session/terminal.js +6 -12
  60. package/lib/session/todos.js +8 -12
  61. package/lib/session/unit.js +208 -0
  62. package/lib/session/update.js +33 -46
  63. package/lib/session/view.js +82 -11
  64. package/lib/session/watch.js +11 -19
  65. package/lib/session.js +29 -226
  66. package/lib/source.js +3 -3
  67. package/lib/update.js +40 -75
  68. package/lib/{git/proc.js → utilities.js} +75 -11
  69. package/lib/wrap.js +1 -3
  70. package/package.json +2 -2
  71. package/lib/deps/changes.js +0 -331
  72. package/lib/deps/items.js +0 -131
  73. package/lib/deps/manifest.js +0 -145
  74. package/lib/deps/merge.js +0 -120
  75. package/lib/deps/proposals.js +0 -164
  76. package/lib/deps/reports.js +0 -180
  77. package/lib/deps/rows.js +0 -177
  78. package/lib/deps/scan.js +0 -138
  79. package/lib/deps/usage.js +0 -68
  80. package/lib/deps/versions.js +0 -119
  81. package/lib/diff.js +0 -33
  82. package/lib/git/changes.js +0 -164
  83. package/lib/git/read.js +0 -253
  84. package/lib/git/run.js +0 -100
  85. package/lib/npm/commands.js +0 -100
  86. package/lib/remote/changes.js +0 -37
  87. package/lib/remote/headers.js +0 -36
  88. package/lib/remote/http.js +0 -122
  89. package/lib/remote/notes.js +0 -94
  90. package/lib/review/format.js +0 -434
  91. package/lib/review/storage.js +0 -150
  92. package/lib/review/store.js +0 -178
  93. package/lib/review/templates.js +0 -49
  94. package/lib/session/origins.js +0 -7
  95. package/lib/sys.js +0 -84
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- const chrome = require('./render/chrome.js');
4
- const notes = require('./render/notes.js');
5
- const diff = require('./render/diff.js');
6
- const present = require('./render/present.js');
7
- const { renderFrame } = require('./render/frame.js');
3
+ const chrome = require('./chrome.js');
4
+ const notes = require('./notes.js');
5
+ const diff = require('./diff.js');
6
+ const present = require('./present.js');
7
+ const { renderFrame } = require('./frame.js');
8
8
 
9
- const { QUIT_PROMPT, COMMIT_PROMPT, PUSH_PROMPT } = chrome;
9
+ const { QUIT_PROMPT, PUSH_PROMPT } = chrome;
10
10
  const { updatePrompt, dropPrompt } = chrome;
11
11
  const { formatBusyStatus, headerText, layoutButtons } = chrome;
12
12
  const { DEL_CHAR_BG, ADD_CHAR_BG, paintDiffLine, codeInnerWidth } = diff;
@@ -15,7 +15,6 @@ const { presentCursor, presentRows } = present;
15
15
 
16
16
  module.exports = {
17
17
  QUIT_PROMPT,
18
- COMMIT_PROMPT,
19
18
  PUSH_PROMPT,
20
19
  updatePrompt,
21
20
  dropPrompt,
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ const { detectLang } = require('../detect.js');
4
+ const primitives = require('./primitives.js');
5
+ const diff = require('./diff.js');
6
+
7
+ const { paneResult } = primitives;
8
+ const { paintDiffLine, codeCursorInRows } = diff;
9
+ const { sameHunk } = require('../diff/diff.js');
10
+
11
+ const paintBodyUnit = (view, width, color) => {
12
+ const lines = view.unitLines ?? [];
13
+ const item = view.item;
14
+ const lang = detectLang(view.reviewPath ?? '');
15
+ const overlay = view.codeOverlay;
16
+ const editing = view.mode === 'compose' && overlay;
17
+ const { length } = lines;
18
+ const body = new Array(length);
19
+ for (let i = 0; i < length; i++) {
20
+ const line = lines[i];
21
+ const isBlock = item && sameHunk(line.item, item);
22
+ const row = { ...line };
23
+ if (editing) {
24
+ row.mark = ' ';
25
+ } else if ((row.type === 'add' || row.type === 'del') && !isBlock) {
26
+ row.mark = ' ';
27
+ }
28
+ body[i] = paintDiffLine(row, width, color, row.origin, lang);
29
+ }
30
+ const edit = overlay ? overlay.cursor : null;
31
+ const cursor = codeCursorInRows(lines, false, width, edit);
32
+ return paneResult({
33
+ body,
34
+ fileHits: [],
35
+ todoOwners: [],
36
+ cursor,
37
+ splitBody: false,
38
+ });
39
+ };
40
+
41
+ module.exports = { paintBodyUnit };