Skip to content

Commit ba4ce71

Browse files
committed
feat(cz-git): support types fuzzy search types[name] options
add `typesSearchValueKey` option default types list fuzzy search types `value` options. if choose `false` will search `name` options link #57
1 parent 8fb63b0 commit ba4ce71

3 files changed

Lines changed: 12 additions & 1 deletion

File tree

‎packages/cz-git/src/generator/option.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const generateOptions = (config: UserConfig): CommitizenGitOptions => {
2424
themeColorCode: ___X_CMD_THEME_COLOR_CODE || promptConfig.themeColorCode || defaultConfig.themeColorCode,
2525
types: promptConfig.types ?? defaultConfig.types,
2626
typesAppend: promptConfig.typesAppend ?? defaultConfig.typesAppend,
27+
typesSearchValueKey: promptConfig.typesSearchValueKey ?? defaultConfig.typesSearchValueKey,
2728
useEmoji: Boolean(emoji === '1') || promptConfig.useEmoji || defaultConfig.useEmoji,
2829
emojiAlign: promptConfig.emojiAlign || defaultConfig.emojiAlign,
2930
scopes: promptConfig.scopes ?? getEnumList(config?.rules?.['scope-enum'] as any),

‎packages/cz-git/src/generator/question.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ export const generateQuestions = (options: CommitizenGitOptions, cz: any) => {
3939
options.types?.concat(options.typesAppend || []) || [],
4040
options.defaultType,
4141
)
42-
return fuzzyFilter(input, typeSource, 'value')
42+
const searchTarget = options.typesSearchValueKey
43+
? 'value'
44+
: 'name'
45+
return fuzzyFilter(input, typeSource, searchTarget)
4346
},
4447
},
4548
{

‎packages/cz-git/src/shared/types/options.ts‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ export interface CommitizenGitOptions {
138138
*/
139139
typesAppend?: TypesOption[]
140140

141+
/**
142+
* @description: default types list fuzzy search types `value` options. if choose `false` will search `name` options
143+
* @default: true
144+
*/
145+
typesSearchValueKey?: boolean
146+
141147
/**
142148
* @description: Use emoji ?| it will be use typesOption.emoji code
143149
* @default: false
@@ -380,6 +386,7 @@ export const defaultConfig = Object.freeze({
380386
{ value: 'revert', name: 'revert: Reverts a previous commit', emoji: ':rewind:' },
381387
],
382388
typesAppend: [],
389+
typesSearchValueKey: true,
383390
themeColorCode: '',
384391
useEmoji: false,
385392
emojiAlign: 'center',

0 commit comments

Comments
 (0)