Skip to content

Commit c031700

Browse files
feat(cli): use editor for multi-line inputs
1 parent 87661ba commit c031700

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

bin/cli.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ let conversationId = null;
4848
let parentMessageId = null;
4949

5050
const availableCommands = [
51+
{
52+
name: '!editor - Open the editor (for multi-line messages)',
53+
value: '!editor',
54+
},
5155
{
5256
name: '!resume - Resume last conversation',
5357
value: '!resume',
@@ -103,6 +107,8 @@ async function conversation() {
103107
}
104108
if (message.startsWith('!')) {
105109
switch (message) {
110+
case '!editor':
111+
return useEditor();
106112
case '!resume':
107113
return resumeConversation();
108114
case '!new':
@@ -141,6 +147,23 @@ async function onMessage(message) {
141147
return conversation();
142148
}
143149

150+
async function useEditor() {
151+
let { message } = await inquirer.prompt([
152+
{
153+
type: 'editor',
154+
name: 'message',
155+
message: 'Write a message:',
156+
waitUserInput: false,
157+
},
158+
]);
159+
message = message.trim();
160+
if (!message) {
161+
return conversation();
162+
}
163+
console.log(message);
164+
return onMessage(message);
165+
}
166+
144167
async function resumeConversation() {
145168
({ conversationId, parentMessageId } = (await chatGptClient.conversationsCache.get('lastConversation')) || {});
146169
if (conversationId) {

0 commit comments

Comments
 (0)