@frehilm/ordna-cli 0.1.1 → 0.1.3

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.
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ARCHIVED_STATUS, updateTask as updateTaskCore, } from "@frehilm/ordna-core";
3
3
  import { Box, Text, useInput } from "ink";
4
4
  import TextInput from "ink-text-input";
5
- import React, { useMemo, useState } from "react";
5
+ import React, { useEffect, useMemo, useState } from "react";
6
6
  import { colorForStatus, tagColor, theme } from "./theme.js";
7
7
  const PRIORITIES = [null, "low", "medium", "high"];
8
8
  function toDraft(task) {
@@ -46,11 +46,87 @@ function statusOptions(config) {
46
46
  function priorityLabel(p) {
47
47
  return p === null ? "—" : p;
48
48
  }
49
- function MultilineEditor({ value, onChange, width, }) {
49
+ function offsetToRowCol(value, offset) {
50
+ const lines = value.split("\n");
51
+ let acc = 0;
52
+ for (let i = 0; i < lines.length; i += 1) {
53
+ const len = (lines[i] ?? "").length;
54
+ if (offset <= acc + len)
55
+ return [i, offset - acc];
56
+ acc += len + 1;
57
+ }
58
+ const last = Math.max(0, lines.length - 1);
59
+ return [last, (lines[last] ?? "").length];
60
+ }
61
+ function rowColToOffset(value, row, col) {
62
+ const lines = value.split("\n");
63
+ const r = Math.max(0, Math.min(row, lines.length - 1));
64
+ const lineLen = (lines[r] ?? "").length;
65
+ const c = Math.max(0, Math.min(col, lineLen));
66
+ let acc = 0;
67
+ for (let i = 0; i < r; i += 1)
68
+ acc += (lines[i] ?? "").length + 1;
69
+ return acc + c;
70
+ }
71
+ function isWordChar(ch) {
72
+ return /[A-Za-z0-9_]/.test(ch);
73
+ }
74
+ function wordLeft(value, cursor) {
75
+ let i = cursor;
76
+ while (i > 0 && !isWordChar(value[i - 1] ?? ""))
77
+ i -= 1;
78
+ while (i > 0 && isWordChar(value[i - 1] ?? ""))
79
+ i -= 1;
80
+ return i;
81
+ }
82
+ function wordRight(value, cursor) {
83
+ let i = cursor;
84
+ const n = value.length;
85
+ while (i < n && !isWordChar(value[i] ?? ""))
86
+ i += 1;
87
+ while (i < n && isWordChar(value[i] ?? ""))
88
+ i += 1;
89
+ return i;
90
+ }
91
+ function wrapText(text, width) {
92
+ if (width <= 0)
93
+ return [text];
94
+ const out = [];
95
+ for (const para of text.split("\n")) {
96
+ if (para.length === 0) {
97
+ out.push("");
98
+ continue;
99
+ }
100
+ let remaining = para;
101
+ while (remaining.length > width) {
102
+ let breakAt = width;
103
+ const lastSpace = remaining.lastIndexOf(" ", width);
104
+ if (lastSpace > Math.floor(width / 2))
105
+ breakAt = lastSpace;
106
+ out.push(remaining.slice(0, breakAt).trimEnd());
107
+ remaining = remaining.slice(breakAt).replace(/^ +/, "");
108
+ }
109
+ out.push(remaining);
110
+ }
111
+ return out;
112
+ }
113
+ function sectionHeight(content, innerWidth) {
114
+ // 1 marginTop + 1 heading + content lines (paddingLeft=2)
115
+ const contentWidth = Math.max(1, innerWidth - 2);
116
+ const contentLines = content.length === 0 ? 1 : wrapText(content, contentWidth).length;
117
+ return 1 + 1 + contentLines;
118
+ }
119
+ function MultilineEditor({ value, cursor, width, }) {
50
120
  const lines = value.length === 0 ? [""] : value.split("\n");
121
+ const [cursorRow, cursorCol] = offsetToRowCol(value, cursor);
51
122
  return (_jsx(Box, { flexDirection: "column", width: width, children: lines.map((line, i) => {
52
- const isLast = i === lines.length - 1;
53
- return (_jsxs(Text, { color: theme.text, wrap: "wrap", children: [line, isLast ? _jsx(Text, { color: theme.accent, inverse: true, children: " " }) : null] }, `${i}-${line.length}`));
123
+ if (i !== cursorRow) {
124
+ return (_jsx(Text, { color: theme.text, wrap: "wrap", children: line }, `${i}-${line.length}`));
125
+ }
126
+ const before = line.slice(0, cursorCol);
127
+ const at = line[cursorCol];
128
+ const after = line.slice(cursorCol + 1);
129
+ return (_jsxs(Text, { color: theme.text, wrap: "wrap", children: [before, _jsx(Text, { color: theme.accent, inverse: true, children: at ?? " " }), after] }, `${i}-${line.length}-c`));
54
130
  }) }));
55
131
  }
56
132
  export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
@@ -59,10 +135,101 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
59
135
  const [editing, setEditing] = useState(false);
60
136
  const [saving, setSaving] = useState(false);
61
137
  const [error, setError] = useState(null);
138
+ const [cursor, setCursor] = useState(0);
139
+ const [sectionScrollIdx, setSectionScrollIdx] = useState(0);
62
140
  const fields = useMemo(() => buildFields(draft), [draft]);
63
141
  const focused = fields[focusIdx] ?? fields[0];
64
142
  const innerWidth = Math.max(10, width - 4);
65
143
  const valueWidth = Math.max(10, innerWidth - 12);
144
+ // Sections area height: total popup height minus borders/padding (4),
145
+ // id row (1), error row (0/1), 1 marginTop above metadata, 6 metadata rows,
146
+ // 1 marginTop above footer, 1 footer row.
147
+ const reservedRows = 4 + 1 + (error ? 1 : 0) + 1 + 6 + 1 + 1;
148
+ const sectionsAreaHeight = Math.max(1, height - reservedRows);
149
+ const renderableSections = useMemo(() => {
150
+ return draft.sections
151
+ .map((s, i) => ({ section: s, index: i }))
152
+ .filter((entry) => entry.section.heading !== "");
153
+ }, [draft.sections]);
154
+ const sectionLayout = useMemo(() => {
155
+ // Walk renderable sections starting at sectionScrollIdx, accumulating
156
+ // heights until we exceed the available area. Reserve indicator rows
157
+ // (1 each) only when scrolling is needed in that direction.
158
+ const total = renderableSections.length;
159
+ const start = Math.max(0, Math.min(total, sectionScrollIdx));
160
+ const hasAbove = start > 0;
161
+ let used = hasAbove ? 1 : 0;
162
+ let end = start;
163
+ while (end < total) {
164
+ const entry = renderableSections[end];
165
+ if (!entry)
166
+ break;
167
+ const h = sectionHeight(entry.section.content, innerWidth);
168
+ // Reserve a row for the bottom indicator if this isn't the last section
169
+ const bottomReserve = end < total - 1 ? 1 : 0;
170
+ if (used + h + bottomReserve > sectionsAreaHeight && end > start)
171
+ break;
172
+ used += h;
173
+ end += 1;
174
+ }
175
+ return {
176
+ start,
177
+ end,
178
+ aboveCount: start,
179
+ belowCount: Math.max(0, total - end),
180
+ total,
181
+ };
182
+ }, [renderableSections, sectionScrollIdx, sectionsAreaHeight, innerWidth]);
183
+ // When the focused field is a section that's outside the current window,
184
+ // adjust the scroll so it becomes visible. Run after render so we use the
185
+ // just-computed layout.
186
+ useEffect(() => {
187
+ if (focused?.kind !== "section")
188
+ return;
189
+ const sectionIdx = renderableSections.findIndex((e) => e.index === focused.index);
190
+ if (sectionIdx === -1)
191
+ return;
192
+ if (sectionIdx < sectionLayout.start) {
193
+ setSectionScrollIdx(sectionIdx);
194
+ return;
195
+ }
196
+ if (sectionIdx >= sectionLayout.end) {
197
+ // Scroll forward by enough sections to bring this one into view.
198
+ // Walk backward from the focused section, accumulating heights
199
+ // until the budget is filled.
200
+ let used = 1; // top indicator
201
+ let newStart = sectionIdx;
202
+ while (newStart > 0) {
203
+ const prev = renderableSections[newStart - 1];
204
+ if (!prev)
205
+ break;
206
+ const h = sectionHeight(prev.section.content, innerWidth);
207
+ const bottomReserve = sectionIdx < renderableSections.length - 1 ? 1 : 0;
208
+ const focusedH = sectionHeight(renderableSections[sectionIdx]?.section.content ?? "", innerWidth);
209
+ if (used + focusedH + h + bottomReserve > sectionsAreaHeight)
210
+ break;
211
+ newStart -= 1;
212
+ used += h;
213
+ }
214
+ setSectionScrollIdx(newStart);
215
+ }
216
+ }, [
217
+ focused,
218
+ renderableSections,
219
+ sectionLayout,
220
+ sectionsAreaHeight,
221
+ innerWidth,
222
+ ]);
223
+ useEffect(() => {
224
+ if (!editing)
225
+ return;
226
+ if (focused?.kind !== "section")
227
+ return;
228
+ const sec = draft.sections[focused.index];
229
+ if (!sec)
230
+ return;
231
+ setCursor((c) => Math.max(0, Math.min(c, sec.content.length)));
232
+ }, [editing, focused, draft.sections]);
66
233
  const save = async () => {
67
234
  setSaving(true);
68
235
  setError(null);
@@ -143,28 +310,87 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
143
310
  const section = draft.sections[idx];
144
311
  if (!section)
145
312
  return;
146
- if (key.return) {
147
- const next = `${section.content}\n`;
313
+ const content = section.content;
314
+ const writeContent = (next, nextCursor) => {
315
+ const clamped = Math.max(0, Math.min(next.length, nextCursor));
148
316
  setDraft((d) => ({
149
317
  ...d,
150
- sections: d.sections.map((s, i) => (i === idx ? { ...s, content: next } : s)),
318
+ sections: d.sections.map((s, i) => i === idx ? { ...s, content: next } : s),
151
319
  }));
320
+ setCursor(clamped);
321
+ };
322
+ const moveCursor = (next) => {
323
+ setCursor(Math.max(0, Math.min(content.length, next)));
324
+ };
325
+ // Word jumps (Ctrl+Left/Right)
326
+ if (key.ctrl && key.leftArrow) {
327
+ moveCursor(wordLeft(content, cursor));
152
328
  return;
153
329
  }
154
- if (key.backspace || key.delete) {
155
- const next = section.content.slice(0, -1);
156
- setDraft((d) => ({
157
- ...d,
158
- sections: d.sections.map((s, i) => (i === idx ? { ...s, content: next } : s)),
159
- }));
330
+ if (key.ctrl && key.rightArrow) {
331
+ moveCursor(wordRight(content, cursor));
332
+ return;
333
+ }
334
+ // Home / End via Ctrl+A / Ctrl+E
335
+ if (key.ctrl && (input === "a" || input === "A")) {
336
+ const [row] = offsetToRowCol(content, cursor);
337
+ moveCursor(rowColToOffset(content, row, 0));
338
+ return;
339
+ }
340
+ if (key.ctrl && (input === "e" || input === "E")) {
341
+ const [row] = offsetToRowCol(content, cursor);
342
+ moveCursor(rowColToOffset(content, row, Number.MAX_SAFE_INTEGER));
343
+ return;
344
+ }
345
+ // Arrow keys
346
+ if (key.leftArrow) {
347
+ moveCursor(cursor - 1);
348
+ return;
349
+ }
350
+ if (key.rightArrow) {
351
+ moveCursor(cursor + 1);
352
+ return;
353
+ }
354
+ if (key.upArrow) {
355
+ const [row, col] = offsetToRowCol(content, cursor);
356
+ if (row === 0)
357
+ moveCursor(0);
358
+ else
359
+ moveCursor(rowColToOffset(content, row - 1, col));
360
+ return;
361
+ }
362
+ if (key.downArrow) {
363
+ const [row, col] = offsetToRowCol(content, cursor);
364
+ const lines = content.split("\n");
365
+ if (row >= lines.length - 1)
366
+ moveCursor(content.length);
367
+ else
368
+ moveCursor(rowColToOffset(content, row + 1, col));
369
+ return;
370
+ }
371
+ // Editing operations
372
+ if (key.return) {
373
+ const next = `${content.slice(0, cursor)}\n${content.slice(cursor)}`;
374
+ writeContent(next, cursor + 1);
375
+ return;
376
+ }
377
+ if (key.backspace) {
378
+ if (cursor === 0)
379
+ return;
380
+ const next = content.slice(0, cursor - 1) + content.slice(cursor);
381
+ writeContent(next, cursor - 1);
382
+ return;
383
+ }
384
+ if (key.delete) {
385
+ if (cursor >= content.length)
386
+ return;
387
+ const next = content.slice(0, cursor) + content.slice(cursor + 1);
388
+ writeContent(next, cursor);
160
389
  return;
161
390
  }
162
391
  if (input && !key.ctrl && !key.meta) {
163
- const next = section.content + input;
164
- setDraft((d) => ({
165
- ...d,
166
- sections: d.sections.map((s, i) => (i === idx ? { ...s, content: next } : s)),
167
- }));
392
+ const next = content.slice(0, cursor) + input + content.slice(cursor);
393
+ writeContent(next, cursor + input.length);
168
394
  }
169
395
  return;
170
396
  }
@@ -193,6 +419,10 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
193
419
  return;
194
420
  }
195
421
  if (key.return) {
422
+ if (focused?.kind === "section") {
423
+ const sec = draft.sections[focused.index];
424
+ setCursor(sec ? sec.content.length : 0);
425
+ }
196
426
  setEditing(true);
197
427
  return;
198
428
  }
@@ -254,18 +484,17 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
254
484
  const isFocused = focused?.kind === "section" && focused.index === idx;
255
485
  const isEditing = isFocused && editing;
256
486
  const marker = isEditing ? "▷" : isFocused ? "▶" : " ";
257
- return (_jsxs(Box, { flexDirection: "column", width: innerWidth, marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: isFocused ? theme.accent : theme.textFaint, children: marker }) }), _jsx(Text, { color: isFocused ? theme.accent : theme.textDim, bold: true, children: section.heading })] }), _jsx(Box, { paddingLeft: 2, width: innerWidth, children: isEditing ? (_jsx(MultilineEditor, { value: section.content, onChange: (next) => setDraft((d) => ({
258
- ...d,
259
- sections: d.sections.map((s, i) => i === idx ? { ...s, content: next } : s),
260
- })), width: innerWidth - 2 })) : section.content.length === 0 ? (_jsx(Text, { color: theme.textFaint, children: "\u2014" })) : (_jsx(Text, { color: isFocused ? theme.text : theme.textDim, wrap: "wrap", children: section.content })) })] }, `${section.heading}-${idx}`));
487
+ return (_jsxs(Box, { flexDirection: "column", width: innerWidth, marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: 2, children: _jsx(Text, { color: isFocused ? theme.accent : theme.textFaint, children: marker }) }), _jsx(Text, { color: isFocused ? theme.accent : theme.textDim, bold: true, children: section.heading })] }), _jsx(Box, { paddingLeft: 2, width: innerWidth, children: isEditing ? (_jsx(MultilineEditor, { value: section.content, cursor: cursor, width: innerWidth - 2 })) : section.content.length === 0 ? (_jsx(Text, { color: theme.textFaint, children: "\u2014" })) : (_jsx(Text, { color: isFocused ? theme.text : theme.textDim, wrap: "wrap", children: section.content })) })] }, `${section.heading}-${idx}`));
261
488
  };
