@taj-special/dravix-code 1.1.22 → 1.1.23
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/cli/index.js +0 -1
- package/dist/cli/repl.js +10 -2
- package/dist/utils/layout.js +1 -0
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -265,7 +265,6 @@ async function main() {
|
|
|
265
265
|
console.log(colors.muted(' Project ') + W(path.basename(cwd)));
|
|
266
266
|
console.log(colors.muted(' Path ') + DIM(cwd));
|
|
267
267
|
console.log(DIM(' ' + '─'.repeat(45)));
|
|
268
|
-
console.log(colors.muted(' ') + C('Tab') + colors.muted(' path complete ') + C('@') + colors.muted(' file picker ') + C('Ctrl+C') + colors.muted(' cancel ') + C('/help') + colors.muted(' commands'));
|
|
269
268
|
process.stdout.write('\n');
|
|
270
269
|
await startRepl(cwd);
|
|
271
270
|
}
|
package/dist/cli/repl.js
CHANGED
|
@@ -2239,10 +2239,11 @@ export async function startRepl(cwd) {
|
|
|
2239
2239
|
const q = queuedResult;
|
|
2240
2240
|
queuedResult = null;
|
|
2241
2241
|
result = q;
|
|
2242
|
-
// Show queued message
|
|
2242
|
+
// Show queued message inside scroll region
|
|
2243
|
+
layout.enterChat();
|
|
2243
2244
|
const cols = process.stdout.columns ?? 80;
|
|
2244
2245
|
const msgBgQ = chalk.bgHex('#334155').hex('#f1f5f9');
|
|
2245
|
-
process.stdout.write(msgBgQ((' > ' + q.text + ' ').padEnd(cols)) + '\n');
|
|
2246
|
+
process.stdout.write('\n' + msgBgQ((' > ' + q.text + ' ').padEnd(cols)) + '\n');
|
|
2246
2247
|
}
|
|
2247
2248
|
else {
|
|
2248
2249
|
result = await readLine(PROMPT, activeCwd, layout);
|
|
@@ -2254,7 +2255,12 @@ export async function startRepl(cwd) {
|
|
|
2254
2255
|
lastUserLine = line;
|
|
2255
2256
|
// ── Slash commands ──────────────────────────────────────────
|
|
2256
2257
|
if (!skipInput && line.trim() === '/resume') {
|
|
2258
|
+
// Temporarily reset scroll region so picker can use full terminal with relative cursor movement
|
|
2259
|
+
process.stdout.write('\x1b[r');
|
|
2257
2260
|
const convId = await showConversationPicker();
|
|
2261
|
+
// Restore scroll region + fixed rows
|
|
2262
|
+
layout.resize();
|
|
2263
|
+
layout.enterChat();
|
|
2258
2264
|
if (convId) {
|
|
2259
2265
|
const conv = loadConversation(convId);
|
|
2260
2266
|
if (conv) {
|
|
@@ -2294,6 +2300,8 @@ export async function startRepl(cwd) {
|
|
|
2294
2300
|
if (lastUserLine)
|
|
2295
2301
|
queuedResult = { text: lastUserLine, lines: [lastUserLine] };
|
|
2296
2302
|
});
|
|
2303
|
+
// Re-establish scroll region after /clear (console.clear) or other commands
|
|
2304
|
+
layout.resize();
|
|
2297
2305
|
continue;
|
|
2298
2306
|
}
|
|
2299
2307
|
if (!skipInput) {
|
package/dist/utils/layout.js
CHANGED
|
@@ -52,6 +52,7 @@ export class ChatLayout {
|
|
|
52
52
|
this.redrawDivider();
|
|
53
53
|
process.stdout.write(`\x1b[${this.inputRow};1H\x1b[2K`);
|
|
54
54
|
process.stdout.write(`\x1b[${this.hintRow};1H\x1b[2K`);
|
|
55
|
+
process.stdout.write(`\x1b[${this.inputRow};1H`);
|
|
55
56
|
}
|
|
56
57
|
/** Clear all chat lines in the scroll region. */
|
|
57
58
|
clearScrollRegion() {
|