Index: gc_lang/fr/nodejs/cli/bin/gramma-cli.js ================================================================== --- gc_lang/fr/nodejs/cli/bin/gramma-cli.js +++ gc_lang/fr/nodejs/cli/bin/gramma-cli.js @@ -14,10 +14,12 @@ https://stackoverflow.com/questions/41058569/what-is-the-difference-between-const-and-const-in-javascript */ const argCmd = require("../lib/minimist.js")(process.argv.slice(2)); const { performance } = require("perf_hooks"); +const path = require("path"); +const fs = require("fs"); //Initialisation des messages const msgStart = "\x1b[31mBienvenue sur Grammalecte pour NodeJS!!!\x1b[0m\n"; const msgPrompt = "\x1b[36mGrammaJS\x1b[33m>\x1b[0m "; const msgSuite = "\x1b[33m…\x1b[0m "; @@ -165,11 +167,11 @@ } function repToText(oRep) { //console.log(oRep); let repText = ""; - for (const action of ["json", "perf", "gceoption", "tfoption", "gcerule"]) { + for (const action of ["json", "perf", "gceoption", "tfoption", "gcerule", "dicomain", "dicoperso"]) { if (action in oRep) { repText += toTitle(action) + " " + oRep[action]; } } @@ -413,14 +415,30 @@ if (getArg(aArg, [action])) { repPreference[action] = getArgVal(aArg, [action]); repAction[action] = repPreference[action] ? "ON" : "OFF"; } } + + if (getArg(aArg, ["dicomain"])) { + let filename = sText.endsWith(".json") ? sText : sText + ".json"; + repAction["dicomain"] = "Chargement du dictionnaire principal " + (oGrammarChecker.setMainDictionary(filename) ? "OK" : "Pas OK"); + } + + if (getArg(aArg, ["dicoperso"])) { + let pathnormalized = path.normalize(sText); + if (fs.existsSync(pathnormalized)) { + let filename = path.basename(pathnormalized); + let dirname = path.dirname(pathnormalized); + repAction["dicoperso"] = "Chargement du dictionnaire personnel " + (oGrammarChecker.setPersonalDictionary(filename, dirname) ? "OK" : "Pas OK"); + } else { + repAction["dicoperso"] = "Le fichier de dictionnaire n'existe pas."; + } + } for (const action of ["gceoption", "tfoption", "gcerule"]) { if (getArg(aArg, [action])) { - let sFonction = (action == "gceoption") ? "GceOption" : (action == "tfoption") ? "TfOption" : "GceIgnoreRule"; + let sFonction = action == "gceoption" ? "GceOption" : action == "tfoption" ? "TfOption" : "GceIgnoreRule"; let sOpt = sText.split(" "); if (sOpt[0] == "reset") { oGrammarChecker["reset" + sFonction + "s"](); repAction[action] = "reset"; } else {