diff --git a/package.json b/package.json index 95c7973..e9c3042 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "commander": "^10.0.0", "conf": "^11.0.1", "dotenv": "^16.0.3", - "fast-word-wrap": "^1.0.1", "jsonfile": "^6.1.0", "md5": "^2.3.0", "minimist": "^1.2.8", @@ -27,7 +26,8 @@ "pretty-ms": "^8.0.0", "term-size": "^3.0.2", "update-notifier": "^6.0.2", - "wordcount": "^1.1.1" + "wordcount": "^1.1.1", + "wrap-text": "^1.0.9" }, "publishConfig": { "access": "public" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b0a61e..a82cf6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,6 @@ specifiers: conf: ^11.0.1 dotenv: ^16.0.3 eslint: ^8.35.0 - fast-word-wrap: ^1.0.1 jsonfile: ^6.1.0 md5: ^2.3.0 minimist: ^1.2.8 @@ -19,6 +18,7 @@ specifiers: term-size: ^3.0.2 update-notifier: ^6.0.2 wordcount: ^1.1.1 + wrap-text: ^1.0.9 dependencies: '@clack/prompts': 0.6.3 @@ -26,7 +26,6 @@ dependencies: commander: 10.0.0 conf: 11.0.1 dotenv: 16.0.3 - fast-word-wrap: 1.0.1 jsonfile: 6.1.0 md5: 2.3.0 minimist: 1.2.8 @@ -38,6 +37,7 @@ dependencies: term-size: 3.0.2 update-notifier: 6.0.2 wordcount: 1.1.1 + wrap-text: 1.0.9 devDependencies: eslint: 8.35.0 @@ -654,10 +654,6 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fast-word-wrap/1.0.1: - resolution: {integrity: sha512-i31rxWgNNCHS5Yf1bZlFhjpWe2pmbBsaLFtO940wnRq9r2zmCwrjDqfmGrtWTo6LZcSFqwrAwqV/28OE5M7bqw==} - dev: false - /fastq/1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: @@ -1513,6 +1509,10 @@ packages: strip-ansi: 7.0.1 dev: false + /wrap-text/1.0.9: + resolution: {integrity: sha512-NWfjspSgMDXQIMpKM56AwCQPI01OMFRYYJBh6dGNCfH7AOl+j/VqqbiopgJ4VuQfSluqLc+2ekqaPNpYAGZ/Vg==} + dev: false + /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true diff --git a/src/loop.js b/src/loop.js index f961162..433b99f 100644 --- a/src/loop.js +++ b/src/loop.js @@ -1,6 +1,5 @@ import readline from 'readline'; -import wrap from 'fast-word-wrap'; import clipboard from 'node-clipboardy'; import pc from 'picocolors'; import prettyMilliseconds from 'pretty-ms'; @@ -11,7 +10,7 @@ import { conf, packageJson, settings } from './settings.js'; import { commandList, COMMAND_PREFIX, exitCmd, runCommand } from './commands.js'; import { askChatGPT, conversation } from './openai.js'; import { formatUsage } from './usage.js'; -import { clearLine, errorMsg } from './utils.js'; +import { clearLine, errorMsg, wrap } from './utils.js'; const promptText = pc.green('You: '); diff --git a/src/utils.js b/src/utils.js index 0605a15..8423162 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,4 +1,5 @@ import readline from 'readline'; +import wrapText from 'wrap-text'; import pc from 'picocolors'; @@ -11,3 +12,9 @@ export function errorMsg(str) { clearLine(); console.error(`${pc.red('Error')}: ${str}`); } + +export const wrap = (str, width) => + str + .split('\n') + .map((line) => wrapText(line, width)) + .join('\n');