262
489
  const statusColor = colorForStatus(draft.status);
263
490
  const priorityColor = draft.priority
264
491
  ? theme.priority[draft.priority]
265
492
  : theme.textFaint;
266
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: theme.borderFocused, width: width, height: height, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, bold: true, children: task.id }), _jsx(Text, { color: theme.textMuted, children: " edit" }), saving ? (_jsx(Text, { color: theme.textMuted, children: " · saving…" })) : null] }), error ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#ef4444", children: error }) })) : null, _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [renderRow("Title", { kind: "title" }, renderTextValue({ kind: "title" }, draft.title, (v) => setDraft((d) => ({ ...d, title: v })))), renderRow("Status", { kind: "status" }, renderSelectValue({ kind: "status" }, draft.status, statusColor)), renderRow("Priority", { kind: "priority" }, renderSelectValue({ kind: "priority" }, priorityLabel(draft.priority), priorityColor)), renderRow("Assignee", { kind: "assignee" }, renderTextValue({ kind: "assignee" }, draft.assignee, (v) => setDraft((d) => ({ ...d, assignee: v })), "unassigned")), renderRow("Tags", { kind: "tags" }, renderTags()), renderRow("Depends", { kind: "depends_on" }, renderDependsOn())] }), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: draft.sections.map((s, i) => s.heading === "" ? null : renderSection(i, s)) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textMuted, italic: true, children: editing
493
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: theme.borderFocused, width: width, height: height, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, bold: true, children: task.id }), _jsx(Text, { color: theme.textMuted, children: " edit" }), saving ? (_jsx(Text, { color: theme.textMuted, children: " · saving…" })) : null] }), error ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#ef4444", children: error }) })) : null, _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [renderRow("Title", { kind: "title" }, renderTextValue({ kind: "title" }, draft.title, (v) => setDraft((d) => ({ ...d, title: v })))), renderRow("Status", { kind: "status" }, renderSelectValue({ kind: "status" }, draft.status, statusColor)), renderRow("Priority", { kind: "priority" }, renderSelectValue({ kind: "priority" }, priorityLabel(draft.priority), priorityColor)), renderRow("Assignee", { kind: "assignee" }, renderTextValue({ kind: "assignee" }, draft.assignee, (v) => setDraft((d) => ({ ...d, assignee: v })), "unassigned")), renderRow("Tags", { kind: "tags" }, renderTags()), renderRow("Depends", { kind: "depends_on" }, renderDependsOn())] }), _jsxs(Box, { flexDirection: "column", width: innerWidth, height: sectionsAreaHeight, children: [sectionLayout.aboveCount > 0 ? (_jsxs(Text, { color: theme.textMuted, italic: true, wrap: "truncate-end", children: ["\u2191 ", sectionLayout.aboveCount, " more"] })) : null, renderableSections
494
+ .slice(sectionLayout.start, sectionLayout.end)
495
+ .map((entry) => renderSection(entry.index, entry.section)), sectionLayout.belowCount > 0 ? (_jsxs(Text, { color: theme.textMuted, italic: true, wrap: "truncate-end", children: ["\u2193 ", sectionLayout.belowCount, " more"] })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textMuted, italic: true, children: editing
267
496
  ? focused?.kind === "section"
268
- ? "Esc back · Tab next field · Ctrl+S save"
497
+ ? "←/→/↑/↓ move · Ctrl+←/→ word · Ctrl+A/E line · Esc back · Ctrl+S save"
269
498
  : focused?.kind === "status" || focused?.kind === "priority"
270
499
  ? "↑/↓ change · Enter/Esc back · Ctrl+S save"
271
500
  : "Enter confirm · Esc back · Ctrl+S save"
@@ -1 +1 @@
1
- {"version":3,"file":"TaskEditor.js","sourceRoot":"","sources":["../../src/tui/TaskEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskEditor.js","sourceRoot":"","sources":["../../src/tui/TaskEditor.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frehilm/ordna-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "The `ordna` CLI and Ink-based Kanban TUI for Ordna. Re-exports the core API.",
5
5
  "license": "MIT",
6
6
  "author": "FreHilm <1584617+FreHilm@users.noreply.github.com>",
@@ -11,7 +11,14 @@
11
11
  },
12
12
  "homepage": "https://github.com/FreHilm/ordna/tree/main/packages/cli#readme",
13
13
  "bugs": "https://github.com/FreHilm/ordna/issues",
14
- "keywords": ["kanban", "tui", "cli", "ordna", "tasks", "markdown"],
14
+ "keywords": [
15
+ "kanban",
16
+ "tui",
17
+ "cli",
18
+ "ordna",
19
+ "tasks",
20
+ "markdown"
21
+ ],
15
22
  "type": "module",
16
23
  "main": "./dist/index.js",
17
24
  "types": "./dist/index.d.ts",
@@ -24,20 +31,17 @@
24
31
  "bin": {
25
32
  "ordna": "./dist/bin/ordna.js"
26
33
  },
27
- "files": ["dist"],
28
- "scripts": {
29
- "build": "tsc -p tsconfig.json",
30
- "typecheck": "tsc -p tsconfig.json --noEmit",
31
- "test": "vitest run",
32
- "dev": "tsx src/bin/ordna.ts"
33
- },
34
+ "files": [
35
+ "dist",
36
+ "templates"
37
+ ],
34
38
  "dependencies": {
35
- "@frehilm/ordna-core": "workspace:*",
36
- "@frehilm/ordna-web": "workspace:*",
37
39
  "commander": "^12.1.0",
38
40
  "ink": "^5.1.1",
39
41
  "ink-text-input": "^6.0.0",
40
- "react": "^18.3.1"
42
+ "react": "^18.3.1",
43
+ "@frehilm/ordna-core": "^0.1.3",
44
+ "@frehilm/ordna-web": "^0.1.3"
41
45
  },
42
46
  "devDependencies": {
43
47
  "@types/node": "^22.10.5",
@@ -45,5 +49,11 @@
45
49
  "tsx": "^4.19.2",
46
50
  "typescript": "^5.7.2",
47
51
  "vitest": "^2.1.8"
52
+ },
53
+ "scripts": {
54
+ "build": "tsc -p tsconfig.json",
55
+ "typecheck": "tsc -p tsconfig.json --noEmit",
56
+ "test": "vitest run",
57
+ "dev": "tsx src/bin/ordna.ts"
48
58
  }
49
- }
59
+ }