@optique/man 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +3 -3
- package/dist/cli.js +3 -3
- package/dist/{generator-MbR1I1SH.d.ts → generator-B6ZmkvAw.d.ts} +1 -1
- package/dist/{generator-I9cXlw1Z.d.cts → generator-CZaQyGmU.d.cts} +1 -1
- package/dist/{generator-CtkCu_MS.cjs → generator-Cx-FBKsf.cjs} +1 -1
- package/dist/{generator-DywTJCMH.js → generator-r2ZeAR1V.js} +1 -1
- package/dist/generator.cjs +2 -2
- package/dist/generator.d.cts +2 -2
- package/dist/generator.d.ts +2 -2
- package/dist/generator.js +2 -2
- package/dist/index.cjs +2 -2
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{man-C3FUTPuQ.d.cts → man-BQpizqcO.d.cts} +2 -0
- package/dist/{man-C44Q4VSc.cjs → man-BRIf09IL.cjs} +16 -14
- package/dist/{man-CHYiSoI_.d.ts → man-Ciuegxoi.d.ts} +2 -0
- package/dist/{man-Cq0qfXg0.js → man-hrFQUZQw.js} +16 -14
- package/dist/man.cjs +1 -1
- package/dist/man.d.cts +1 -1
- package/dist/man.d.ts +1 -1
- package/dist/man.js +1 -1
- package/package.json +4 -4
package/dist/cli.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_man = require('./man-
|
|
2
|
+
const require_man = require('./man-BRIf09IL.cjs');
|
|
3
3
|
require('./roff-C8MvQ2tL.cjs');
|
|
4
|
-
const require_generator = require('./generator-
|
|
4
|
+
const require_generator = require('./generator-Cx-FBKsf.cjs');
|
|
5
5
|
const __optique_core_constructs = require_man.__toESM(require("@optique/core/constructs"));
|
|
6
6
|
const __optique_core_primitives = require_man.__toESM(require("@optique/core/primitives"));
|
|
7
7
|
const __optique_core_valueparser = require_man.__toESM(require("@optique/core/valueparser"));
|
|
@@ -17,7 +17,7 @@ const node_url = require_man.__toESM(require("node:url"));
|
|
|
17
17
|
|
|
18
18
|
//#region deno.json
|
|
19
19
|
var name = "@optique/man";
|
|
20
|
-
var version = "1.3.
|
|
20
|
+
var version = "1.3.3";
|
|
21
21
|
var license = "MIT";
|
|
22
22
|
var exports$1 = {
|
|
23
23
|
".": "./src/index.ts",
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import "./roff-Bh9bsH6u.js";
|
|
3
|
-
import "./man-
|
|
4
|
-
import { generateManPageAsync } from "./generator-
|
|
3
|
+
import "./man-hrFQUZQw.js";
|
|
4
|
+
import { generateManPageAsync } from "./generator-r2ZeAR1V.js";
|
|
5
5
|
import { object } from "@optique/core/constructs";
|
|
6
6
|
import { argument, option } from "@optique/core/primitives";
|
|
7
7
|
import { choice, string } from "@optique/core/valueparser";
|
|
@@ -17,7 +17,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
17
17
|
|
|
18
18
|
//#region deno.json
|
|
19
19
|
var name = "@optique/man";
|
|
20
|
-
var version = "1.3.
|
|
20
|
+
var version = "1.3.3";
|
|
21
21
|
var license = "MIT";
|
|
22
22
|
var exports = {
|
|
23
23
|
".": "./src/index.ts",
|
package/dist/generator.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
require('./man-
|
|
1
|
+
require('./man-BRIf09IL.cjs');
|
|
2
2
|
require('./roff-C8MvQ2tL.cjs');
|
|
3
|
-
const require_generator = require('./generator-
|
|
3
|
+
const require_generator = require('./generator-Cx-FBKsf.cjs');
|
|
4
4
|
|
|
5
5
|
exports.generateManPage = require_generator.generateManPage;
|
|
6
6
|
exports.generateManPageAsync = require_generator.generateManPageAsync;
|
package/dist/generator.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./man-
|
|
2
|
-
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
1
|
+
import "./man-BQpizqcO.cjs";
|
|
2
|
+
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-CZaQyGmU.cjs";
|
|
3
3
|
export { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync };
|
package/dist/generator.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./man-
|
|
2
|
-
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
1
|
+
import "./man-Ciuegxoi.js";
|
|
2
|
+
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-B6ZmkvAw.js";
|
|
3
3
|
export { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync };
|
package/dist/generator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./roff-Bh9bsH6u.js";
|
|
2
|
-
import "./man-
|
|
3
|
-
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
2
|
+
import "./man-hrFQUZQw.js";
|
|
3
|
+
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-r2ZeAR1V.js";
|
|
4
4
|
|
|
5
5
|
export { generateManPage, generateManPageAsync, generateManPageSync };
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_man = require('./man-
|
|
1
|
+
const require_man = require('./man-BRIf09IL.cjs');
|
|
2
2
|
const require_roff = require('./roff-C8MvQ2tL.cjs');
|
|
3
|
-
const require_generator = require('./generator-
|
|
3
|
+
const require_generator = require('./generator-Cx-FBKsf.cjs');
|
|
4
4
|
|
|
5
5
|
exports.escapeHyphens = require_roff.escapeHyphens;
|
|
6
6
|
exports.escapeQuotedValue = require_roff.escapeQuotedValue;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ManPageOptions, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
2
|
-
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
1
|
+
import { ManPageOptions, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-BQpizqcO.cjs";
|
|
2
|
+
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-CZaQyGmU.cjs";
|
|
3
3
|
import { RoffFormatOptions, escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatMessageAsRoff } from "./roff-Cpm_FJok.cjs";
|
|
4
4
|
export { type GenerateManPageOptions, type GenerateManPageProgramOptions, type ManPageOptions, type RoffFormatOptions, escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatDateForMan, formatDocPageAsMan, formatMessageAsRoff, formatUsageTermAsRoff, generateManPage, generateManPageAsync, generateManPageSync };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ManPageOptions, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
2
|
-
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
1
|
+
import { ManPageOptions, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-Ciuegxoi.js";
|
|
2
|
+
import { GenerateManPageOptions, GenerateManPageProgramOptions, generateManPage, generateManPageAsync, generateManPageSync } from "./generator-B6ZmkvAw.js";
|
|
3
3
|
import { RoffFormatOptions, escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatMessageAsRoff } from "./roff-DkJvVQ1o.js";
|
|
4
4
|
export { type GenerateManPageOptions, type GenerateManPageProgramOptions, type ManPageOptions, type RoffFormatOptions, escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatDateForMan, formatDocPageAsMan, formatMessageAsRoff, formatUsageTermAsRoff, generateManPage, generateManPageAsync, generateManPageSync };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatMessageAsRoff } from "./roff-Bh9bsH6u.js";
|
|
2
|
-
import { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
3
|
-
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
2
|
+
import { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-hrFQUZQw.js";
|
|
3
|
+
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-r2ZeAR1V.js";
|
|
4
4
|
|
|
5
5
|
export { escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatDateForMan, formatDocPageAsMan, formatMessageAsRoff, formatUsageTermAsRoff, generateManPage, generateManPageAsync, generateManPageSync };
|
|
@@ -114,6 +114,8 @@ interface ManPageOptions {
|
|
|
114
114
|
declare function formatDateForMan(date: string | Date | undefined): string | undefined;
|
|
115
115
|
/**
|
|
116
116
|
* Formats a single {@link UsageTerm} as roff markup for the SYNOPSIS section.
|
|
117
|
+
* Optionality follows the supplied usage wrappers. Usage describes display
|
|
118
|
+
* structure; empty-input acceptance depends on the parser's runtime behavior.
|
|
117
119
|
*
|
|
118
120
|
* @param term The usage term to format.
|
|
119
121
|
* @returns The roff-formatted string.
|
|
@@ -64,6 +64,8 @@ function formatCommandNameAsRoff(name) {
|
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* Formats a single {@link UsageTerm} as roff markup for the SYNOPSIS section.
|
|
67
|
+
* Optionality follows the supplied usage wrappers. Usage describes display
|
|
68
|
+
* structure; empty-input acceptance depends on the parser's runtime behavior.
|
|
67
69
|
*
|
|
68
70
|
* @param term The usage term to format.
|
|
69
71
|
* @returns The roff-formatted string.
|
|
@@ -74,12 +76,12 @@ function formatUsageTermAsRoff(term) {
|
|
|
74
76
|
return formatUsageTermAsRoffInternal(term, false);
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
|
-
* Returns whether a usage list contains exactly one visible term that
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
* siblings must
|
|
79
|
+
* Returns whether a usage list contains exactly one visible term that can
|
|
80
|
+
* share enclosing brackets. Options need no brackets of their own, while
|
|
81
|
+
* optional and repeated terms can elide redundant brackets. Multiple
|
|
82
|
+
* visible siblings must retain their individual grouping boundaries.
|
|
81
83
|
*/
|
|
82
|
-
function
|
|
84
|
+
function hasSingleElidableTerm(terms) {
|
|
83
85
|
const visible = terms.filter((t$1) => !("hidden" in t$1 && (0, __optique_core_usage.isUsageHidden)(t$1.hidden)));
|
|
84
86
|
if (visible.length !== 1) return false;
|
|
85
87
|
const t = visible[0];
|
|
@@ -99,23 +101,23 @@ function formatUsageTermAsRoffInternal(term, insideBrackets) {
|
|
|
99
101
|
case "option": {
|
|
100
102
|
const names = term.names.map((name) => `\\fB${require_roff.escapeHyphens(name)}\\fR`).join(" | ");
|
|
101
103
|
const metavarPart = term.metavar ? ` \\fI${require_roff.escapeRoff(term.metavar)}\\fR` : "";
|
|
102
|
-
if (insideBrackets) return `${names}${metavarPart}`;
|
|
103
|
-
return `
|
|
104
|
+
if (insideBrackets || term.names.length < 2) return `${names}${metavarPart}`;
|
|
105
|
+
return `(${names})${metavarPart}`;
|
|
104
106
|
}
|
|
105
107
|
case "command": return formatCommandNameAsRoff(term.name);
|
|
106
108
|
case "optional": {
|
|
107
|
-
const
|
|
108
|
-
const childIsMultiple =
|
|
109
|
-
const inner = formatUsageAsRoffInternal(term.terms,
|
|
109
|
+
const childrenElidable = hasSingleElidableTerm(term.terms);
|
|
110
|
+
const childIsMultiple = childrenElidable && hasSingleVisibleTermOfType(term.terms, "multiple");
|
|
111
|
+
const inner = formatUsageAsRoffInternal(term.terms, childrenElidable);
|
|
110
112
|
if (inner === "") return "";
|
|
111
|
-
if (insideBrackets &&
|
|
113
|
+
if (insideBrackets && childrenElidable && !childIsMultiple) return inner;
|
|
112
114
|
return `[${inner}]`;
|
|
113
115
|
}
|
|
114
116
|
case "multiple": {
|
|
115
117
|
const wrapInBrackets = term.min < 1;
|
|
116
|
-
const
|
|
117
|
-
const childIsMultiple =
|
|
118
|
-
const passInsideBrackets = wrapInBrackets &&
|
|
118
|
+
const childrenElidable = hasSingleElidableTerm(term.terms);
|
|
119
|
+
const childIsMultiple = childrenElidable && hasSingleVisibleTermOfType(term.terms, "multiple");
|
|
120
|
+
const passInsideBrackets = wrapInBrackets && childrenElidable && !childIsMultiple;
|
|
119
121
|
const inner = formatUsageAsRoffInternal(term.terms, passInsideBrackets);
|
|
120
122
|
if (inner === "") return "";
|
|
121
123
|
if (wrapInBrackets) {
|
|
@@ -114,6 +114,8 @@ interface ManPageOptions {
|
|
|
114
114
|
declare function formatDateForMan(date: string | Date | undefined): string | undefined;
|
|
115
115
|
/**
|
|
116
116
|
* Formats a single {@link UsageTerm} as roff markup for the SYNOPSIS section.
|
|
117
|
+
* Optionality follows the supplied usage wrappers. Usage describes display
|
|
118
|
+
* structure; empty-input acceptance depends on the parser's runtime behavior.
|
|
117
119
|
*
|
|
118
120
|
* @param term The usage term to format.
|
|
119
121
|
* @returns The roff-formatted string.
|
|
@@ -41,6 +41,8 @@ function formatCommandNameAsRoff(name) {
|
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Formats a single {@link UsageTerm} as roff markup for the SYNOPSIS section.
|
|
44
|
+
* Optionality follows the supplied usage wrappers. Usage describes display
|
|
45
|
+
* structure; empty-input acceptance depends on the parser's runtime behavior.
|
|
44
46
|
*
|
|
45
47
|
* @param term The usage term to format.
|
|
46
48
|
* @returns The roff-formatted string.
|
|
@@ -51,12 +53,12 @@ function formatUsageTermAsRoff(term) {
|
|
|
51
53
|
return formatUsageTermAsRoffInternal(term, false);
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
|
-
* Returns whether a usage list contains exactly one visible term that
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* siblings must
|
|
56
|
+
* Returns whether a usage list contains exactly one visible term that can
|
|
57
|
+
* share enclosing brackets. Options need no brackets of their own, while
|
|
58
|
+
* optional and repeated terms can elide redundant brackets. Multiple
|
|
59
|
+
* visible siblings must retain their individual grouping boundaries.
|
|
58
60
|
*/
|
|
59
|
-
function
|
|
61
|
+
function hasSingleElidableTerm(terms) {
|
|
60
62
|
const visible = terms.filter((t$1) => !("hidden" in t$1 && isUsageHidden(t$1.hidden)));
|
|
61
63
|
if (visible.length !== 1) return false;
|
|
62
64
|
const t = visible[0];
|
|
@@ -76,23 +78,23 @@ function formatUsageTermAsRoffInternal(term, insideBrackets) {
|
|
|
76
78
|
case "option": {
|
|
77
79
|
const names = term.names.map((name) => `\\fB${escapeHyphens(name)}\\fR`).join(" | ");
|
|
78
80
|
const metavarPart = term.metavar ? ` \\fI${escapeRoff(term.metavar)}\\fR` : "";
|
|
79
|
-
if (insideBrackets) return `${names}${metavarPart}`;
|
|
80
|
-
return `
|
|
81
|
+
if (insideBrackets || term.names.length < 2) return `${names}${metavarPart}`;
|
|
82
|
+
return `(${names})${metavarPart}`;
|
|
81
83
|
}
|
|
82
84
|
case "command": return formatCommandNameAsRoff(term.name);
|
|
83
85
|
case "optional": {
|
|
84
|
-
const
|
|
85
|
-
const childIsMultiple =
|
|
86
|
-
const inner = formatUsageAsRoffInternal(term.terms,
|
|
86
|
+
const childrenElidable = hasSingleElidableTerm(term.terms);
|
|
87
|
+
const childIsMultiple = childrenElidable && hasSingleVisibleTermOfType(term.terms, "multiple");
|
|
88
|
+
const inner = formatUsageAsRoffInternal(term.terms, childrenElidable);
|
|
87
89
|
if (inner === "") return "";
|
|
88
|
-
if (insideBrackets &&
|
|
90
|
+
if (insideBrackets && childrenElidable && !childIsMultiple) return inner;
|
|
89
91
|
return `[${inner}]`;
|
|
90
92
|
}
|
|
91
93
|
case "multiple": {
|
|
92
94
|
const wrapInBrackets = term.min < 1;
|
|
93
|
-
const
|
|
94
|
-
const childIsMultiple =
|
|
95
|
-
const passInsideBrackets = wrapInBrackets &&
|
|
95
|
+
const childrenElidable = hasSingleElidableTerm(term.terms);
|
|
96
|
+
const childIsMultiple = childrenElidable && hasSingleVisibleTermOfType(term.terms, "multiple");
|
|
97
|
+
const passInsideBrackets = wrapInBrackets && childrenElidable && !childIsMultiple;
|
|
96
98
|
const inner = formatUsageAsRoffInternal(term.terms, passInsideBrackets);
|
|
97
99
|
if (inner === "") return "";
|
|
98
100
|
if (wrapInBrackets) {
|
package/dist/man.cjs
CHANGED
package/dist/man.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
1
|
+
import { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-BQpizqcO.cjs";
|
|
2
2
|
export { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff };
|
package/dist/man.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
1
|
+
import { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-Ciuegxoi.js";
|
|
2
2
|
export { ManPageOptions, ManPageSection, formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff };
|
package/dist/man.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import "./roff-Bh9bsH6u.js";
|
|
2
|
-
import { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-
|
|
2
|
+
import { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-hrFQUZQw.js";
|
|
3
3
|
|
|
4
4
|
export { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optique/man",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Man page generator for Optique CLI parsers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CLI",
|
|
@@ -90,11 +90,11 @@
|
|
|
90
90
|
"optique-man": "./dist/cli.js"
|
|
91
91
|
},
|
|
92
92
|
"dependencies": {
|
|
93
|
-
"@optique/core": "1.3.
|
|
94
|
-
"@optique/run": "1.3.
|
|
93
|
+
"@optique/core": "1.3.3",
|
|
94
|
+
"@optique/run": "1.3.3"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
|
-
"@optique/testing": "1.3.
|
|
97
|
+
"@optique/testing": "1.3.3",
|
|
98
98
|
"@types/node": "^24.0.0",
|
|
99
99
|
"tsdown": "^0.13.0",
|
|
100
100
|
"tsx": "^4.21.0",
|