all repos — red-anatomia @ main

red-anatomia

src/cli/commands/explicar.ts (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
import chalk from 'chalk';
import { acharVerbete } from '../../knowledge/tecnologias.js';

export function comandoExplicar(consulta: string): void {
  const achado = acharVerbete(consulta);
  if (!achado) {
    process.stdout.write(
      chalk.yellow(`Ainda não tenho um verbete para "${consulta}".`) +
        '\n' +
        chalk.dim('A base de conhecimento cresce com o tempo.\n'),
    );
    process.exitCode = 1;
    return;
  }

  const { nome, verbete } = achado;
  const linhas: string[] = [];
  linhas.push(chalk.bold.red(nome));
  linhas.push('');
  linhas.push(verbete.significado);

  if (verbete.aprenderEmOrdem?.length) {
    linhas.push('');
    linhas.push(chalk.dim('Para compreender, estude nesta ordem:'));
    verbete.aprenderEmOrdem.forEach((passo, i) => {
      linhas.push(`  ${chalk.red(`${i + 1}.`)} ${passo}`);
    });
  }

  process.stdout.write(linhas.join('\n') + '\n');
}