UNPKG

campus-tex-cli

Version:

A CLI to quickly generate latex files for presentations or task assignments, using the unofficial template by the University of Stuttgart.

75 lines (61 loc) 1.66 kB
import inquirer from "inquirer"; import { askTemplateType } from "./askTemplateType.js"; import { PromptData } from "../types/promptData.js"; export const getUserInput = async () => { const data: PromptData = { fileName: "", matriculationNumber: "", templateType: "article", topic: "", userName: "", useBibTex: false, }; //Choices: Presentation, Article data.templateType = await askTemplateType(); //File name const answer = await inquirer.prompt({ name: "file_name", type: "input", message: "Enter file name: ", default() { return "assignment.tex"; }, }); data.fileName = answer.file_name; //Use bibtex const useBibTexPrompt = await inquirer.prompt({ name: "bibtex", type: "confirm", message: "Will you use BibTex?", default(){ return false; } }) data.useBibTex = useBibTexPrompt.bibtex; //Name of topic const topicPrompt = await inquirer.prompt({ name: "topic", type: "input", message: "What is your topic?", required: true, }); data.topic = topicPrompt.topic; //User name, Matriculation number const usernamePrompt = await inquirer.prompt({ name: "user_name", type: "input", message: "What is your name?", required: true, default() { return ""; }, }); data.userName = usernamePrompt.user_name; const matriculationNumberPrompt = await inquirer.prompt({ name: "matriculation_number", type: "number", message: "What is your matriculation number? (Can be left empty)", }); data.matriculationNumber = matriculationNumberPrompt.matriculation_number; return data; };