@m3hti/commit-genie 1.0.0 → 1.1.1
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/README.md +164 -2
- package/dist/commands/generate.d.ts +2 -0
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +248 -11
- package/dist/commands/generate.js.map +1 -1
- package/dist/data/wordlist.d.ts +11 -0
- package/dist/data/wordlist.d.ts.map +1 -0
- package/dist/data/wordlist.js +170 -0
- package/dist/data/wordlist.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/services/aiService.d.ts +4 -0
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +37 -0
- package/dist/services/aiService.js.map +1 -1
- package/dist/services/analyzerService.d.ts.map +1 -1
- package/dist/services/analyzerService.js +44 -42
- package/dist/services/analyzerService.js.map +1 -1
- package/dist/services/configService.d.ts.map +1 -1
- package/dist/services/configService.js +21 -0
- package/dist/services/configService.js.map +1 -1
- package/dist/services/gitService.d.ts +20 -0
- package/dist/services/gitService.d.ts.map +1 -1
- package/dist/services/gitService.js +86 -0
- package/dist/services/gitService.js.map +1 -1
- package/dist/services/lintService.d.ts +32 -0
- package/dist/services/lintService.d.ts.map +1 -0
- package/dist/services/lintService.js +191 -0
- package/dist/services/lintService.js.map +1 -0
- package/dist/services/spellService.d.ts +42 -0
- package/dist/services/spellService.d.ts.map +1 -0
- package/dist/services/spellService.js +175 -0
- package/dist/services/spellService.js.map +1 -0
- package/dist/services/splitService.d.ts +32 -0
- package/dist/services/splitService.d.ts.map +1 -0
- package/dist/services/splitService.js +184 -0
- package/dist/services/splitService.js.map +1 -0
- package/dist/types/index.d.ts +66 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,6 +23,10 @@ A CLI tool that generates intelligent Git commit messages by analyzing your stag
|
|
|
23
23
|
- **Commit history learning** - Learns your project's commit style from past commits
|
|
24
24
|
- **Breaking change detection** - Automatically detects and flags breaking changes with `!` and footer
|
|
25
25
|
- **Dry run mode** - Preview commits without executing with `-d` or `--dry-run`
|
|
26
|
+
- **Amend mode** - Modify the last commit message with `-a` or `--amend`
|
|
27
|
+
- **Commit message linting** - Validates messages against configurable rules (subject length, type, scope format, imperative mood)
|
|
28
|
+
- **Commit splitting suggestions** - Warns when staged changes span multiple concerns
|
|
29
|
+
- **Spell check** - Checks commit descriptions for typos with suggestions
|
|
26
30
|
- **Custom templates** - Define your own commit message format via config
|
|
27
31
|
- **Commit statistics** - Analyze your repository's commit patterns with `commit-genie stats`
|
|
28
32
|
- **AI-powered descriptions** - Optional LLM integration for smarter commit messages with `--ai`
|
|
@@ -116,7 +120,9 @@ To commit with this message, run:
|
|
|
116
120
|
- `commit-genie gen` - Shorthand for generate
|
|
117
121
|
- `commit-genie -c` or `--commit` - Auto-commit with the generated message
|
|
118
122
|
- `commit-genie -d` or `--dry-run` - Preview commit without executing (dry run mode)
|
|
123
|
+
- `commit-genie -a` or `--amend` - Amend the last commit message
|
|
119
124
|
- `commit-genie --ai` - Use AI to generate enhanced commit descriptions
|
|
125
|
+
- `commit-genie --no-lint` - Skip commit message linting
|
|
120
126
|
- `commit-genie -s` or `--single` - Show only one suggestion (skip multiple options)
|
|
121
127
|
- `commit-genie -m` or `--message-only` - Output only the commit message (for scripts/hooks)
|
|
122
128
|
- `commit-genie --no-interactive` - Disable interactive prompts
|
|
@@ -180,6 +186,155 @@ Example output:
|
|
|
180
186
|
════════════════════════════════════════════════════════════
|
|
181
187
|
```
|
|
182
188
|
|
|
189
|
+
### Amend Mode
|
|
190
|
+
|
|
191
|
+
Modify the last commit message with a newly generated suggestion:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
commit-genie --amend
|
|
195
|
+
# or
|
|
196
|
+
commit-genie -a
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
This mode:
|
|
200
|
+
- Shows the current commit message
|
|
201
|
+
- Displays files from the last commit
|
|
202
|
+
- Generates a new suggested message based on the changes
|
|
203
|
+
- Allows you to amend, edit, keep original, or cancel
|
|
204
|
+
|
|
205
|
+
Example output:
|
|
206
|
+
```
|
|
207
|
+
══════════════════════════════════════════════════
|
|
208
|
+
AMEND MODE
|
|
209
|
+
══════════════════════════════════════════════════
|
|
210
|
+
|
|
211
|
+
Current commit message:
|
|
212
|
+
────────────────────────────────────────
|
|
213
|
+
feat: add user auth
|
|
214
|
+
────────────────────────────────────────
|
|
215
|
+
|
|
216
|
+
Files in last commit:
|
|
217
|
+
+ src/auth/login.ts
|
|
218
|
+
~ src/index.ts
|
|
219
|
+
|
|
220
|
+
Suggested new message:
|
|
221
|
+
────────────────────────────────────────
|
|
222
|
+
✨ feat(auth): add user authentication
|
|
223
|
+
────────────────────────────────────────
|
|
224
|
+
|
|
225
|
+
What would you like to do?
|
|
226
|
+
[a] Amend with this message
|
|
227
|
+
[e] Edit the message
|
|
228
|
+
[k] Keep original message
|
|
229
|
+
[n] Cancel
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Commit Message Linting
|
|
233
|
+
|
|
234
|
+
CommitGenie validates your commit messages against configurable rules before committing:
|
|
235
|
+
|
|
236
|
+
**Default rules (all enabled):**
|
|
237
|
+
- **Subject max length** - Ensures subject line is ≤72 characters
|
|
238
|
+
- **Type required** - Validates conventional commit type prefix
|
|
239
|
+
- **Scope format** - Checks scope is lowercase alphanumeric
|
|
240
|
+
- **Imperative mood** - Warns against past tense (e.g., "added" → use "add")
|
|
241
|
+
|
|
242
|
+
Example lint output:
|
|
243
|
+
```
|
|
244
|
+
⚠ Lint Issues
|
|
245
|
+
──────────────────────────────────────────────────
|
|
246
|
+
✗ [subject-max-length] Subject line is 85 characters, max allowed is 72
|
|
247
|
+
→ Shorten to 72 characters or less
|
|
248
|
+
⚠ [imperative-mood] Description should use imperative mood, not "added"
|
|
249
|
+
→ Use "add" instead
|
|
250
|
+
──────────────────────────────────────────────────
|
|
251
|
+
|
|
252
|
+
Commit blocked due to lint errors.
|
|
253
|
+
Use --no-lint to skip linting.
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
**Skip linting:**
|
|
257
|
+
```bash
|
|
258
|
+
commit-genie -c --no-lint
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Configuration:**
|
|
262
|
+
```json
|
|
263
|
+
{
|
|
264
|
+
"linting": {
|
|
265
|
+
"enabled": true,
|
|
266
|
+
"blockOnError": true,
|
|
267
|
+
"rules": {
|
|
268
|
+
"subjectMaxLength": { "enabled": true, "maxLength": 72 },
|
|
269
|
+
"typeRequired": { "enabled": true },
|
|
270
|
+
"scopeFormat": { "enabled": true, "pattern": "^[a-z][a-z0-9-]*$" },
|
|
271
|
+
"imperativeMood": { "enabled": true }
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Commit Splitting Suggestions
|
|
278
|
+
|
|
279
|
+
When your staged changes span multiple concerns (different commit types or scopes), CommitGenie warns you and suggests splitting into separate commits:
|
|
280
|
+
|
|
281
|
+
Example output:
|
|
282
|
+
```
|
|
283
|
+
⚠ Split Suggestion
|
|
284
|
+
──────────────────────────────────────────────────
|
|
285
|
+
Reason: Mixed commit types detected: feat, fix
|
|
286
|
+
|
|
287
|
+
Suggested commits:
|
|
288
|
+
|
|
289
|
+
1. feat(api): add users.ts
|
|
290
|
+
Files: src/api/users.ts
|
|
291
|
+
|
|
292
|
+
2. fix(utils): add parser.ts
|
|
293
|
+
Files: src/utils/parser.ts
|
|
294
|
+
|
|
295
|
+
──────────────────────────────────────────────────
|
|
296
|
+
You can proceed with a combined commit or split manually.
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Configuration:**
|
|
300
|
+
```json
|
|
301
|
+
{
|
|
302
|
+
"splitting": {
|
|
303
|
+
"enabled": true,
|
|
304
|
+
"minFilesForSuggestion": 2,
|
|
305
|
+
"groupByScope": true,
|
|
306
|
+
"groupByType": true
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Spell Check
|
|
312
|
+
|
|
313
|
+
CommitGenie checks your commit message description for spelling errors using a bundled wordlist of common English and programming terms:
|
|
314
|
+
|
|
315
|
+
Example output:
|
|
316
|
+
```
|
|
317
|
+
⚠ Spelling Issues
|
|
318
|
+
────────────────────────────────────────
|
|
319
|
+
- "impelment" (suggestions: implement)
|
|
320
|
+
- "authetication" (suggestions: authentication)
|
|
321
|
+
────────────────────────────────────────
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
**Configuration:**
|
|
325
|
+
```json
|
|
326
|
+
{
|
|
327
|
+
"spellCheck": {
|
|
328
|
+
"enabled": true,
|
|
329
|
+
"customDictionary": ["myterm", "customword"],
|
|
330
|
+
"ignorePatterns": ["^[A-Z]+$"]
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
- `customDictionary` - Add custom words that should be accepted
|
|
336
|
+
- `ignorePatterns` - Regex patterns for words to ignore
|
|
337
|
+
|
|
183
338
|
### Interactive Mode
|
|
184
339
|
|
|
185
340
|
By default, CommitGenie runs in interactive mode. After analyzing your changes, you'll be prompted to:
|
|
@@ -268,13 +423,20 @@ CommitGenie/
|
|
|
268
423
|
│ ├── commands/
|
|
269
424
|
│ │ ├── generate.ts # Generate command implementation
|
|
270
425
|
│ │ ├── hook.ts # Git hook management commands
|
|
271
|
-
│ │
|
|
426
|
+
│ │ ├── config.ts # Configuration commands
|
|
427
|
+
│ │ └── stats.ts # Statistics command
|
|
272
428
|
│ ├── services/
|
|
273
429
|
│ │ ├── gitService.ts # Git operations
|
|
274
430
|
│ │ ├── analyzerService.ts # Change analysis logic
|
|
275
431
|
│ │ ├── historyService.ts # Ticket detection & history learning
|
|
276
432
|
│ │ ├── hookService.ts # Git hook installation
|
|
277
|
-
│ │
|
|
433
|
+
│ │ ├── configService.ts # Configuration loading
|
|
434
|
+
│ │ ├── lintService.ts # Commit message linting
|
|
435
|
+
│ │ ├── spellService.ts # Spell checking
|
|
436
|
+
│ │ ├── splitService.ts # Commit splitting detection
|
|
437
|
+
│ │ └── statsService.ts # Repository statistics
|
|
438
|
+
│ ├── data/
|
|
439
|
+
│ │ └── wordlist.ts # Bundled spell check dictionary
|
|
278
440
|
│ ├── utils/
|
|
279
441
|
│ │ ├── filePatterns.ts # File type detection
|
|
280
442
|
│ │ └── prompt.ts # Interactive prompts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,iBAsJlE"}
|
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateCommand = generateCommand;
|
|
4
4
|
const gitService_1 = require("../services/gitService");
|
|
5
5
|
const analyzerService_1 = require("../services/analyzerService");
|
|
6
|
+
const lintService_1 = require("../services/lintService");
|
|
7
|
+
const spellService_1 = require("../services/spellService");
|
|
8
|
+
const splitService_1 = require("../services/splitService");
|
|
6
9
|
const prompt_1 = require("../utils/prompt");
|
|
7
10
|
async function generateCommand(options = {}) {
|
|
8
11
|
try {
|
|
@@ -12,6 +15,10 @@ async function generateCommand(options = {}) {
|
|
|
12
15
|
console.log('Please run this command inside a git repository.');
|
|
13
16
|
process.exit(1);
|
|
14
17
|
}
|
|
18
|
+
// Handle amend mode
|
|
19
|
+
if (options.amend) {
|
|
20
|
+
return await handleAmendMode(options);
|
|
21
|
+
}
|
|
15
22
|
// Get git status
|
|
16
23
|
const status = gitService_1.GitService.getStatus();
|
|
17
24
|
// Check if there are staged changes
|
|
@@ -23,6 +30,12 @@ async function generateCommand(options = {}) {
|
|
|
23
30
|
console.log(' git add .');
|
|
24
31
|
process.exit(1);
|
|
25
32
|
}
|
|
33
|
+
// Check for split opportunity (warning only)
|
|
34
|
+
const diff = gitService_1.GitService.getDiff();
|
|
35
|
+
const splitSuggestion = splitService_1.SplitService.analyzeSplitOpportunity(status.staged, diff);
|
|
36
|
+
if (splitSuggestion?.shouldSplit && !options.messageOnly) {
|
|
37
|
+
displaySplitWarning(splitSuggestion);
|
|
38
|
+
}
|
|
26
39
|
// Generate suggestions (with optional AI enhancement)
|
|
27
40
|
let suggestions;
|
|
28
41
|
if (options.ai) {
|
|
@@ -33,6 +46,11 @@ async function generateCommand(options = {}) {
|
|
|
33
46
|
suggestions = analyzerService_1.AnalyzerService.generateMultipleSuggestions();
|
|
34
47
|
}
|
|
35
48
|
const defaultMessage = suggestions[0].message;
|
|
49
|
+
// Check spelling in the description
|
|
50
|
+
const spellResult = spellService_1.SpellService.check(defaultMessage.description);
|
|
51
|
+
if (!spellResult.valid && !options.messageOnly) {
|
|
52
|
+
displaySpellWarning(spellResult);
|
|
53
|
+
}
|
|
36
54
|
// Message-only mode for scripts and hooks (silent, just output the message)
|
|
37
55
|
if (options.messageOnly) {
|
|
38
56
|
console.log(defaultMessage.full);
|
|
@@ -66,7 +84,7 @@ async function generateCommand(options = {}) {
|
|
|
66
84
|
// Handle commit based on options
|
|
67
85
|
if (options.commit) {
|
|
68
86
|
// Auto-commit with first suggestion
|
|
69
|
-
await commitWithMessage(defaultMessage.full);
|
|
87
|
+
await commitWithMessage(defaultMessage.full, options);
|
|
70
88
|
}
|
|
71
89
|
else if (options.interactive !== false) {
|
|
72
90
|
// Interactive mode with selection
|
|
@@ -75,7 +93,7 @@ async function generateCommand(options = {}) {
|
|
|
75
93
|
console.log(' [e] Edit and write your own');
|
|
76
94
|
console.log(' [n] Cancel\n');
|
|
77
95
|
const choice = await (0, prompt_1.prompt)('Your choice: ');
|
|
78
|
-
await handleMultipleChoice(choice, suggestions);
|
|
96
|
+
await handleMultipleChoice(choice, suggestions, options);
|
|
79
97
|
}
|
|
80
98
|
else {
|
|
81
99
|
// Non-interactive mode
|
|
@@ -100,7 +118,7 @@ async function generateCommand(options = {}) {
|
|
|
100
118
|
}
|
|
101
119
|
// Handle commit based on options
|
|
102
120
|
if (options.commit) {
|
|
103
|
-
await commitWithMessage(defaultMessage.full);
|
|
121
|
+
await commitWithMessage(defaultMessage.full, options);
|
|
104
122
|
}
|
|
105
123
|
else if (options.interactive !== false) {
|
|
106
124
|
// Interactive mode (default)
|
|
@@ -109,7 +127,7 @@ async function generateCommand(options = {}) {
|
|
|
109
127
|
console.log(' [e] Edit the message');
|
|
110
128
|
console.log(' [n] Cancel\n');
|
|
111
129
|
const choice = await (0, prompt_1.prompt)('Your choice (c/e/n): ');
|
|
112
|
-
await handleSingleChoice(choice, defaultMessage.full);
|
|
130
|
+
await handleSingleChoice(choice, defaultMessage.full, options);
|
|
113
131
|
}
|
|
114
132
|
else {
|
|
115
133
|
// Non-interactive mode (just show the message)
|
|
@@ -162,8 +180,21 @@ function escapeForShell(message) {
|
|
|
162
180
|
}
|
|
163
181
|
return message.replace(/"/g, '\\"');
|
|
164
182
|
}
|
|
165
|
-
async function commitWithMessage(message) {
|
|
183
|
+
async function commitWithMessage(message, options = {}) {
|
|
166
184
|
try {
|
|
185
|
+
// Run lint check unless disabled
|
|
186
|
+
if (options.lint !== false) {
|
|
187
|
+
const parsedMessage = parseMessageForLint(message);
|
|
188
|
+
const lintResult = lintService_1.LintService.lint(parsedMessage);
|
|
189
|
+
if (!lintResult.valid) {
|
|
190
|
+
displayLintViolations(lintResult);
|
|
191
|
+
if (lintService_1.LintService.shouldBlockCommit(lintResult)) {
|
|
192
|
+
console.error('\nCommit blocked due to lint errors.');
|
|
193
|
+
console.log('Use --no-lint to skip linting.\n');
|
|
194
|
+
process.exit(1);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
167
198
|
gitService_1.GitService.commit(message);
|
|
168
199
|
console.log('\n✓ Changes committed successfully!');
|
|
169
200
|
}
|
|
@@ -172,17 +203,64 @@ async function commitWithMessage(message) {
|
|
|
172
203
|
process.exit(1);
|
|
173
204
|
}
|
|
174
205
|
}
|
|
175
|
-
async function
|
|
206
|
+
async function amendWithMessage(message, options = {}) {
|
|
207
|
+
try {
|
|
208
|
+
// Run lint check unless disabled
|
|
209
|
+
if (options.lint !== false) {
|
|
210
|
+
const parsedMessage = parseMessageForLint(message);
|
|
211
|
+
const lintResult = lintService_1.LintService.lint(parsedMessage);
|
|
212
|
+
if (!lintResult.valid) {
|
|
213
|
+
displayLintViolations(lintResult);
|
|
214
|
+
if (lintService_1.LintService.shouldBlockCommit(lintResult)) {
|
|
215
|
+
console.error('\nAmend blocked due to lint errors.');
|
|
216
|
+
console.log('Use --no-lint to skip linting.\n');
|
|
217
|
+
process.exit(1);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
gitService_1.GitService.amendCommit(message);
|
|
222
|
+
console.log('\n✓ Commit amended successfully!');
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
console.error(`\nFailed to amend: ${err instanceof Error ? err.message : err}`);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function parseMessageForLint(message) {
|
|
230
|
+
const lines = message.split('\n');
|
|
231
|
+
const subject = lines[0];
|
|
232
|
+
const body = lines.slice(2).join('\n').trim() || undefined;
|
|
233
|
+
// Parse the subject line: "type(scope): description" or "emoji type(scope): description"
|
|
234
|
+
const match = subject.match(/^(?:[\p{Emoji}\s]*)?(\w+)(?:\(([^)]+)\))?!?:\s*(.+)$/u);
|
|
235
|
+
if (match) {
|
|
236
|
+
return {
|
|
237
|
+
type: match[1],
|
|
238
|
+
scope: match[2] || undefined,
|
|
239
|
+
description: match[3],
|
|
240
|
+
body,
|
|
241
|
+
full: message,
|
|
242
|
+
isBreaking: subject.includes('!:'),
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
// Fallback for non-conventional messages
|
|
246
|
+
return {
|
|
247
|
+
type: 'chore',
|
|
248
|
+
description: subject,
|
|
249
|
+
body,
|
|
250
|
+
full: message,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
async function handleSingleChoice(choice, message, options) {
|
|
176
254
|
switch (choice.toLowerCase()) {
|
|
177
255
|
case 'c':
|
|
178
256
|
case 'commit':
|
|
179
|
-
await commitWithMessage(message);
|
|
257
|
+
await commitWithMessage(message, options);
|
|
180
258
|
break;
|
|
181
259
|
case 'e':
|
|
182
260
|
case 'edit':
|
|
183
261
|
const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
|
|
184
262
|
if (editedMessage) {
|
|
185
|
-
await commitWithMessage(editedMessage);
|
|
263
|
+
await commitWithMessage(editedMessage, options);
|
|
186
264
|
}
|
|
187
265
|
else {
|
|
188
266
|
console.log('\nCommit cancelled - empty message provided.');
|
|
@@ -198,14 +276,14 @@ async function handleSingleChoice(choice, message) {
|
|
|
198
276
|
console.log(` git commit -m "${escapeForShell(message)}"`);
|
|
199
277
|
}
|
|
200
278
|
}
|
|
201
|
-
async function handleMultipleChoice(choice, suggestions) {
|
|
279
|
+
async function handleMultipleChoice(choice, suggestions, options) {
|
|
202
280
|
const choiceLower = choice.toLowerCase();
|
|
203
281
|
// Check if it's a number selection
|
|
204
282
|
const num = parseInt(choice, 10);
|
|
205
283
|
if (!isNaN(num) && num >= 1 && num <= suggestions.length) {
|
|
206
284
|
const selected = suggestions[num - 1];
|
|
207
285
|
console.log(`\nSelected: ${selected.label}`);
|
|
208
|
-
await commitWithMessage(selected.message.full);
|
|
286
|
+
await commitWithMessage(selected.message.full, options);
|
|
209
287
|
return;
|
|
210
288
|
}
|
|
211
289
|
// Handle other choices
|
|
@@ -214,7 +292,7 @@ async function handleMultipleChoice(choice, suggestions) {
|
|
|
214
292
|
case 'edit':
|
|
215
293
|
const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
|
|
216
294
|
if (editedMessage) {
|
|
217
|
-
await commitWithMessage(editedMessage);
|
|
295
|
+
await commitWithMessage(editedMessage, options);
|
|
218
296
|
}
|
|
219
297
|
else {
|
|
220
298
|
console.log('\nCommit cancelled - empty message provided.');
|
|
@@ -310,4 +388,163 @@ function getStatusLabel(status) {
|
|
|
310
388
|
return 'unknown';
|
|
311
389
|
}
|
|
312
390
|
}
|
|
391
|
+
function displaySplitWarning(suggestion) {
|
|
392
|
+
console.log('\n⚠ Split Suggestion');
|
|
393
|
+
console.log('─'.repeat(50));
|
|
394
|
+
console.log(`Reason: ${suggestion.reason}`);
|
|
395
|
+
console.log('\nSuggested commits:');
|
|
396
|
+
for (let i = 0; i < suggestion.groups.length; i++) {
|
|
397
|
+
const group = suggestion.groups[i];
|
|
398
|
+
const fileList = group.files.slice(0, 3).map(f => f.path).join(', ');
|
|
399
|
+
const moreFiles = group.files.length > 3 ? ` +${group.files.length - 3} more` : '';
|
|
400
|
+
console.log(`\n ${i + 1}. ${group.suggestedMessage}`);
|
|
401
|
+
console.log(` Files: ${fileList}${moreFiles}`);
|
|
402
|
+
}
|
|
403
|
+
console.log('\n' + '─'.repeat(50));
|
|
404
|
+
console.log('You can proceed with a combined commit or split manually.\n');
|
|
405
|
+
}
|
|
406
|
+
function displaySpellWarning(result) {
|
|
407
|
+
console.log('\n⚠ Spelling Issues');
|
|
408
|
+
console.log('─'.repeat(40));
|
|
409
|
+
for (const error of result.errors) {
|
|
410
|
+
const suggestionText = error.suggestions.length > 0
|
|
411
|
+
? ` (suggestions: ${error.suggestions.join(', ')})`
|
|
412
|
+
: '';
|
|
413
|
+
console.log(` - "${error.word}"${suggestionText}`);
|
|
414
|
+
}
|
|
415
|
+
console.log('─'.repeat(40) + '\n');
|
|
416
|
+
}
|
|
417
|
+
function displayLintViolations(result) {
|
|
418
|
+
console.log('\n⚠ Lint Issues');
|
|
419
|
+
console.log('─'.repeat(50));
|
|
420
|
+
for (const violation of result.violations) {
|
|
421
|
+
const icon = violation.severity === 'error' ? '✗' : '⚠';
|
|
422
|
+
console.log(` ${icon} [${violation.ruleId}] ${violation.message}`);
|
|
423
|
+
if (violation.suggestion) {
|
|
424
|
+
console.log(` → ${violation.suggestion}`);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
console.log('─'.repeat(50));
|
|
428
|
+
}
|
|
429
|
+
async function handleAmendMode(options) {
|
|
430
|
+
// Check if there are commits to amend
|
|
431
|
+
if (!gitService_1.GitService.hasCommits()) {
|
|
432
|
+
console.error('Error: No commits to amend');
|
|
433
|
+
process.exit(1);
|
|
434
|
+
}
|
|
435
|
+
const lastMessage = gitService_1.GitService.getLastCommitMessage();
|
|
436
|
+
if (!lastMessage) {
|
|
437
|
+
console.error('Error: Could not retrieve last commit message');
|
|
438
|
+
process.exit(1);
|
|
439
|
+
}
|
|
440
|
+
// Get last commit's files for analysis
|
|
441
|
+
const lastCommitFiles = gitService_1.GitService.getLastCommitFiles();
|
|
442
|
+
// Also check for currently staged changes
|
|
443
|
+
const status = gitService_1.GitService.getStatus();
|
|
444
|
+
const hasNewStagedChanges = status.hasStagedChanges;
|
|
445
|
+
console.log('\n═'.repeat(50));
|
|
446
|
+
console.log(' AMEND MODE');
|
|
447
|
+
console.log('═'.repeat(50));
|
|
448
|
+
// Show current message
|
|
449
|
+
console.log('\nCurrent commit message:');
|
|
450
|
+
console.log('─'.repeat(40));
|
|
451
|
+
const currentLines = lastMessage.split('\n');
|
|
452
|
+
for (const line of currentLines) {
|
|
453
|
+
console.log(` ${line}`);
|
|
454
|
+
}
|
|
455
|
+
console.log('─'.repeat(40));
|
|
456
|
+
// Show files from last commit
|
|
457
|
+
console.log('\nFiles in last commit:');
|
|
458
|
+
for (const file of lastCommitFiles) {
|
|
459
|
+
const statusSymbol = getStatusSymbol(file.status);
|
|
460
|
+
console.log(` ${statusSymbol} ${file.path}`);
|
|
461
|
+
}
|
|
462
|
+
// Show newly staged changes if any
|
|
463
|
+
if (hasNewStagedChanges) {
|
|
464
|
+
console.log('\nNewly staged changes (will be included):');
|
|
465
|
+
for (const file of status.staged) {
|
|
466
|
+
const statusSymbol = getStatusSymbol(file.status);
|
|
467
|
+
console.log(` ${statusSymbol} ${file.path}`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
// Generate new suggestions based on the changes
|
|
471
|
+
// Use last commit's diff for analysis
|
|
472
|
+
let suggestions;
|
|
473
|
+
if (options.ai) {
|
|
474
|
+
console.log('\nUsing AI to enhance amended commit message...');
|
|
475
|
+
suggestions = await analyzerService_1.AnalyzerService.generateSuggestionsWithAI(true);
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
suggestions = analyzerService_1.AnalyzerService.generateMultipleSuggestions();
|
|
479
|
+
}
|
|
480
|
+
const defaultMessage = suggestions[0].message;
|
|
481
|
+
// Check spelling
|
|
482
|
+
const spellResult = spellService_1.SpellService.check(defaultMessage.description);
|
|
483
|
+
if (!spellResult.valid) {
|
|
484
|
+
displaySpellWarning(spellResult);
|
|
485
|
+
}
|
|
486
|
+
// Dry run mode
|
|
487
|
+
if (options.dryRun) {
|
|
488
|
+
console.log('\n📝 Suggested new message:');
|
|
489
|
+
console.log('─'.repeat(40));
|
|
490
|
+
displayMessage(defaultMessage, ' ');
|
|
491
|
+
console.log('─'.repeat(40));
|
|
492
|
+
console.log('\n═'.repeat(50));
|
|
493
|
+
console.log(' DRY RUN - No changes made');
|
|
494
|
+
console.log(' To amend, run: commit-genie --amend');
|
|
495
|
+
console.log('═'.repeat(50) + '\n');
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
// Show suggestions
|
|
499
|
+
console.log('\nSuggested new message:');
|
|
500
|
+
console.log('─'.repeat(40));
|
|
501
|
+
displayMessage(defaultMessage, ' ');
|
|
502
|
+
console.log('─'.repeat(40));
|
|
503
|
+
// Handle based on options
|
|
504
|
+
if (options.commit) {
|
|
505
|
+
await amendWithMessage(defaultMessage.full, options);
|
|
506
|
+
}
|
|
507
|
+
else if (options.interactive !== false) {
|
|
508
|
+
console.log('\nWhat would you like to do?');
|
|
509
|
+
console.log(' [a] Amend with this message');
|
|
510
|
+
console.log(' [e] Edit the message');
|
|
511
|
+
console.log(' [k] Keep original message');
|
|
512
|
+
console.log(' [n] Cancel\n');
|
|
513
|
+
const choice = await (0, prompt_1.prompt)('Your choice (a/e/k/n): ');
|
|
514
|
+
await handleAmendChoice(choice, defaultMessage.full, lastMessage, options);
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
console.log('\nTo amend with this message, run:');
|
|
518
|
+
console.log(' git commit --amend -m "' + escapeForShell(defaultMessage.full) + '"');
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
async function handleAmendChoice(choice, newMessage, originalMessage, options) {
|
|
522
|
+
switch (choice.toLowerCase()) {
|
|
523
|
+
case 'a':
|
|
524
|
+
case 'amend':
|
|
525
|
+
await amendWithMessage(newMessage, options);
|
|
526
|
+
break;
|
|
527
|
+
case 'e':
|
|
528
|
+
case 'edit':
|
|
529
|
+
const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
|
|
530
|
+
if (editedMessage) {
|
|
531
|
+
await amendWithMessage(editedMessage, options);
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
console.log('\nAmend cancelled - empty message provided.');
|
|
535
|
+
}
|
|
536
|
+
break;
|
|
537
|
+
case 'k':
|
|
538
|
+
case 'keep':
|
|
539
|
+
console.log('\nKept original message. No changes made.');
|
|
540
|
+
break;
|
|
541
|
+
case 'n':
|
|
542
|
+
case 'no':
|
|
543
|
+
case 'cancel':
|
|
544
|
+
console.log('\nAmend cancelled.');
|
|
545
|
+
break;
|
|
546
|
+
default:
|
|
547
|
+
console.log('\nNo action taken.');
|
|
548
|
+
}
|
|
549
|
+
}
|
|
313
550
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":";;AAoBA,0CAsJC;AA1KD,uDAAoD;AACpD,iEAA8D;AAC9D,yDAAsD;AACtD,2DAAwD;AACxD,2DAAwD;AAExD,4CAAyC;AAclC,KAAK,UAAU,eAAe,CAAC,UAA2B,EAAE;IACjE,IAAI,CAAC;QACH,+BAA+B;QAC/B,IAAI,CAAC,uBAAU,CAAC,eAAe,EAAE,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,uBAAU,CAAC,SAAS,EAAE,CAAC;QAEtC,oCAAoC;QACpC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6CAA6C;QAC7C,MAAM,IAAI,GAAG,uBAAU,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,2BAAY,CAAC,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClF,IAAI,eAAe,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzD,mBAAmB,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,sDAAsD;QACtD,IAAI,WAAgC,CAAC;QACrC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,WAAW,GAAG,MAAM,iCAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,iCAAe,CAAC,2BAA2B,EAAE,CAAC;QAC9D,CAAC;QACD,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAE9C,oCAAoC;QACpC,MAAM,WAAW,GAAG,2BAAY,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC/C,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAED,4EAA4E;QAC5E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,qCAAqC;QACrC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,sBAAsB;QACtB,MAAM,KAAK,GAAG,uBAAU,CAAC,YAAY,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,YAAY,qBAAqB,KAAK,CAAC,UAAU,qBAAqB,KAAK,CAAC,SAAS,mBAAmB,CACpH,CAAC;QAEF,mBAAmB;QACnB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1D,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,iCAAiC;YACjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,oCAAoC;gBACpC,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACzC,kCAAkC;gBAClC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,WAAW,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC;gBAC7C,MAAM,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yBAAyB;YACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5B,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,YAAY,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACrC,CAAC;YAED,iCAAiC;YACjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACzC,6BAA6B;gBAC7B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAC;gBACrD,MAAM,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAwC,EAAE,MAAc;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEzB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC;IAEnC,wDAAwD;IACxD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,iDAAiD;IACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,UAA2B,EAAE;IAC7E,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,yBAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBAElC,IAAI,yBAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAA2B,EAAE;IAC5E,IAAI,CAAC;QACH,iCAAiC;QACjC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,UAAU,GAAG,yBAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBAElC,IAAI,yBAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9C,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,uBAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAE3D,yFAAyF;IACzF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAErF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,CAAC,CAAQ;YACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;YAC5B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;YACrB,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,OAAO;QACL,IAAI,EAAE,OAAc;QACpB,WAAW,EAAE,OAAO;QACpB,IAAI;QACJ,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAc,EAAE,OAAe,EAAE,OAAwB;IACzF,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,GAAG,CAAC;QACT,KAAK,QAAQ;YACX,MAAM,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,MAAM,aAAa,GAAG,MAAM,IAAA,eAAM,EAAC,+BAA+B,CAAC,CAAC;YACpE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,WAAgC,EAAE,OAAwB;IAC5G,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEzC,mCAAmC;IACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7C,MAAM,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,MAAM,aAAa,GAAG,MAAM,IAAA,eAAM,EAAC,+BAA+B,CAAC,CAAC;YACpE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,iBAAiB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,MAAsD,EACtD,WAAgC,EAChC,cAAwH;IAExH,MAAM,KAAK,GAAG,uBAAU,CAAC,YAAY,EAAE,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,YAAY,cAAc,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;IAExG,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5D,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,4CAA4C;IAC5C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG;YACN,OAAO,OAAO,CAAC;QACjB,KAAK,GAAG;YACN,OAAO,UAAU,CAAC;QACpB,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA2B;IACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAwB;IACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,kBAAkB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnD,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAkB;IAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAwB;IACrD,sCAAsC;IACtC,IAAI,CAAC,uBAAU,CAAC,UAAU,EAAE,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,uBAAU,CAAC,oBAAoB,EAAE,CAAC;IACtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uCAAuC;IACvC,MAAM,eAAe,GAAG,uBAAU,CAAC,kBAAkB,EAAE,CAAC;IAExD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,uBAAU,CAAC,SAAS,EAAE,CAAC;IACtC,MAAM,mBAAmB,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,mCAAmC;IACnC,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,sCAAsC;IACtC,IAAI,WAAgC,CAAC;IACrC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,WAAW,GAAG,MAAM,iCAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,iCAAe,CAAC,2BAA2B,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9C,iBAAiB;IACjB,MAAM,WAAW,GAAG,2BAAY,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;IACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,0BAA0B;IAC1B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,gBAAgB,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,eAAM,EAAC,yBAAyB,CAAC,CAAC;QACvD,MAAM,iBAAiB,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,UAAkB,EAClB,eAAuB,EACvB,OAAwB;IAExB,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,GAAG,CAAC;QACT,KAAK,OAAO;YACV,MAAM,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,MAAM,aAAa,GAAG,MAAM,IAAA,eAAM,EAAC,+BAA+B,CAAC,CAAC;YACpE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,MAAM;QAER,KAAK,GAAG,CAAC;QACT,KAAK,IAAI,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM;QAER;YACE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bundled wordlist for spell checking commit messages
|
|
3
|
+
* Contains common English words and programming terminology
|
|
4
|
+
*/
|
|
5
|
+
export declare const COMMON_WORDS: Set<string>;
|
|
6
|
+
export declare const PROGRAMMING_TERMS: Set<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Combined wordlist for efficient lookup
|
|
9
|
+
*/
|
|
10
|
+
export declare const WORDLIST: Set<string>;
|
|
11
|
+
//# sourceMappingURL=wordlist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wordlist.d.ts","sourceRoot":"","sources":["../../src/data/wordlist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,aAmGvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAoE5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAmD,CAAC"}
|