wormclaude 1.0.104 → 1.0.105
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.js +26 -9
- package/dist/theme.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -466,6 +466,7 @@ function App() {
|
|
|
466
466
|
const [ctxTokens, setCtxTokens] = useState(0);
|
|
467
467
|
const [started, setStarted] = useState(false);
|
|
468
468
|
const [trustSel, setTrustSel] = useState(0); // 0=Evet, 1=Hayir
|
|
469
|
+
const [wsInput, setWsInput] = useState(''); // açılışta yazılan çalışma klasörü (boş=mevcut cwd)
|
|
469
470
|
const [lang, setLangState] = useState(() => loadLang()); // null → dil sor
|
|
470
471
|
const [langSel, setLangSel] = useState(0); // 0=tr 1=en
|
|
471
472
|
const chooseLang = (l) => { setLang(l); saveLang(l); setLangState(l); };
|
|
@@ -497,22 +498,37 @@ function App() {
|
|
|
497
498
|
else if (key.escape)
|
|
498
499
|
exit();
|
|
499
500
|
});
|
|
500
|
-
// Klasör güven sorusu
|
|
501
|
+
// Klasör güven sorusu + çalışma klasörü yazma (Enter=onayla, farklı yol yazılabilir)
|
|
501
502
|
useInput((inp, key) => {
|
|
502
503
|
if (lang === null || started)
|
|
503
504
|
return;
|
|
504
|
-
if (key.upArrow
|
|
505
|
+
if (key.upArrow)
|
|
505
506
|
setTrustSel(0);
|
|
506
|
-
else if (key.downArrow
|
|
507
|
+
else if (key.downArrow)
|
|
507
508
|
setTrustSel(1);
|
|
509
|
+
else if (key.escape)
|
|
510
|
+
exit();
|
|
508
511
|
else if (key.return) {
|
|
509
|
-
if (trustSel ===
|
|
510
|
-
setStarted(true);
|
|
511
|
-
else
|
|
512
|
+
if (trustSel === 1) {
|
|
512
513
|
exit();
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
const tgt = wsInput.trim().replace(/^["']|["']$/g, '');
|
|
517
|
+
if (tgt) {
|
|
518
|
+
try {
|
|
519
|
+
const abs = path.isAbsolute(tgt) ? tgt : path.resolve(process.cwd(), tgt);
|
|
520
|
+
fs.mkdirSync(abs, { recursive: true });
|
|
521
|
+
process.chdir(abs);
|
|
522
|
+
setBashCwd(abs);
|
|
523
|
+
}
|
|
524
|
+
catch { /* geçersiz yol → mevcut cwd ile devam */ }
|
|
525
|
+
}
|
|
526
|
+
setStarted(true);
|
|
513
527
|
}
|
|
514
|
-
else if (key.
|
|
515
|
-
|
|
528
|
+
else if (key.backspace || key.delete)
|
|
529
|
+
setWsInput((s) => s.slice(0, -1));
|
|
530
|
+
else if (inp && inp.length === 1 && inp >= ' ' && !key.ctrl && !key.meta)
|
|
531
|
+
setWsInput((s) => s + inp);
|
|
516
532
|
});
|
|
517
533
|
// Soru dialogu (AskUserQuestion / plan onayı)
|
|
518
534
|
useInput((inp, key) => {
|
|
@@ -1067,7 +1083,8 @@ function App() {
|
|
|
1067
1083
|
React.createElement(Box, { flexDirection: "column", marginTop: 1, paddingX: 1 },
|
|
1068
1084
|
React.createElement(Text, { color: theme.redBright, bold: true }, t('trust.accessing')),
|
|
1069
1085
|
React.createElement(Text, null, " "),
|
|
1070
|
-
React.createElement(Text, { color: theme.
|
|
1086
|
+
React.createElement(Text, { color: theme.grey }, getLang() === 'en' ? 'Working folder (Enter = use it, or type another path):' : 'Çalışma klasörü (Enter = bu klasör, ya da farklı yol yaz):'),
|
|
1087
|
+
React.createElement(Text, { color: theme.white }, '❯ ' + (wsInput || process.cwd())),
|
|
1071
1088
|
React.createElement(Text, null, " "),
|
|
1072
1089
|
t('trust.check').split('\n').map((line, i) => React.createElement(Text, { key: i, color: theme.grey }, line)),
|
|
1073
1090
|
React.createElement(Text, null, " "),
|
package/dist/theme.js
CHANGED