blun-king-cli 7.1.0 → 7.1.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/lib/chat.js +50 -53
- package/package.json +1 -1
package/lib/chat.js
CHANGED
|
@@ -89,64 +89,61 @@ function startChat() {
|
|
|
89
89
|
});
|
|
90
90
|
|
|
91
91
|
function showPrompt() {
|
|
92
|
-
|
|
93
|
-
rl.setPrompt(ui.renderPrompt());
|
|
92
|
+
rl.setPrompt(chalk.bold.green("> "));
|
|
94
93
|
rl.prompt();
|
|
95
94
|
}
|
|
96
95
|
|
|
97
|
-
// ──
|
|
96
|
+
// ── Settings via inquirer (Windows-compatible) ──────
|
|
98
97
|
function openSettingsPanel() {
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
98
|
+
var inquirer = require("inquirer");
|
|
99
|
+
var t = ui.getTheme();
|
|
100
|
+
|
|
101
|
+
// Show current settings
|
|
102
|
+
console.log();
|
|
103
|
+
console.log(t.header(" Current Settings"));
|
|
104
|
+
console.log(t.muted(" " + "\u2500".repeat(40)));
|
|
105
|
+
ui.SETTINGS_FIELDS.forEach(function (f) {
|
|
106
|
+
console.log(" " + chalk.white(f.label + ":") + " ".repeat(Math.max(1, 14 - f.label.length)) + ui.formatSettingValue(f, settings[f.key]));
|
|
107
|
+
});
|
|
108
|
+
console.log();
|
|
109
|
+
|
|
110
|
+
inquirer.prompt([{
|
|
111
|
+
type: "list",
|
|
112
|
+
name: "field",
|
|
113
|
+
message: "Change setting",
|
|
114
|
+
choices: ui.SETTINGS_FIELDS.map(function (f) {
|
|
115
|
+
return { name: f.label + " — " + ui.formatSettingValue(f, settings[f.key]), value: f.key };
|
|
116
|
+
}).concat([{ name: chalk.dim("Back"), value: "back" }]),
|
|
117
|
+
pageSize: 12,
|
|
118
|
+
}]).then(function (ans) {
|
|
119
|
+
if (ans.field === "back") {
|
|
120
|
+
showPrompt();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
var field = null;
|
|
124
|
+
for (var i = 0; i < ui.SETTINGS_FIELDS.length; i++) {
|
|
125
|
+
if (ui.SETTINGS_FIELDS[i].key === ans.field) { field = ui.SETTINGS_FIELDS[i]; break; }
|
|
126
|
+
}
|
|
127
|
+
if (!field) { showPrompt(); return; }
|
|
128
|
+
|
|
129
|
+
return inquirer.prompt([{
|
|
130
|
+
type: "list",
|
|
131
|
+
name: "value",
|
|
132
|
+
message: field.label + " (" + (field.help || "") + ")",
|
|
133
|
+
choices: field.values.map(function (v) {
|
|
134
|
+
var isCurrent = settings[field.key] === v;
|
|
135
|
+
var label = String(v);
|
|
136
|
+
if (typeof v === "boolean") label = v ? "On" : "Off";
|
|
137
|
+
return { name: label + (isCurrent ? chalk.green(" (current)") : ""), value: v };
|
|
138
|
+
}),
|
|
139
|
+
}]).then(function (ans2) {
|
|
140
|
+
settings[field.key] = ans2.value;
|
|
134
141
|
if (field.key === "theme") ui.setTheme(settings.theme);
|
|
135
142
|
auth.saveSettings(settings);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
cleanup();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// Pause readline, take raw input
|
|
145
|
-
rl.pause();
|
|
146
|
-
readline.emitKeypressEvents(process.stdin);
|
|
147
|
-
if (process.stdin.isTTY && process.stdin.setRawMode) process.stdin.setRawMode(true);
|
|
148
|
-
process.stdin.on("keypress", onKeypress);
|
|
149
|
-
render();
|
|
143
|
+
ui.renderResponse(field.label + ": " + ans2.value, "system");
|
|
144
|
+
showPrompt();
|
|
145
|
+
});
|
|
146
|
+
});
|
|
150
147
|
}
|
|
151
148
|
|
|
152
149
|
console.log();
|
|
@@ -161,7 +158,7 @@ function startChat() {
|
|
|
161
158
|
return;
|
|
162
159
|
}
|
|
163
160
|
|
|
164
|
-
|
|
161
|
+
console.log();
|
|
165
162
|
|
|
166
163
|
// ── Commands ────────────────────────────────
|
|
167
164
|
if (input === "/exit" || input === "/quit") {
|