From 737edd7f50be35097aa7436106f97d9cb6d533de Mon Sep 17 00:00:00 2001 From: EMarquez Date: Sat, 27 Aug 2022 14:16:12 -0700 Subject: [PATCH] Adding a custom separator option for replacing the default '::' in filenames --- bin/moxygen.js | 5 ++++- index.js | 1 + src/helpers.js | 2 +- src/parser.js | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/moxygen.js b/bin/moxygen.js index 092681dc..6c55fe86 100755 --- a/bin/moxygen.js +++ b/bin/moxygen.js @@ -20,13 +20,15 @@ program.version(pjson.version) .option('-t, --templates ', 'custom templates directory (default: "built-in templates")', String) .option('-L, --logfile [file]', 'output log messages to file, (default: console only, default file name: "moxygen.log")') .option('-q, --quiet', 'quiet mode', false) + .option('-s, --separator ', 'separator sequence (default: "::")', '::') + .parse(process.argv); logger.init(program, app.defaultOptions); if (program.args.length) { app.run(assign({}, app.defaultOptions, { - directory: program.args[0], + directory: program.args.slice(-1).pop(), output: program.output, groups: program.groups, pages: program.pages, @@ -35,6 +37,7 @@ if (program.args.length) { anchors: program.anchors, htmlAnchors: program.htmlAnchors, language: program.language, + separator: program.separator, templates: program.templates, })); } diff --git a/index.js b/index.js index 6b3e90e2..65f39cc7 100644 --- a/index.js +++ b/index.js @@ -30,6 +30,7 @@ module.exports = { classes: false, /** Output doxygen classes separately **/ output_s: 'api_%s.md', /** Output file for groups and classes **/ logfile: 'moxygen.log', /** Log file **/ + separator: '::', /** Group separator sequence **/ filters: { members: [ diff --git a/src/helpers.js b/src/helpers.js index d2d174ca..1340f485 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -101,7 +101,7 @@ module.exports = { } else if (options.groups) { return util.format(options.output, compound.groupname); } else if (options.classes) { - return util.format(options.output, compound.name.replace(/\:/g, '-').replace('<', '(').replace('>', ')')); + return util.format(options.output, compound.name.replace(/\:\:/g, options.separator).replace(/\:/g, '-').replace('<', '(').replace('>', ')')); } else { return options.output; } diff --git a/src/parser.js b/src/parser.js index 3b4bdcb7..680a484f 100644 --- a/src/parser.js +++ b/src/parser.js @@ -429,7 +429,7 @@ module.exports = { case 'typedef': // set namespace reference - var nsp = compound.name.split('::'); + var nsp = compound.name.split("::"); compound.namespace = nsp.splice(0, nsp.length - 1).join('::'); break;