dmux 1.2.0 → 1.3.1
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/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +700 -257
- package/dist/DmuxApp.js.map +1 -1
- package/dist/SimpleEnhancedInput.d.ts.map +1 -1
- package/dist/SimpleEnhancedInput.js +290 -75
- package/dist/SimpleEnhancedInput.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { Box, Text, useInput } from 'ink';
|
|
2
|
+
import { Box, Text, useInput, useStdout } from 'ink';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCancel, isActive = true, workingDirectory = process.cwd() }) => {
|
|
@@ -9,6 +9,10 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
9
9
|
const [autocompleteStartPos, setAutocompleteStartPos] = useState(0);
|
|
10
10
|
const [fileMatches, setFileMatches] = useState([]);
|
|
11
11
|
const [selectedMatchIndex, setSelectedMatchIndex] = useState(0);
|
|
12
|
+
const [pastedContent, setPastedContent] = useState(new Map());
|
|
13
|
+
const [displayValue, setDisplayValue] = useState(value);
|
|
14
|
+
const { stdout } = useStdout();
|
|
15
|
+
const terminalWidth = stdout?.columns || 80; // Default to 80 if not available
|
|
12
16
|
// Update cursor when value changes externally
|
|
13
17
|
useEffect(() => {
|
|
14
18
|
// Only update cursor to end if value actually changed and we're not already editing
|
|
@@ -19,6 +23,50 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
19
23
|
setCursorPosition(0);
|
|
20
24
|
}
|
|
21
25
|
}, [value]);
|
|
26
|
+
// Helper function to check if text looks like a paste that should be formatted
|
|
27
|
+
const shouldFormatPaste = (text) => {
|
|
28
|
+
// Format if it contains multiple lines or is very long
|
|
29
|
+
const hasMultipleLines = text.includes('\n');
|
|
30
|
+
const isVeryLong = text.length > 100;
|
|
31
|
+
// Check for code-like patterns that might break display
|
|
32
|
+
const hasSpecialChars = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/.test(text);
|
|
33
|
+
const hasAnsiCodes = /\x1b\[[0-9;]*[a-zA-Z]/.test(text);
|
|
34
|
+
return hasMultipleLines || isVeryLong || hasSpecialChars || hasAnsiCodes;
|
|
35
|
+
};
|
|
36
|
+
// Helper function to process pasted text
|
|
37
|
+
const processPastedText = (text) => {
|
|
38
|
+
if (!shouldFormatPaste(text)) {
|
|
39
|
+
return text;
|
|
40
|
+
}
|
|
41
|
+
// Generate a unique ID for this paste
|
|
42
|
+
const pasteId = pastedContent.size + 1;
|
|
43
|
+
// Store the actual content
|
|
44
|
+
const newPastedContent = new Map(pastedContent);
|
|
45
|
+
newPastedContent.set(pasteId, text);
|
|
46
|
+
setPastedContent(newPastedContent);
|
|
47
|
+
// Count lines in the pasted content
|
|
48
|
+
const lineCount = (text.match(/\n/g) || []).length + 1;
|
|
49
|
+
// Return placeholder text
|
|
50
|
+
return `[#${pasteId} pasted ${lineCount} lines]`;
|
|
51
|
+
};
|
|
52
|
+
// Helper function to get the actual value with pasted content restored
|
|
53
|
+
const getActualValue = () => {
|
|
54
|
+
let actualValue = displayValue;
|
|
55
|
+
// Replace all placeholders with actual content
|
|
56
|
+
pastedContent.forEach((content, id) => {
|
|
57
|
+
const placeholder = `[#${id} pasted ${(content.match(/\n/g) || []).length + 1} lines]`;
|
|
58
|
+
actualValue = actualValue.replace(placeholder, content);
|
|
59
|
+
});
|
|
60
|
+
return actualValue;
|
|
61
|
+
};
|
|
62
|
+
// Update display value when value prop changes
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
setDisplayValue(value);
|
|
65
|
+
// Clear pasted content when value is cleared
|
|
66
|
+
if (value === '') {
|
|
67
|
+
setPastedContent(new Map());
|
|
68
|
+
}
|
|
69
|
+
}, [value]);
|
|
22
70
|
// Search for files when autocomplete query changes or when @ is typed
|
|
23
71
|
useEffect(() => {
|
|
24
72
|
if (showAutocomplete) {
|
|
@@ -58,11 +106,19 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
58
106
|
// If query is empty, show root directory files
|
|
59
107
|
let searchCmd;
|
|
60
108
|
let dirSearchCmd;
|
|
109
|
+
// Check if query is a directory path (ends with /)
|
|
110
|
+
const isDirectoryPath = query.endsWith('/');
|
|
61
111
|
if (query === '') {
|
|
62
112
|
// Show files and directories in the root of the working directory (excluding common dirs)
|
|
63
113
|
searchCmd = `find "${workingDirectory}" -maxdepth 1 \\( ${excludeArgs} -type f -print \\) 2>/dev/null | head -20`;
|
|
64
114
|
dirSearchCmd = `find "${workingDirectory}" -maxdepth 1 \\( ${excludeArgs} -type d -print \\) 2>/dev/null | grep -v "^${workingDirectory}$" | head -10`;
|
|
65
115
|
}
|
|
116
|
+
else if (isDirectoryPath) {
|
|
117
|
+
// Navigate into directory - show contents of the specified directory
|
|
118
|
+
const dirPath = path.join(workingDirectory, query.slice(0, -1)); // Remove trailing slash
|
|
119
|
+
searchCmd = `find "${dirPath}" -maxdepth 1 \\( ${excludeArgs} -type f -print \\) 2>/dev/null | head -20`;
|
|
120
|
+
dirSearchCmd = `find "${dirPath}" -maxdepth 1 \\( ${excludeArgs} -type d -print \\) 2>/dev/null | grep -v "^${dirPath}$" | head -10`;
|
|
121
|
+
}
|
|
66
122
|
else {
|
|
67
123
|
// Search for files matching the query (excluding common dirs)
|
|
68
124
|
searchCmd = `find "${workingDirectory}" \\( ${excludeArgs} -type f -name "*${query}*" -print \\) 2>/dev/null | head -20`;
|
|
@@ -95,9 +151,15 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
95
151
|
continue;
|
|
96
152
|
const relativePath = path.relative(workingDirectory, dirPath);
|
|
97
153
|
if (relativePath && !relativePath.startsWith('..')) {
|
|
154
|
+
// When browsing within a directory, adjust the display path
|
|
155
|
+
let displayPath = relativePath;
|
|
156
|
+
if (isDirectoryPath && query) {
|
|
157
|
+
// We're inside a subdirectory, show just the item name
|
|
158
|
+
displayPath = path.basename(dirPath);
|
|
159
|
+
}
|
|
98
160
|
matches.push({
|
|
99
161
|
path: dirPath,
|
|
100
|
-
displayPath:
|
|
162
|
+
displayPath: displayPath + '/',
|
|
101
163
|
type: 'directory'
|
|
102
164
|
});
|
|
103
165
|
}
|
|
@@ -108,9 +170,15 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
108
170
|
continue;
|
|
109
171
|
const relativePath = path.relative(workingDirectory, filePath);
|
|
110
172
|
if (relativePath && !relativePath.startsWith('..')) {
|
|
173
|
+
// When browsing within a directory, adjust the display path
|
|
174
|
+
let displayPath = relativePath;
|
|
175
|
+
if (isDirectoryPath && query) {
|
|
176
|
+
// We're inside a subdirectory, show just the item name
|
|
177
|
+
displayPath = path.basename(filePath);
|
|
178
|
+
}
|
|
111
179
|
matches.push({
|
|
112
180
|
path: filePath,
|
|
113
|
-
displayPath:
|
|
181
|
+
displayPath: displayPath,
|
|
114
182
|
type: 'file'
|
|
115
183
|
});
|
|
116
184
|
}
|
|
@@ -128,22 +196,31 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
128
196
|
setFileMatches([]);
|
|
129
197
|
}
|
|
130
198
|
};
|
|
131
|
-
const insertText = (text, position) => {
|
|
132
|
-
|
|
133
|
-
const
|
|
134
|
-
const
|
|
199
|
+
const insertText = (text, position, isPaste = false) => {
|
|
200
|
+
// Process text if it's a paste
|
|
201
|
+
const processedText = isPaste ? processPastedText(text) : text;
|
|
202
|
+
const before = displayValue.slice(0, position);
|
|
203
|
+
const after = displayValue.slice(position);
|
|
204
|
+
const newDisplayValue = before + processedText + after;
|
|
205
|
+
setDisplayValue(newDisplayValue);
|
|
206
|
+
// Update the actual value with processed text (placeholder for pastes)
|
|
207
|
+
const newValue = before + processedText + after;
|
|
135
208
|
onChange(newValue);
|
|
136
|
-
|
|
209
|
+
// When inserting newlines, ensure cursor position is correct
|
|
210
|
+
// This prevents the issue where wrapped lines cause incorrect cursor positioning
|
|
211
|
+
const newCursorPos = position + processedText.length;
|
|
212
|
+
setCursorPosition(newCursorPos);
|
|
137
213
|
};
|
|
138
214
|
const deleteText = (start, end) => {
|
|
139
|
-
const before =
|
|
140
|
-
const after =
|
|
141
|
-
const
|
|
142
|
-
|
|
215
|
+
const before = displayValue.slice(0, start);
|
|
216
|
+
const after = displayValue.slice(end);
|
|
217
|
+
const newDisplayValue = before + after;
|
|
218
|
+
setDisplayValue(newDisplayValue);
|
|
219
|
+
onChange(newDisplayValue);
|
|
143
220
|
setCursorPosition(start);
|
|
144
221
|
};
|
|
145
222
|
const moveCursor = (position) => {
|
|
146
|
-
const clampedPosition = Math.max(0, Math.min(
|
|
223
|
+
const clampedPosition = Math.max(0, Math.min(displayValue.length, position));
|
|
147
224
|
setCursorPosition(clampedPosition);
|
|
148
225
|
};
|
|
149
226
|
const findWordBoundary = (text, position, direction) => {
|
|
@@ -172,11 +249,22 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
172
249
|
return pos;
|
|
173
250
|
};
|
|
174
251
|
const completeFileReference = (match) => {
|
|
175
|
-
const before =
|
|
176
|
-
const after =
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
252
|
+
const before = displayValue.slice(0, autocompleteStartPos);
|
|
253
|
+
const after = displayValue.slice(cursorPosition);
|
|
254
|
+
// Build the complete path to insert
|
|
255
|
+
let completePath;
|
|
256
|
+
if (autocompleteQuery.endsWith('/')) {
|
|
257
|
+
// We're in a subdirectory, need to build the full path
|
|
258
|
+
completePath = autocompleteQuery + match.displayPath.replace(/\/$/, ''); // Remove trailing slash from directories
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
// Use the relative path from working directory
|
|
262
|
+
completePath = path.relative(workingDirectory, match.path);
|
|
263
|
+
}
|
|
264
|
+
const newDisplayValue = before + completePath + after;
|
|
265
|
+
setDisplayValue(newDisplayValue);
|
|
266
|
+
onChange(newDisplayValue);
|
|
267
|
+
setCursorPosition(autocompleteStartPos + completePath.length);
|
|
180
268
|
setShowAutocomplete(false);
|
|
181
269
|
setAutocompleteQuery('');
|
|
182
270
|
};
|
|
@@ -199,6 +287,58 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
199
287
|
setSelectedMatchIndex(Math.min(fileMatches.length - 1, selectedMatchIndex + 1));
|
|
200
288
|
return;
|
|
201
289
|
}
|
|
290
|
+
else if (key.rightArrow) {
|
|
291
|
+
// Navigate into directory with right arrow
|
|
292
|
+
if (fileMatches.length > 0) {
|
|
293
|
+
const selectedMatch = fileMatches[selectedMatchIndex];
|
|
294
|
+
if (selectedMatch.type === 'directory') {
|
|
295
|
+
// Build the full path for navigation
|
|
296
|
+
let newQuery;
|
|
297
|
+
if (autocompleteQuery.endsWith('/')) {
|
|
298
|
+
// We're already in a directory, append the selected subdirectory
|
|
299
|
+
newQuery = autocompleteQuery + selectedMatch.displayPath;
|
|
300
|
+
}
|
|
301
|
+
else if (autocompleteQuery) {
|
|
302
|
+
// We have a search query, replace it with the full path
|
|
303
|
+
const relativePath = path.relative(workingDirectory, selectedMatch.path);
|
|
304
|
+
newQuery = relativePath + '/';
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// We're at root, use the display path
|
|
308
|
+
newQuery = selectedMatch.displayPath;
|
|
309
|
+
}
|
|
310
|
+
setAutocompleteQuery(newQuery);
|
|
311
|
+
// Trigger a new search within this directory
|
|
312
|
+
searchFiles(newQuery);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
else if (key.leftArrow) {
|
|
318
|
+
// Navigate back/up one directory level with left arrow
|
|
319
|
+
if (autocompleteQuery.includes('/')) {
|
|
320
|
+
// Remove the last directory segment
|
|
321
|
+
const segments = autocompleteQuery.split('/');
|
|
322
|
+
segments.pop(); // Remove last segment
|
|
323
|
+
if (segments.length > 0) {
|
|
324
|
+
segments.pop(); // Remove the directory we're going back from
|
|
325
|
+
const newQuery = segments.length > 0 ? segments.join('/') + '/' : '';
|
|
326
|
+
setAutocompleteQuery(newQuery);
|
|
327
|
+
searchFiles(newQuery);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
// Go back to root
|
|
331
|
+
setAutocompleteQuery('');
|
|
332
|
+
searchFiles('');
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
else if (autocompleteQuery !== '') {
|
|
336
|
+
// Go back to root if we have a query but no slashes
|
|
337
|
+
setAutocompleteQuery('');
|
|
338
|
+
searchFiles('');
|
|
339
|
+
}
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
202
342
|
else if (key.return || key.tab) {
|
|
203
343
|
if (fileMatches.length > 0) {
|
|
204
344
|
completeFileReference(fileMatches[selectedMatchIndex]);
|
|
@@ -211,19 +351,23 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
211
351
|
onCancel?.();
|
|
212
352
|
return;
|
|
213
353
|
}
|
|
214
|
-
if (key.
|
|
215
|
-
onSubmit?.();
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (key.return && key.shift) {
|
|
354
|
+
if (key.shift && key.return) {
|
|
219
355
|
// Insert newline for multiline input
|
|
356
|
+
// Make sure we're inserting at the correct position even with wrapped lines
|
|
220
357
|
insertText('\n', cursorPosition);
|
|
221
358
|
return;
|
|
222
359
|
}
|
|
360
|
+
if (key.return && !key.shift) {
|
|
361
|
+
// Get the actual value with pasted content restored before submitting
|
|
362
|
+
const actualValue = getActualValue();
|
|
363
|
+
onChange(actualValue);
|
|
364
|
+
onSubmit?.();
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
223
367
|
// Line navigation with up/down arrows (when not in autocomplete)
|
|
224
368
|
if (!showAutocomplete && key.upArrow) {
|
|
225
369
|
// Move cursor up one line
|
|
226
|
-
const lines =
|
|
370
|
+
const lines = displayValue.split('\n');
|
|
227
371
|
let currentPos = 0;
|
|
228
372
|
let lineIndex = 0;
|
|
229
373
|
let columnIndex = 0;
|
|
@@ -252,7 +396,7 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
252
396
|
}
|
|
253
397
|
if (!showAutocomplete && key.downArrow) {
|
|
254
398
|
// Move cursor down one line
|
|
255
|
-
const lines =
|
|
399
|
+
const lines = displayValue.split('\n');
|
|
256
400
|
let currentPos = 0;
|
|
257
401
|
let lineIndex = 0;
|
|
258
402
|
let columnIndex = 0;
|
|
@@ -287,7 +431,7 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
287
431
|
if (key.leftArrow) {
|
|
288
432
|
if (key.meta || key.alt || key.option) {
|
|
289
433
|
// Move to previous word
|
|
290
|
-
const newPos = findWordBoundary(
|
|
434
|
+
const newPos = findWordBoundary(displayValue, cursorPosition, 'left');
|
|
291
435
|
moveCursor(newPos);
|
|
292
436
|
}
|
|
293
437
|
else {
|
|
@@ -298,7 +442,7 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
298
442
|
if (key.rightArrow) {
|
|
299
443
|
if (key.meta || key.alt || key.option) {
|
|
300
444
|
// Move to next word
|
|
301
|
-
const newPos = findWordBoundary(
|
|
445
|
+
const newPos = findWordBoundary(displayValue, cursorPosition, 'right');
|
|
302
446
|
moveCursor(newPos);
|
|
303
447
|
}
|
|
304
448
|
else {
|
|
@@ -312,14 +456,14 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
312
456
|
return;
|
|
313
457
|
}
|
|
314
458
|
if (key.ctrl && input === 'e') {
|
|
315
|
-
moveCursor(
|
|
459
|
+
moveCursor(displayValue.length);
|
|
316
460
|
return;
|
|
317
461
|
}
|
|
318
462
|
// Deletion
|
|
319
463
|
if (key.backspace || key.delete) {
|
|
320
464
|
if (key.meta || key.alt || key.option) {
|
|
321
465
|
// Delete word
|
|
322
|
-
const wordStart = findWordBoundary(
|
|
466
|
+
const wordStart = findWordBoundary(displayValue, cursorPosition, 'left');
|
|
323
467
|
deleteText(wordStart, cursorPosition);
|
|
324
468
|
}
|
|
325
469
|
else if (cursorPosition > 0) {
|
|
@@ -329,84 +473,155 @@ const SimpleEnhancedInput = ({ value, onChange, placeholder = '', onSubmit, onCa
|
|
|
329
473
|
}
|
|
330
474
|
// Text input
|
|
331
475
|
if (input && !key.ctrl && !key.meta) {
|
|
476
|
+
// Detect paste by checking if input is unusually long or contains special characters
|
|
477
|
+
const isPaste = input.length > 1 && shouldFormatPaste(input);
|
|
478
|
+
// Don't filter input here - just use it as-is
|
|
479
|
+
// The terminal wrapping shouldn't introduce actual newlines
|
|
480
|
+
const filteredInput = input;
|
|
332
481
|
// Check for @ symbol to trigger autocomplete
|
|
333
|
-
if (
|
|
482
|
+
if (filteredInput === '@') {
|
|
334
483
|
setShowAutocomplete(true);
|
|
335
484
|
setAutocompleteStartPos(cursorPosition + 1);
|
|
336
485
|
setAutocompleteQuery('');
|
|
337
|
-
insertText(
|
|
486
|
+
insertText(filteredInput, cursorPosition, false);
|
|
338
487
|
}
|
|
339
488
|
else if (showAutocomplete) {
|
|
340
489
|
// Update autocomplete query
|
|
341
|
-
insertText(
|
|
342
|
-
const newQuery =
|
|
490
|
+
insertText(filteredInput, cursorPosition, isPaste);
|
|
491
|
+
const newQuery = displayValue.slice(autocompleteStartPos, cursorPosition + 1) + filteredInput;
|
|
343
492
|
setAutocompleteQuery(newQuery);
|
|
344
493
|
}
|
|
345
494
|
else {
|
|
346
|
-
insertText(
|
|
495
|
+
insertText(filteredInput, cursorPosition, isPaste);
|
|
347
496
|
}
|
|
348
497
|
}
|
|
349
498
|
});
|
|
350
|
-
// Build display with cursor (handles multiline)
|
|
499
|
+
// Build display with cursor (handles multiline and wrapping)
|
|
351
500
|
const getDisplayWithCursor = () => {
|
|
352
|
-
const before =
|
|
353
|
-
const after =
|
|
501
|
+
const before = displayValue.slice(0, cursorPosition);
|
|
502
|
+
const after = displayValue.slice(cursorPosition);
|
|
354
503
|
const cursorChar = after[0] || ' ';
|
|
355
504
|
const remaining = after.slice(1);
|
|
356
|
-
//
|
|
357
|
-
const
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
if (
|
|
364
|
-
//
|
|
365
|
-
|
|
505
|
+
// Split text into visual lines accounting for terminal width
|
|
506
|
+
const splitIntoVisualLines = (text) => {
|
|
507
|
+
const visualLines = [];
|
|
508
|
+
const logicalLines = text.split('\n');
|
|
509
|
+
const wrapWidth = Math.max(1, terminalWidth - 2); // Leave room for cursor and border, ensure min width of 1
|
|
510
|
+
for (let lineIdx = 0; lineIdx < logicalLines.length; lineIdx++) {
|
|
511
|
+
const logicalLine = logicalLines[lineIdx];
|
|
512
|
+
if (logicalLine.length === 0) {
|
|
513
|
+
// Empty line
|
|
514
|
+
visualLines.push('');
|
|
366
515
|
}
|
|
367
516
|
else {
|
|
368
|
-
//
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
// Cursor is on a newline
|
|
373
|
-
return (React.createElement(Box, { key: `cursor-line`, flexDirection: "column" },
|
|
374
|
-
React.createElement(Box, null,
|
|
375
|
-
React.createElement(Text, null, line),
|
|
376
|
-
React.createElement(Text, { inverse: true }, " ")),
|
|
377
|
-
afterLines.slice(1).map((afterLine, j) => (React.createElement(Text, { key: `after-${j}` }, afterLine)))));
|
|
517
|
+
// Split long lines into wrapped visual lines
|
|
518
|
+
for (let i = 0; i < logicalLine.length; i += wrapWidth) {
|
|
519
|
+
const chunk = logicalLine.slice(i, i + wrapWidth);
|
|
520
|
+
visualLines.push(chunk);
|
|
378
521
|
}
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
return visualLines;
|
|
525
|
+
};
|
|
526
|
+
// Calculate visual cursor position
|
|
527
|
+
const calculateVisualCursorPosition = () => {
|
|
528
|
+
let totalCharsProcessed = 0;
|
|
529
|
+
let currentVisualLine = 0;
|
|
530
|
+
const logicalLines = displayValue.split('\n');
|
|
531
|
+
const wrapWidth = Math.max(1, terminalWidth - 2); // Ensure wrapWidth is at least 1
|
|
532
|
+
for (let logicalLineIdx = 0; logicalLineIdx < logicalLines.length; logicalLineIdx++) {
|
|
533
|
+
const logicalLine = logicalLines[logicalLineIdx];
|
|
534
|
+
const lineStartPos = totalCharsProcessed;
|
|
535
|
+
const lineEndPos = lineStartPos + logicalLine.length;
|
|
536
|
+
// Check if cursor is in this logical line
|
|
537
|
+
if (cursorPosition >= lineStartPos && cursorPosition <= lineEndPos) {
|
|
538
|
+
const positionInLogicalLine = cursorPosition - lineStartPos;
|
|
539
|
+
// Calculate visual position within this logical line
|
|
540
|
+
if (logicalLine.length === 0) {
|
|
541
|
+
// Empty line
|
|
542
|
+
return { visualLine: currentVisualLine, visualColumn: 0 };
|
|
389
543
|
}
|
|
544
|
+
const visualLineWithinLogical = Math.floor(positionInLogicalLine / wrapWidth);
|
|
545
|
+
const visualColumn = positionInLogicalLine % wrapWidth;
|
|
546
|
+
return {
|
|
547
|
+
visualLine: currentVisualLine + visualLineWithinLogical,
|
|
548
|
+
visualColumn: visualColumn
|
|
549
|
+
};
|
|
550
|
+
}
|
|
551
|
+
// Move past this logical line
|
|
552
|
+
if (logicalLine.length === 0) {
|
|
553
|
+
currentVisualLine += 1;
|
|
554
|
+
}
|
|
555
|
+
else {
|
|
556
|
+
const visualLinesForThisLogicalLine = Math.ceil(Math.max(1, logicalLine.length) / wrapWidth);
|
|
557
|
+
currentVisualLine += visualLinesForThisLogicalLine;
|
|
558
|
+
}
|
|
559
|
+
totalCharsProcessed += logicalLine.length + 1; // +1 for the newline character
|
|
560
|
+
}
|
|
561
|
+
// Cursor at end of text - make sure we return valid line number
|
|
562
|
+
const maxVisualLine = Math.max(0, visualLines.length - 1);
|
|
563
|
+
return { visualLine: Math.min(currentVisualLine - 1, maxVisualLine), visualColumn: 0 };
|
|
564
|
+
};
|
|
565
|
+
// Get visual lines for the entire text
|
|
566
|
+
const visualLines = splitIntoVisualLines(displayValue);
|
|
567
|
+
const { visualLine: cursorVisualLine, visualColumn: cursorVisualColumn } = calculateVisualCursorPosition();
|
|
568
|
+
// Build the display with proper cursor positioning
|
|
569
|
+
if (visualLines.length > 1) {
|
|
570
|
+
return (React.createElement(Box, { flexDirection: "column" }, visualLines.map((line, lineIndex) => {
|
|
571
|
+
if (lineIndex === cursorVisualLine) {
|
|
572
|
+
// This is the line with the cursor
|
|
573
|
+
const beforeCursor = line.slice(0, cursorVisualColumn);
|
|
574
|
+
const atCursor = line[cursorVisualColumn] || ' ';
|
|
575
|
+
const afterCursor = line.slice(cursorVisualColumn + 1);
|
|
576
|
+
return (React.createElement(Box, { key: `line-${lineIndex}` },
|
|
577
|
+
React.createElement(Text, null, beforeCursor),
|
|
578
|
+
React.createElement(Text, { inverse: true }, atCursor),
|
|
579
|
+
React.createElement(Text, null, afterCursor)));
|
|
580
|
+
}
|
|
581
|
+
else {
|
|
582
|
+
// Regular line without cursor
|
|
583
|
+
return React.createElement(Text, { key: `line-${lineIndex}` }, line);
|
|
390
584
|
}
|
|
391
585
|
})));
|
|
392
586
|
}
|
|
393
|
-
// Single line display
|
|
394
|
-
|
|
395
|
-
React.createElement(
|
|
396
|
-
|
|
397
|
-
|
|
587
|
+
// Single line display (no wrapping needed)
|
|
588
|
+
if (displayValue.length < terminalWidth - 2) {
|
|
589
|
+
return (React.createElement(React.Fragment, null,
|
|
590
|
+
React.createElement(Text, null, before),
|
|
591
|
+
React.createElement(Text, { inverse: true }, cursorChar),
|
|
592
|
+
React.createElement(Text, null, remaining)));
|
|
593
|
+
}
|
|
594
|
+
// Single line but needs wrapping
|
|
595
|
+
return (React.createElement(Box, { flexDirection: "column" }, visualLines.map((line, lineIndex) => {
|
|
596
|
+
if (lineIndex === cursorVisualLine) {
|
|
597
|
+
const beforeCursor = line.slice(0, cursorVisualColumn);
|
|
598
|
+
const atCursor = line[cursorVisualColumn] || ' ';
|
|
599
|
+
const afterCursor = line.slice(cursorVisualColumn + 1);
|
|
600
|
+
return (React.createElement(Box, { key: `line-${lineIndex}` },
|
|
601
|
+
React.createElement(Text, null, beforeCursor),
|
|
602
|
+
React.createElement(Text, { inverse: true }, atCursor),
|
|
603
|
+
React.createElement(Text, null, afterCursor)));
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
return React.createElement(Text, { key: `line-${lineIndex}` }, line);
|
|
607
|
+
}
|
|
608
|
+
})));
|
|
398
609
|
};
|
|
399
610
|
return (React.createElement(Box, { flexDirection: "column" },
|
|
400
|
-
React.createElement(Box, null,
|
|
611
|
+
React.createElement(Box, null, displayValue ? (getDisplayWithCursor()) : (React.createElement(React.Fragment, null,
|
|
401
612
|
React.createElement(Text, { inverse: true }, " "),
|
|
402
613
|
placeholder && React.createElement(Text, { dimColor: true }, placeholder)))),
|
|
403
614
|
showAutocomplete && fileMatches.length > 0 && (React.createElement(Box, { flexDirection: "column", marginTop: 1, borderStyle: "single", borderColor: "cyan", paddingX: 1 },
|
|
404
|
-
React.createElement(Text, { color: "cyan", dimColor: true }, autocompleteQuery
|
|
615
|
+
React.createElement(Text, { color: "cyan", dimColor: true }, autocompleteQuery.endsWith('/')
|
|
616
|
+
? `Browsing: @${autocompleteQuery}`
|
|
617
|
+
: autocompleteQuery
|
|
618
|
+
? `Files matching: @${autocompleteQuery}`
|
|
619
|
+
: 'Files in current directory:'),
|
|
405
620
|
fileMatches.map((match, index) => (React.createElement(Box, { key: match.path },
|
|
406
621
|
React.createElement(Text, { color: index === selectedMatchIndex ? 'cyan' : 'gray' },
|
|
407
622
|
index === selectedMatchIndex ? '▶ ' : ' ',
|
|
408
623
|
match.displayPath)))),
|
|
409
|
-
React.createElement(Text, { dimColor: true, italic: true }, "\u2191\u2193
|
|
624
|
+
React.createElement(Text, { dimColor: true, italic: true }, "\u2191\u2193 select \u2022 \u2192 enter directory \u2022 \u2190 go back \u2022 Tab/Enter complete \u2022 Esc cancel")))));
|
|
410
625
|
};
|
|
411
626
|
export default SimpleEnhancedInput;
|
|
412
627
|
//# sourceMappingURL=SimpleEnhancedInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleEnhancedInput.js","sourceRoot":"","sources":["../src/SimpleEnhancedInput.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SimpleEnhancedInput.js","sourceRoot":"","sources":["../src/SimpleEnhancedInput.tsx"],"names":[],"mappings":"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"}
|