@testany/hephos 0.3.10 → 0.3.13
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/out/repl/ReplModeInk.d.ts.map +1 -1
- package/out/repl/ReplModeInk.js +45 -22
- package/out/repl/ReplModeInk.js.map +1 -1
- package/out/repl/components/HistoryOverlay.d.ts +4 -2
- package/out/repl/components/HistoryOverlay.d.ts.map +1 -1
- package/out/repl/components/HistoryOverlay.js +26 -10
- package/out/repl/components/HistoryOverlay.js.map +1 -1
- package/out/repl/hooks/useHistory.d.ts +32 -12
- package/out/repl/hooks/useHistory.d.ts.map +1 -1
- package/out/repl/hooks/useHistory.js +152 -100
- package/out/repl/hooks/useHistory.js.map +1 -1
- package/package.json +4 -1
- package/patches/ink-text-input+6.0.0.patch +39 -0
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* - Adjacent deduplication
|
|
8
8
|
* - Sensitive command filtering (keys, tokens, passwords)
|
|
9
9
|
* - Safe exit with savedInput restoration
|
|
10
|
+
* - Mode-separated history (normal vs conversation)
|
|
10
11
|
*/
|
|
11
|
-
import { useState, useCallback } from 'react';
|
|
12
|
+
import { useState, useCallback, useRef } from 'react';
|
|
12
13
|
// Patterns that indicate sensitive content - don't add to history
|
|
13
14
|
const SENSITIVE_PATTERNS = [
|
|
14
15
|
// API keys and tokens
|
|
@@ -35,13 +36,13 @@ function isSensitiveCommand(command) {
|
|
|
35
36
|
/**
|
|
36
37
|
* Check if entry should be added to history
|
|
37
38
|
*/
|
|
38
|
-
function shouldAddToHistory(entry, lastEntry) {
|
|
39
|
+
function shouldAddToHistory(entry, lastEntry, mode) {
|
|
39
40
|
// Empty or whitespace-only
|
|
40
41
|
if (!entry.trim()) {
|
|
41
42
|
return false;
|
|
42
43
|
}
|
|
43
|
-
// Adjacent duplicate
|
|
44
|
-
if (lastEntry === entry) {
|
|
44
|
+
// Adjacent duplicate (same text AND same mode)
|
|
45
|
+
if (lastEntry && lastEntry.text === entry && lastEntry.mode === mode) {
|
|
45
46
|
return false;
|
|
46
47
|
}
|
|
47
48
|
// Sensitive content
|
|
@@ -50,6 +51,18 @@ function shouldAddToHistory(entry, lastEntry) {
|
|
|
50
51
|
}
|
|
51
52
|
return true;
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Get indices of entries matching a specific mode
|
|
56
|
+
*/
|
|
57
|
+
function getModeIndices(entries, mode) {
|
|
58
|
+
const indices = [];
|
|
59
|
+
for (let i = 0; i < entries.length; i++) {
|
|
60
|
+
if (entries[i].mode === mode) {
|
|
61
|
+
indices.push(i);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return indices;
|
|
65
|
+
}
|
|
53
66
|
const DEFAULT_MAX_ENTRIES = 500;
|
|
54
67
|
export function useHistory(options = {}) {
|
|
55
68
|
const maxEntries = options.maxEntries ?? DEFAULT_MAX_ENTRIES;
|
|
@@ -58,21 +71,26 @@ export function useHistory(options = {}) {
|
|
|
58
71
|
isActive: false,
|
|
59
72
|
currentIndex: -1,
|
|
60
73
|
savedInput: '',
|
|
74
|
+
activeMode: null,
|
|
61
75
|
searchMode: false,
|
|
62
76
|
searchQuery: '',
|
|
63
77
|
searchResults: [],
|
|
64
78
|
searchResultIndex: -1,
|
|
65
79
|
});
|
|
80
|
+
// Ref to capture return values from setState callbacks synchronously
|
|
81
|
+
// This is needed because setState updater functions may be called multiple times
|
|
82
|
+
// in React 18+ concurrent mode, but we need to return the result immediately
|
|
83
|
+
const resultRef = useRef(null);
|
|
66
84
|
/**
|
|
67
|
-
* Add a new entry to history
|
|
85
|
+
* Add a new entry to history with its mode
|
|
68
86
|
*/
|
|
69
|
-
const addEntry = useCallback((entry) => {
|
|
87
|
+
const addEntry = useCallback((entry, mode) => {
|
|
70
88
|
setState(prev => {
|
|
71
89
|
const lastEntry = prev.entries[prev.entries.length - 1];
|
|
72
|
-
if (!shouldAddToHistory(entry, lastEntry)) {
|
|
90
|
+
if (!shouldAddToHistory(entry, lastEntry, mode)) {
|
|
73
91
|
return prev;
|
|
74
92
|
}
|
|
75
|
-
const newEntries = [...prev.entries, entry];
|
|
93
|
+
const newEntries = [...prev.entries, { text: entry, mode }];
|
|
76
94
|
// Enforce max limit (FIFO)
|
|
77
95
|
if (newEntries.length > maxEntries) {
|
|
78
96
|
newEntries.shift();
|
|
@@ -84,70 +102,81 @@ export function useHistory(options = {}) {
|
|
|
84
102
|
});
|
|
85
103
|
}, [maxEntries]);
|
|
86
104
|
/**
|
|
87
|
-
* Navigate to previous (older) history entry
|
|
88
|
-
* Returns the entry to display, or null if at end
|
|
105
|
+
* Navigate to previous (older) history entry within the specified mode
|
|
106
|
+
* Returns the entry text to display, or null if at end
|
|
89
107
|
*/
|
|
90
|
-
const navigateUp = useCallback((currentInput) => {
|
|
91
|
-
|
|
108
|
+
const navigateUp = useCallback((currentInput, mode) => {
|
|
109
|
+
resultRef.current = null;
|
|
92
110
|
setState(prev => {
|
|
93
|
-
|
|
111
|
+
// Get indices of entries matching this mode
|
|
112
|
+
const modeIndices = getModeIndices(prev.entries, mode);
|
|
113
|
+
if (modeIndices.length === 0) {
|
|
94
114
|
return prev;
|
|
95
115
|
}
|
|
96
116
|
// First time entering history mode
|
|
97
117
|
if (!prev.isActive) {
|
|
98
|
-
|
|
99
|
-
|
|
118
|
+
// Start at the most recent entry for this mode
|
|
119
|
+
const newIndex = modeIndices[modeIndices.length - 1];
|
|
120
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
100
121
|
return {
|
|
101
122
|
...prev,
|
|
102
123
|
isActive: true,
|
|
103
124
|
currentIndex: newIndex,
|
|
104
125
|
savedInput: currentInput,
|
|
126
|
+
activeMode: mode,
|
|
105
127
|
};
|
|
106
128
|
}
|
|
107
|
-
// Already in history mode,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
129
|
+
// Already in history mode, find previous entry in this mode
|
|
130
|
+
const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
|
|
131
|
+
if (currentModeIdx > 0) {
|
|
132
|
+
const newIndex = modeIndices[currentModeIdx - 1];
|
|
133
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
111
134
|
return {
|
|
112
135
|
...prev,
|
|
113
136
|
currentIndex: newIndex,
|
|
114
137
|
};
|
|
115
138
|
}
|
|
116
|
-
// At oldest entry, return current
|
|
117
|
-
|
|
139
|
+
// At oldest entry for this mode, return current
|
|
140
|
+
if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
|
|
141
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
142
|
+
}
|
|
118
143
|
return prev;
|
|
119
144
|
});
|
|
120
|
-
return
|
|
145
|
+
return resultRef.current;
|
|
121
146
|
}, []);
|
|
122
147
|
/**
|
|
123
|
-
* Navigate to next (newer) history entry
|
|
124
|
-
* Returns the entry to display, or
|
|
148
|
+
* Navigate to next (newer) history entry within the active mode
|
|
149
|
+
* Returns the entry text to display, or savedInput if back to current input
|
|
125
150
|
*/
|
|
126
|
-
const navigateDown = useCallback(() => {
|
|
127
|
-
|
|
151
|
+
const navigateDown = useCallback((mode) => {
|
|
152
|
+
resultRef.current = null;
|
|
128
153
|
setState(prev => {
|
|
129
154
|
if (!prev.isActive) {
|
|
130
155
|
return prev;
|
|
131
156
|
}
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
157
|
+
// Get indices of entries matching this mode
|
|
158
|
+
const modeIndices = getModeIndices(prev.entries, mode);
|
|
159
|
+
// Find next entry in this mode
|
|
160
|
+
const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
|
|
161
|
+
if (currentModeIdx >= 0 && currentModeIdx < modeIndices.length - 1) {
|
|
162
|
+
const newIndex = modeIndices[currentModeIdx + 1];
|
|
163
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
136
164
|
return {
|
|
137
165
|
...prev,
|
|
138
166
|
currentIndex: newIndex,
|
|
139
167
|
};
|
|
140
168
|
}
|
|
141
|
-
// At newest entry, exit history mode and restore saved input
|
|
142
|
-
|
|
169
|
+
// At newest entry for this mode, exit history mode and restore saved input
|
|
170
|
+
resultRef.current = prev.savedInput;
|
|
143
171
|
return {
|
|
144
172
|
...prev,
|
|
145
173
|
isActive: false,
|
|
146
174
|
currentIndex: -1,
|
|
147
175
|
savedInput: '',
|
|
176
|
+
activeMode: null,
|
|
148
177
|
};
|
|
149
178
|
});
|
|
150
|
-
return
|
|
179
|
+
return resultRef.current;
|
|
151
180
|
}, []);
|
|
152
181
|
/**
|
|
153
182
|
* Exit history mode without accepting
|
|
@@ -162,40 +191,42 @@ export function useHistory(options = {}) {
|
|
|
162
191
|
isActive: false,
|
|
163
192
|
currentIndex: -1,
|
|
164
193
|
savedInput: '',
|
|
194
|
+
activeMode: null,
|
|
165
195
|
};
|
|
166
196
|
});
|
|
167
197
|
return savedInput;
|
|
168
198
|
}, []);
|
|
169
199
|
/**
|
|
170
200
|
* Accept currently selected history entry
|
|
171
|
-
* Returns the entry, or null if not in history mode
|
|
201
|
+
* Returns the entry text, or null if not in history mode
|
|
172
202
|
*/
|
|
173
203
|
const acceptHistory = useCallback(() => {
|
|
174
|
-
|
|
204
|
+
resultRef.current = null;
|
|
175
205
|
setState(prev => {
|
|
176
206
|
if (!prev.isActive || prev.currentIndex < 0) {
|
|
177
207
|
return prev;
|
|
178
208
|
}
|
|
179
|
-
|
|
209
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
180
210
|
return {
|
|
181
211
|
...prev,
|
|
182
212
|
isActive: false,
|
|
183
213
|
currentIndex: -1,
|
|
184
214
|
savedInput: '',
|
|
215
|
+
activeMode: null,
|
|
185
216
|
};
|
|
186
217
|
});
|
|
187
|
-
return
|
|
218
|
+
return resultRef.current;
|
|
188
219
|
}, []);
|
|
189
220
|
/**
|
|
190
|
-
* Navigate up with prefix filtering
|
|
221
|
+
* Navigate up with prefix filtering (within mode)
|
|
191
222
|
*/
|
|
192
|
-
const navigateUpFiltered = useCallback((currentInput, prefix) => {
|
|
193
|
-
|
|
223
|
+
const navigateUpFiltered = useCallback((currentInput, prefix, mode) => {
|
|
224
|
+
resultRef.current = null;
|
|
194
225
|
setState(prev => {
|
|
195
|
-
// Find entries matching prefix
|
|
226
|
+
// Find entries matching prefix AND mode
|
|
196
227
|
const matchingIndices = [];
|
|
197
228
|
for (let i = 0; i < prev.entries.length; i++) {
|
|
198
|
-
if (prev.entries[i].startsWith(prefix)) {
|
|
229
|
+
if (prev.entries[i].mode === mode && prev.entries[i].text.startsWith(prefix)) {
|
|
199
230
|
matchingIndices.push(i);
|
|
200
231
|
}
|
|
201
232
|
}
|
|
@@ -205,43 +236,46 @@ export function useHistory(options = {}) {
|
|
|
205
236
|
// First time entering history mode with filter
|
|
206
237
|
if (!prev.isActive) {
|
|
207
238
|
const newIndex = matchingIndices[matchingIndices.length - 1];
|
|
208
|
-
|
|
239
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
209
240
|
return {
|
|
210
241
|
...prev,
|
|
211
242
|
isActive: true,
|
|
212
243
|
currentIndex: newIndex,
|
|
213
244
|
savedInput: currentInput,
|
|
245
|
+
activeMode: mode,
|
|
214
246
|
};
|
|
215
247
|
}
|
|
216
248
|
// Find previous matching entry
|
|
217
249
|
const currentMatchIdx = matchingIndices.findIndex(idx => idx === prev.currentIndex);
|
|
218
250
|
if (currentMatchIdx > 0) {
|
|
219
251
|
const newIndex = matchingIndices[currentMatchIdx - 1];
|
|
220
|
-
|
|
252
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
221
253
|
return {
|
|
222
254
|
...prev,
|
|
223
255
|
currentIndex: newIndex,
|
|
224
256
|
};
|
|
225
257
|
}
|
|
226
258
|
// At oldest matching entry
|
|
227
|
-
|
|
259
|
+
if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
|
|
260
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
261
|
+
}
|
|
228
262
|
return prev;
|
|
229
263
|
});
|
|
230
|
-
return
|
|
264
|
+
return resultRef.current;
|
|
231
265
|
}, []);
|
|
232
266
|
/**
|
|
233
|
-
* Navigate down with prefix filtering
|
|
267
|
+
* Navigate down with prefix filtering (within mode)
|
|
234
268
|
*/
|
|
235
|
-
const navigateDownFiltered = useCallback((prefix) => {
|
|
236
|
-
|
|
269
|
+
const navigateDownFiltered = useCallback((prefix, mode) => {
|
|
270
|
+
resultRef.current = null;
|
|
237
271
|
setState(prev => {
|
|
238
272
|
if (!prev.isActive) {
|
|
239
273
|
return prev;
|
|
240
274
|
}
|
|
241
|
-
// Find entries matching prefix
|
|
275
|
+
// Find entries matching prefix AND mode
|
|
242
276
|
const matchingIndices = [];
|
|
243
277
|
for (let i = 0; i < prev.entries.length; i++) {
|
|
244
|
-
if (prev.entries[i].startsWith(prefix)) {
|
|
278
|
+
if (prev.entries[i].mode === mode && prev.entries[i].text.startsWith(prefix)) {
|
|
245
279
|
matchingIndices.push(i);
|
|
246
280
|
}
|
|
247
281
|
}
|
|
@@ -249,45 +283,46 @@ export function useHistory(options = {}) {
|
|
|
249
283
|
const currentMatchIdx = matchingIndices.findIndex(idx => idx === prev.currentIndex);
|
|
250
284
|
if (currentMatchIdx >= 0 && currentMatchIdx < matchingIndices.length - 1) {
|
|
251
285
|
const newIndex = matchingIndices[currentMatchIdx + 1];
|
|
252
|
-
|
|
286
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
253
287
|
return {
|
|
254
288
|
...prev,
|
|
255
289
|
currentIndex: newIndex,
|
|
256
290
|
};
|
|
257
291
|
}
|
|
258
292
|
// At newest matching entry, exit history mode
|
|
259
|
-
|
|
293
|
+
resultRef.current = prev.savedInput;
|
|
260
294
|
return {
|
|
261
295
|
...prev,
|
|
262
296
|
isActive: false,
|
|
263
297
|
currentIndex: -1,
|
|
264
298
|
savedInput: '',
|
|
299
|
+
activeMode: null,
|
|
265
300
|
};
|
|
266
301
|
});
|
|
267
|
-
return
|
|
302
|
+
return resultRef.current;
|
|
268
303
|
}, []);
|
|
269
304
|
/**
|
|
270
|
-
* Helper function to find matching entries for a search query
|
|
305
|
+
* Helper function to find matching entries for a search query (within mode)
|
|
271
306
|
*/
|
|
272
|
-
const findSearchMatches = (entries, query) => {
|
|
307
|
+
const findSearchMatches = (entries, query, mode) => {
|
|
273
308
|
if (!query)
|
|
274
309
|
return [];
|
|
275
310
|
const lowerQuery = query.toLowerCase();
|
|
276
311
|
const matches = [];
|
|
277
312
|
for (let i = 0; i < entries.length; i++) {
|
|
278
|
-
if (entries[i].toLowerCase().includes(lowerQuery)) {
|
|
313
|
+
if (entries[i].mode === mode && entries[i].text.toLowerCase().includes(lowerQuery)) {
|
|
279
314
|
matches.push(i);
|
|
280
315
|
}
|
|
281
316
|
}
|
|
282
317
|
return matches;
|
|
283
318
|
};
|
|
284
319
|
/**
|
|
285
|
-
* Enter search mode (Ctrl+R)
|
|
320
|
+
* Enter search mode (Ctrl+R) - searches within the specified mode
|
|
286
321
|
*/
|
|
287
|
-
const enterSearchMode = useCallback((currentInput) => {
|
|
322
|
+
const enterSearchMode = useCallback((currentInput, mode) => {
|
|
288
323
|
setState(prev => {
|
|
289
|
-
// Use current input as initial search query
|
|
290
|
-
const searchResults = findSearchMatches(prev.entries, currentInput);
|
|
324
|
+
// Use current input as initial search query, filter by mode
|
|
325
|
+
const searchResults = findSearchMatches(prev.entries, currentInput, mode);
|
|
291
326
|
const searchResultIndex = searchResults.length > 0 ? searchResults.length - 1 : -1;
|
|
292
327
|
const currentIndex = searchResultIndex >= 0 ? searchResults[searchResultIndex] : -1;
|
|
293
328
|
return {
|
|
@@ -299,23 +334,24 @@ export function useHistory(options = {}) {
|
|
|
299
334
|
searchResultIndex,
|
|
300
335
|
currentIndex,
|
|
301
336
|
savedInput: currentInput,
|
|
337
|
+
activeMode: mode,
|
|
302
338
|
};
|
|
303
339
|
});
|
|
304
340
|
}, []);
|
|
305
341
|
/**
|
|
306
|
-
* Update search query and find matches
|
|
307
|
-
* Returns the first matching entry or null
|
|
342
|
+
* Update search query and find matches (uses activeMode from state)
|
|
343
|
+
* Returns the first matching entry text or null
|
|
308
344
|
*/
|
|
309
345
|
const updateSearchQuery = useCallback((query) => {
|
|
310
|
-
|
|
346
|
+
resultRef.current = null;
|
|
311
347
|
setState(prev => {
|
|
312
|
-
if (!prev.searchMode)
|
|
348
|
+
if (!prev.searchMode || !prev.activeMode)
|
|
313
349
|
return prev;
|
|
314
|
-
const searchResults = findSearchMatches(prev.entries, query);
|
|
350
|
+
const searchResults = findSearchMatches(prev.entries, query, prev.activeMode);
|
|
315
351
|
const searchResultIndex = searchResults.length > 0 ? searchResults.length - 1 : -1;
|
|
316
352
|
const currentIndex = searchResultIndex >= 0 ? searchResults[searchResultIndex] : -1;
|
|
317
353
|
if (currentIndex >= 0) {
|
|
318
|
-
|
|
354
|
+
resultRef.current = prev.entries[currentIndex].text;
|
|
319
355
|
}
|
|
320
356
|
return {
|
|
321
357
|
...prev,
|
|
@@ -325,14 +361,14 @@ export function useHistory(options = {}) {
|
|
|
325
361
|
currentIndex,
|
|
326
362
|
};
|
|
327
363
|
});
|
|
328
|
-
return
|
|
364
|
+
return resultRef.current;
|
|
329
365
|
}, []);
|
|
330
366
|
/**
|
|
331
367
|
* Search backward (Ctrl+R or ↑ in search mode)
|
|
332
368
|
* Finds the previous matching entry
|
|
333
369
|
*/
|
|
334
370
|
const searchBackward = useCallback(() => {
|
|
335
|
-
|
|
371
|
+
resultRef.current = null;
|
|
336
372
|
setState(prev => {
|
|
337
373
|
if (!prev.searchMode || prev.searchResults.length === 0) {
|
|
338
374
|
return prev;
|
|
@@ -341,7 +377,7 @@ export function useHistory(options = {}) {
|
|
|
341
377
|
if (prev.searchResultIndex > 0) {
|
|
342
378
|
const newSearchResultIndex = prev.searchResultIndex - 1;
|
|
343
379
|
const newIndex = prev.searchResults[newSearchResultIndex];
|
|
344
|
-
|
|
380
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
345
381
|
return {
|
|
346
382
|
...prev,
|
|
347
383
|
searchResultIndex: newSearchResultIndex,
|
|
@@ -349,17 +385,19 @@ export function useHistory(options = {}) {
|
|
|
349
385
|
};
|
|
350
386
|
}
|
|
351
387
|
// At oldest match, stay there
|
|
352
|
-
|
|
388
|
+
if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
|
|
389
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
390
|
+
}
|
|
353
391
|
return prev;
|
|
354
392
|
});
|
|
355
|
-
return
|
|
393
|
+
return resultRef.current;
|
|
356
394
|
}, []);
|
|
357
395
|
/**
|
|
358
396
|
* Search forward (Ctrl+S or ↓ in search mode)
|
|
359
397
|
* Finds the next matching entry
|
|
360
398
|
*/
|
|
361
399
|
const searchForward = useCallback(() => {
|
|
362
|
-
|
|
400
|
+
resultRef.current = null;
|
|
363
401
|
setState(prev => {
|
|
364
402
|
if (!prev.searchMode || prev.searchResults.length === 0) {
|
|
365
403
|
return prev;
|
|
@@ -368,7 +406,7 @@ export function useHistory(options = {}) {
|
|
|
368
406
|
if (prev.searchResultIndex < prev.searchResults.length - 1) {
|
|
369
407
|
const newSearchResultIndex = prev.searchResultIndex + 1;
|
|
370
408
|
const newIndex = prev.searchResults[newSearchResultIndex];
|
|
371
|
-
|
|
409
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
372
410
|
return {
|
|
373
411
|
...prev,
|
|
374
412
|
searchResultIndex: newSearchResultIndex,
|
|
@@ -376,10 +414,12 @@ export function useHistory(options = {}) {
|
|
|
376
414
|
};
|
|
377
415
|
}
|
|
378
416
|
// At newest match, stay there
|
|
379
|
-
|
|
417
|
+
if (prev.currentIndex >= 0 && prev.currentIndex < prev.entries.length) {
|
|
418
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
419
|
+
}
|
|
380
420
|
return prev;
|
|
381
421
|
});
|
|
382
|
-
return
|
|
422
|
+
return resultRef.current;
|
|
383
423
|
}, []);
|
|
384
424
|
/**
|
|
385
425
|
* Exit search mode without accepting
|
|
@@ -398,21 +438,22 @@ export function useHistory(options = {}) {
|
|
|
398
438
|
searchResultIndex: -1,
|
|
399
439
|
currentIndex: -1,
|
|
400
440
|
savedInput: '',
|
|
441
|
+
activeMode: null,
|
|
401
442
|
};
|
|
402
443
|
});
|
|
403
444
|
return savedInput;
|
|
404
445
|
}, []);
|
|
405
446
|
/**
|
|
406
447
|
* Accept current search result
|
|
407
|
-
* Returns the selected entry
|
|
448
|
+
* Returns the selected entry text
|
|
408
449
|
*/
|
|
409
450
|
const acceptSearch = useCallback(() => {
|
|
410
|
-
|
|
451
|
+
resultRef.current = null;
|
|
411
452
|
setState(prev => {
|
|
412
453
|
if (!prev.searchMode || prev.currentIndex < 0) {
|
|
413
454
|
return prev;
|
|
414
455
|
}
|
|
415
|
-
|
|
456
|
+
resultRef.current = prev.entries[prev.currentIndex].text;
|
|
416
457
|
return {
|
|
417
458
|
...prev,
|
|
418
459
|
isActive: false,
|
|
@@ -422,74 +463,85 @@ export function useHistory(options = {}) {
|
|
|
422
463
|
searchResultIndex: -1,
|
|
423
464
|
currentIndex: -1,
|
|
424
465
|
savedInput: '',
|
|
466
|
+
activeMode: null,
|
|
425
467
|
};
|
|
426
468
|
});
|
|
427
|
-
return
|
|
469
|
+
return resultRef.current;
|
|
428
470
|
}, []);
|
|
429
471
|
const DEFAULT_JUMP_STEP = 5;
|
|
430
472
|
/**
|
|
431
|
-
* Jump up multiple entries (Alt+↑ / PgUp)
|
|
473
|
+
* Jump up multiple entries within a mode (Alt+↑ / PgUp)
|
|
432
474
|
*/
|
|
433
|
-
const jumpUp = useCallback((currentInput, step = DEFAULT_JUMP_STEP) => {
|
|
434
|
-
|
|
475
|
+
const jumpUp = useCallback((currentInput, mode, step = DEFAULT_JUMP_STEP) => {
|
|
476
|
+
resultRef.current = null;
|
|
435
477
|
setState(prev => {
|
|
436
|
-
|
|
478
|
+
const modeIndices = getModeIndices(prev.entries, mode);
|
|
479
|
+
if (modeIndices.length === 0) {
|
|
437
480
|
return prev;
|
|
438
481
|
}
|
|
439
482
|
// First time entering history mode
|
|
440
483
|
if (!prev.isActive) {
|
|
441
|
-
const
|
|
442
|
-
|
|
484
|
+
const targetModeIdx = Math.max(0, modeIndices.length - step);
|
|
485
|
+
const newIndex = modeIndices[targetModeIdx];
|
|
486
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
443
487
|
return {
|
|
444
488
|
...prev,
|
|
445
489
|
isActive: true,
|
|
446
490
|
currentIndex: newIndex,
|
|
447
491
|
savedInput: currentInput,
|
|
492
|
+
activeMode: mode,
|
|
448
493
|
};
|
|
449
494
|
}
|
|
450
|
-
// Already in history mode, jump back
|
|
451
|
-
const
|
|
452
|
-
|
|
495
|
+
// Already in history mode, jump back within mode
|
|
496
|
+
const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
|
|
497
|
+
const targetModeIdx = Math.max(0, currentModeIdx - step);
|
|
498
|
+
const newIndex = modeIndices[targetModeIdx];
|
|
499
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
453
500
|
return {
|
|
454
501
|
...prev,
|
|
455
502
|
currentIndex: newIndex,
|
|
456
503
|
};
|
|
457
504
|
});
|
|
458
|
-
return
|
|
505
|
+
return resultRef.current;
|
|
459
506
|
}, []);
|
|
460
507
|
/**
|
|
461
|
-
* Jump down multiple entries (Alt+↓ / PgDn)
|
|
508
|
+
* Jump down multiple entries within a mode (Alt+↓ / PgDn)
|
|
462
509
|
*/
|
|
463
|
-
const jumpDown = useCallback((step = DEFAULT_JUMP_STEP) => {
|
|
464
|
-
|
|
510
|
+
const jumpDown = useCallback((mode, step = DEFAULT_JUMP_STEP) => {
|
|
511
|
+
resultRef.current = null;
|
|
465
512
|
setState(prev => {
|
|
466
513
|
if (!prev.isActive) {
|
|
467
514
|
return prev;
|
|
468
515
|
}
|
|
469
|
-
|
|
470
|
-
const
|
|
471
|
-
|
|
516
|
+
const modeIndices = getModeIndices(prev.entries, mode);
|
|
517
|
+
const currentModeIdx = modeIndices.findIndex(idx => idx === prev.currentIndex);
|
|
518
|
+
// Jump forward within mode
|
|
519
|
+
const targetModeIdx = currentModeIdx + step;
|
|
520
|
+
if (targetModeIdx >= modeIndices.length) {
|
|
472
521
|
// Exit history mode and restore saved input
|
|
473
|
-
|
|
522
|
+
resultRef.current = prev.savedInput;
|
|
474
523
|
return {
|
|
475
524
|
...prev,
|
|
476
525
|
isActive: false,
|
|
477
526
|
currentIndex: -1,
|
|
478
527
|
savedInput: '',
|
|
528
|
+
activeMode: null,
|
|
479
529
|
};
|
|
480
530
|
}
|
|
481
|
-
|
|
531
|
+
const newIndex = modeIndices[targetModeIdx];
|
|
532
|
+
resultRef.current = prev.entries[newIndex].text;
|
|
482
533
|
return {
|
|
483
534
|
...prev,
|
|
484
535
|
currentIndex: newIndex,
|
|
485
536
|
};
|
|
486
537
|
});
|
|
487
|
-
return
|
|
538
|
+
return resultRef.current;
|
|
488
539
|
}, []);
|
|
489
540
|
return {
|
|
490
541
|
entries: state.entries,
|
|
491
542
|
isActive: state.isActive,
|
|
492
543
|
currentIndex: state.currentIndex,
|
|
544
|
+
activeMode: state.activeMode,
|
|
493
545
|
searchMode: state.searchMode,
|
|
494
546
|
searchQuery: state.searchQuery,
|
|
495
547
|
addEntry,
|
|
@@ -510,5 +562,5 @@ export function useHistory(options = {}) {
|
|
|
510
562
|
};
|
|
511
563
|
}
|
|
512
564
|
// Export for testing
|
|
513
|
-
export { isSensitiveCommand, shouldAddToHistory };
|
|
565
|
+
export { isSensitiveCommand, shouldAddToHistory, getModeIndices };
|
|
514
566
|
//# sourceMappingURL=useHistory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/repl/hooks/useHistory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../src/repl/hooks/useHistory.ts"],"names":[],"mappings":"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"}
|