dmux 1.0.8 → 1.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.
@@ -0,0 +1,338 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Box, Text, useInput, useFocus } from 'ink';
3
+ import { execSync } from 'child_process';
4
+ import path from 'path';
5
+ const EnhancedTextInput = ({ value, onChange, placeholder = '', onSubmit, onCancel, multiline = false, workingDirectory = process.cwd() }) => {
6
+ const { isFocused } = useFocus({ autoFocus: true });
7
+ const [cursorPosition, setCursorPosition] = useState(value.length);
8
+ const [lines, setLines] = useState([value]);
9
+ const [currentLine, setCurrentLine] = useState(0);
10
+ const [showAutocomplete, setShowAutocomplete] = useState(false);
11
+ const [autocompleteQuery, setAutocompleteQuery] = useState('');
12
+ const [autocompleteStartPos, setAutocompleteStartPos] = useState(0);
13
+ const [fileMatches, setFileMatches] = useState([]);
14
+ const [selectedMatchIndex, setSelectedMatchIndex] = useState(0);
15
+ const [displayValue, setDisplayValue] = useState(value);
16
+ // Update lines when value changes externally
17
+ useEffect(() => {
18
+ if (multiline) {
19
+ setLines(value.split('\n'));
20
+ }
21
+ else {
22
+ setLines([value]);
23
+ }
24
+ setDisplayValue(value);
25
+ }, [value, multiline]);
26
+ // Search for files when autocomplete query changes
27
+ useEffect(() => {
28
+ if (showAutocomplete && autocompleteQuery.length > 0) {
29
+ searchFiles(autocompleteQuery);
30
+ }
31
+ else {
32
+ setFileMatches([]);
33
+ }
34
+ }, [autocompleteQuery, showAutocomplete]);
35
+ const searchFiles = async (query) => {
36
+ try {
37
+ // Use find command to search for files
38
+ const searchCmd = `find "${workingDirectory}" -type f -name "*${query}*" 2>/dev/null | head -20`;
39
+ const dirSearchCmd = `find "${workingDirectory}" -type d -name "*${query}*" 2>/dev/null | head -10`;
40
+ const fileResults = await new Promise((resolve) => {
41
+ try {
42
+ const result = execSync(searchCmd, { encoding: 'utf-8' }).trim().split('\n').filter(Boolean);
43
+ resolve(result);
44
+ }
45
+ catch {
46
+ resolve([]);
47
+ }
48
+ });
49
+ const dirResults = await new Promise((resolve) => {
50
+ try {
51
+ const result = execSync(dirSearchCmd, { encoding: 'utf-8' }).trim().split('\n').filter(Boolean);
52
+ resolve(result);
53
+ }
54
+ catch {
55
+ resolve([]);
56
+ }
57
+ });
58
+ const matches = [];
59
+ // Process directory matches
60
+ for (const dirPath of dirResults) {
61
+ const relativePath = path.relative(workingDirectory, dirPath);
62
+ if (relativePath && !relativePath.startsWith('..')) {
63
+ matches.push({
64
+ path: dirPath,
65
+ displayPath: relativePath + '/',
66
+ type: 'directory'
67
+ });
68
+ }
69
+ }
70
+ // Process file matches
71
+ for (const filePath of fileResults) {
72
+ const relativePath = path.relative(workingDirectory, filePath);
73
+ if (relativePath && !relativePath.startsWith('..')) {
74
+ matches.push({
75
+ path: filePath,
76
+ displayPath: relativePath,
77
+ type: 'file'
78
+ });
79
+ }
80
+ }
81
+ // Sort by relevance (shorter paths first, then alphabetically)
82
+ matches.sort((a, b) => {
83
+ const aScore = a.displayPath.length + (a.displayPath.toLowerCase().indexOf(query.toLowerCase()) === 0 ? 0 : 100);
84
+ const bScore = b.displayPath.length + (b.displayPath.toLowerCase().indexOf(query.toLowerCase()) === 0 ? 0 : 100);
85
+ if (aScore !== bScore)
86
+ return aScore - bScore;
87
+ return a.displayPath.localeCompare(b.displayPath);
88
+ });
89
+ setFileMatches(matches.slice(0, 10)); // Limit to 10 matches
90
+ setSelectedMatchIndex(0);
91
+ }
92
+ catch (error) {
93
+ setFileMatches([]);
94
+ }
95
+ };
96
+ const insertText = (text, position) => {
97
+ const before = displayValue.slice(0, position);
98
+ const after = displayValue.slice(position);
99
+ const newValue = before + text + after;
100
+ onChange(newValue);
101
+ setCursorPosition(position + text.length);
102
+ };
103
+ const deleteText = (start, end) => {
104
+ const before = displayValue.slice(0, start);
105
+ const after = displayValue.slice(end);
106
+ const newValue = before + after;
107
+ onChange(newValue);
108
+ setCursorPosition(start);
109
+ };
110
+ const moveCursor = (position) => {
111
+ const clampedPosition = Math.max(0, Math.min(displayValue.length, position));
112
+ setCursorPosition(clampedPosition);
113
+ };
114
+ const findWordBoundary = (text, position, direction) => {
115
+ const wordRegex = /\w/;
116
+ let pos = position;
117
+ if (direction === 'left') {
118
+ // Skip any whitespace
119
+ while (pos > 0 && !wordRegex.test(text[pos - 1])) {
120
+ pos--;
121
+ }
122
+ // Skip the word
123
+ while (pos > 0 && wordRegex.test(text[pos - 1])) {
124
+ pos--;
125
+ }
126
+ }
127
+ else {
128
+ // Skip any whitespace
129
+ while (pos < text.length && !wordRegex.test(text[pos])) {
130
+ pos++;
131
+ }
132
+ // Skip the word
133
+ while (pos < text.length && wordRegex.test(text[pos])) {
134
+ pos++;
135
+ }
136
+ }
137
+ return pos;
138
+ };
139
+ const completeFileReference = (match) => {
140
+ // Replace the autocomplete query with the selected file path
141
+ const before = displayValue.slice(0, autocompleteStartPos);
142
+ const after = displayValue.slice(cursorPosition);
143
+ const newValue = before + match.displayPath + after;
144
+ onChange(newValue);
145
+ setCursorPosition(autocompleteStartPos + match.displayPath.length);
146
+ setShowAutocomplete(false);
147
+ setAutocompleteQuery('');
148
+ };
149
+ useInput((input, key) => {
150
+ // Only handle input when focused
151
+ if (!isFocused)
152
+ return;
153
+ // Handle autocomplete navigation
154
+ if (showAutocomplete) {
155
+ if (key.escape) {
156
+ setShowAutocomplete(false);
157
+ setAutocompleteQuery('');
158
+ return;
159
+ }
160
+ else if (key.upArrow) {
161
+ setSelectedMatchIndex(Math.max(0, selectedMatchIndex - 1));
162
+ return;
163
+ }
164
+ else if (key.downArrow) {
165
+ setSelectedMatchIndex(Math.min(fileMatches.length - 1, selectedMatchIndex + 1));
166
+ return;
167
+ }
168
+ else if (key.return || key.tab) {
169
+ if (fileMatches.length > 0) {
170
+ completeFileReference(fileMatches[selectedMatchIndex]);
171
+ }
172
+ return;
173
+ }
174
+ }
175
+ // Handle special keys
176
+ if (key.escape) {
177
+ onCancel?.();
178
+ return;
179
+ }
180
+ if (key.return && !multiline) {
181
+ onSubmit?.();
182
+ return;
183
+ }
184
+ if (key.return && multiline && !key.shift) {
185
+ // In multiline mode, Enter adds a new line
186
+ insertText('\n', cursorPosition);
187
+ return;
188
+ }
189
+ if (key.return && multiline && key.shift) {
190
+ // Shift+Enter submits in multiline mode
191
+ onSubmit?.();
192
+ return;
193
+ }
194
+ // Cursor movement
195
+ if (key.leftArrow) {
196
+ if (key.meta || key.alt) {
197
+ // Move to previous word (Alt/Cmd + Left)
198
+ const newPos = findWordBoundary(displayValue, cursorPosition, 'left');
199
+ moveCursor(newPos);
200
+ }
201
+ else {
202
+ moveCursor(cursorPosition - 1);
203
+ }
204
+ return;
205
+ }
206
+ if (key.rightArrow) {
207
+ if (key.meta || key.alt) {
208
+ // Move to next word (Alt/Cmd + Right)
209
+ const newPos = findWordBoundary(displayValue, cursorPosition, 'right');
210
+ moveCursor(newPos);
211
+ }
212
+ else {
213
+ moveCursor(cursorPosition + 1);
214
+ }
215
+ return;
216
+ }
217
+ // Line navigation for multiline
218
+ if (multiline) {
219
+ if (key.upArrow) {
220
+ // Move to line above
221
+ const lineStart = displayValue.lastIndexOf('\n', cursorPosition - 1);
222
+ if (lineStart !== -1) {
223
+ const currentCol = cursorPosition - lineStart - 1;
224
+ const prevLineStart = displayValue.lastIndexOf('\n', lineStart - 1);
225
+ const prevLineLength = lineStart - prevLineStart - 1;
226
+ const newPos = prevLineStart + 1 + Math.min(currentCol, prevLineLength);
227
+ moveCursor(newPos);
228
+ }
229
+ return;
230
+ }
231
+ if (key.downArrow) {
232
+ // Move to line below
233
+ const lineEnd = displayValue.indexOf('\n', cursorPosition);
234
+ if (lineEnd !== -1) {
235
+ const lineStart = displayValue.lastIndexOf('\n', cursorPosition - 1);
236
+ const currentCol = cursorPosition - lineStart - 1;
237
+ const nextLineEnd = displayValue.indexOf('\n', lineEnd + 1);
238
+ const nextLineLength = (nextLineEnd === -1 ? displayValue.length : nextLineEnd) - lineEnd - 1;
239
+ const newPos = lineEnd + 1 + Math.min(currentCol, nextLineLength);
240
+ moveCursor(newPos);
241
+ }
242
+ return;
243
+ }
244
+ }
245
+ // Home/End keys
246
+ if (key.ctrl && input === 'a') {
247
+ // Ctrl+A - Move to start of line
248
+ if (multiline) {
249
+ const lineStart = displayValue.lastIndexOf('\n', cursorPosition - 1) + 1;
250
+ moveCursor(lineStart);
251
+ }
252
+ else {
253
+ moveCursor(0);
254
+ }
255
+ return;
256
+ }
257
+ if (key.ctrl && input === 'e') {
258
+ // Ctrl+E - Move to end of line
259
+ if (multiline) {
260
+ const lineEnd = displayValue.indexOf('\n', cursorPosition);
261
+ moveCursor(lineEnd === -1 ? displayValue.length : lineEnd);
262
+ }
263
+ else {
264
+ moveCursor(displayValue.length);
265
+ }
266
+ return;
267
+ }
268
+ // Deletion
269
+ if (key.backspace) {
270
+ if (key.meta || key.alt) {
271
+ // Delete word (Alt/Cmd + Backspace)
272
+ const wordStart = findWordBoundary(displayValue, cursorPosition, 'left');
273
+ deleteText(wordStart, cursorPosition);
274
+ }
275
+ else if (cursorPosition > 0) {
276
+ deleteText(cursorPosition - 1, cursorPosition);
277
+ }
278
+ return;
279
+ }
280
+ if (key.delete) {
281
+ if (key.meta || key.alt) {
282
+ // Delete word forward (Alt/Cmd + Delete)
283
+ const wordEnd = findWordBoundary(displayValue, cursorPosition, 'right');
284
+ deleteText(cursorPosition, wordEnd);
285
+ }
286
+ else if (cursorPosition < displayValue.length) {
287
+ deleteText(cursorPosition, cursorPosition + 1);
288
+ }
289
+ return;
290
+ }
291
+ // Text input
292
+ if (input && !key.ctrl && !key.meta) {
293
+ // Check for @ symbol to trigger autocomplete
294
+ if (input === '@') {
295
+ setShowAutocomplete(true);
296
+ setAutocompleteStartPos(cursorPosition + 1);
297
+ setAutocompleteQuery('');
298
+ insertText(input, cursorPosition);
299
+ }
300
+ else if (showAutocomplete) {
301
+ // Update autocomplete query
302
+ insertText(input, cursorPosition);
303
+ const newQuery = displayValue.slice(autocompleteStartPos, cursorPosition + 1);
304
+ setAutocompleteQuery(newQuery);
305
+ }
306
+ else {
307
+ insertText(input, cursorPosition);
308
+ }
309
+ }
310
+ });
311
+ // Build display with cursor
312
+ const getDisplayWithCursor = () => {
313
+ const before = displayValue.slice(0, cursorPosition);
314
+ const after = displayValue.slice(cursorPosition);
315
+ const cursorChar = after[0] || ' ';
316
+ const remaining = after.slice(1);
317
+ return (React.createElement(React.Fragment, null,
318
+ React.createElement(Text, null, before),
319
+ React.createElement(Text, { inverse: true }, cursorChar),
320
+ React.createElement(Text, null, remaining)));
321
+ };
322
+ return (React.createElement(Box, { flexDirection: "column" },
323
+ React.createElement(Box, null, displayValue ? (getDisplayWithCursor()) : (React.createElement(React.Fragment, null,
324
+ React.createElement(Text, { dimColor: true }, placeholder),
325
+ React.createElement(Text, { inverse: true }, " ")))),
326
+ showAutocomplete && fileMatches.length > 0 && (React.createElement(Box, { flexDirection: "column", marginTop: 1, borderStyle: "single", borderColor: "cyan", paddingX: 1 },
327
+ React.createElement(Text, { color: "cyan", dimColor: true },
328
+ "Files matching: @",
329
+ autocompleteQuery),
330
+ fileMatches.map((match, index) => (React.createElement(Box, { key: match.path },
331
+ React.createElement(Text, { color: index === selectedMatchIndex ? 'cyan' : 'gray' },
332
+ index === selectedMatchIndex ? '▶ ' : ' ',
333
+ match.type === 'directory' ? '📁 ' : '📄 ',
334
+ match.displayPath)))),
335
+ React.createElement(Text, { dimColor: true, italic: true }, "\u2191\u2193 to select, Tab/Enter to complete, Esc to cancel")))));
336
+ };
337
+ export default EnhancedTextInput;
338
+ //# sourceMappingURL=EnhancedTextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnhancedTextInput.js","sourceRoot":"","sources":["../src/EnhancedTextInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface SimpleEnhancedInputProps {
3
+ value: string;
4
+ onChange: (value: string) => void;
5
+ placeholder?: string;
6
+ onSubmit?: () => void;
7
+ onCancel?: () => void;
8
+ isActive?: boolean;
9
+ workingDirectory?: string;
10
+ }
11
+ declare const SimpleEnhancedInput: React.FC<SimpleEnhancedInputProps>;
12
+ export default SimpleEnhancedInput;
13
+ //# sourceMappingURL=SimpleEnhancedInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleEnhancedInput.d.ts","sourceRoot":"","sources":["../src/SimpleEnhancedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,wBAAwB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAQD,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAge3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}