Skip to content

Commit 51a5e12

Browse files
committed
Adds ai commit message button to SCM
1 parent d10b082 commit 51a5e12

File tree

3 files changed

+52
-30
lines changed

3 files changed

+52
-30
lines changed

contributions.json

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
},
2626
"gitlens.ai.generateChangelog": {
2727
"label": "Generate Changelog (Preview)...",
28-
"commandPalette": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled"
28+
"commandPalette": "gitlens:enabled && !gitlens:untrusted && gitlens:gk:organization:ai:enabled"
2929
},
3030
"gitlens.ai.generateCommitMessage": {
31-
"label": "Generate Commit Message...",
32-
"commandPalette": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled"
31+
"label": "Generate Commit Message",
32+
"commandPalette": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled"
3333
},
3434
"gitlens.annotations.nextChange": {
3535
"label": "Next Change",
@@ -1467,19 +1467,19 @@
14671467
"menus": {
14681468
"webview/context": [
14691469
{
1470-
"when": "webviewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled",
1470+
"when": "webviewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
14711471
"group": "1_gitlens_actions_3",
14721472
"order": 100
14731473
}
14741474
]
14751475
}
14761476
},
14771477
"gitlens.graph.ai.generateCommitMessage": {
1478-
"label": "Generate Commit Message...",
1478+
"label": "Generate Commit Message",
14791479
"menus": {
14801480
"webview/context": [
14811481
{
1482-
"when": "webviewItem == gitlens:wip && config.gitlens.ai.generateCommitMessage.enabled && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
1482+
"when": "webviewItem == gitlens:wip && config.gitlens.ai.generateCommitMessage.enabled && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
14831483
"group": "1_gitlens",
14841484
"order": 2
14851485
}
@@ -3603,18 +3603,24 @@
36033603
}
36043604
},
36053605
"gitlens.scm.ai.generateCommitMessage": {
3606-
"label": "Generate Commit Message with GitLens...",
3606+
"label": "Generate Commit Message with GitLens",
3607+
"icon": "$(sparkle)",
36073608
"menus": {
36083609
"git.commit": [
36093610
{
3610-
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage",
3611+
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage",
36113612
"group": "4_gitlens",
36123613
"order": 4
36133614
}
36143615
],
36153616
"scm/title": [
36163617
{
3617-
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
3618+
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepositoryInline.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
3619+
"group": "navigation",
3620+
"order": -3
3621+
},
3622+
{
3623+
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
36183624
"group": "2_z_gitlens",
36193625
"order": 4
36203626
}
@@ -3792,7 +3798,7 @@
37923798
{
37933799
"when": "scmProvider == git && gitlens:enabled && config.gitlens.menus.scmRepositoryInline.graph && gitlens:plus:enabled && scmProviderRootUri not in gitlens:plus:disallowedRepos",
37943800
"group": "navigation",
3795-
"order": -1000
3801+
"order": -1
37963802
},
37973803
{
37983804
"when": "scmProvider == git && gitlens:enabled && config.gitlens.menus.scmRepository.graph && gitlens:plus:enabled && scmProviderRootUri not in gitlens:plus:disallowedRepos",
@@ -4535,7 +4541,7 @@
45354541
{
45364542
"when": "scmProvider == git && gitlens:enabled && config.gitlens.menus.scmRepositoryInline.stash && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
45374543
"group": "navigation",
4538-
"order": -1001
4544+
"order": -2
45394545
}
45404546
],
45414547
"view/item/context": [
@@ -4937,12 +4943,12 @@
49374943
"menus": {
49384944
"view/item/context": [
49394945
{
4940-
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:gk:organization:ai:enabled",
4946+
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
49414947
"group": "inline",
49424948
"order": 98
49434949
},
49444950
{
4945-
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && !listMultiSelection && gitlens:gk:organization:ai:enabled",
4951+
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
49464952
"group": "4_gitlens_actions",
49474953
"order": 2
49484954
}
@@ -4955,7 +4961,7 @@
49554961
"menus": {
49564962
"view/item/context": [
49574963
{
4958-
"when": "viewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled",
4964+
"when": "viewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
49594965
"group": "1_gitlens_actions_3",
49604966
"order": 100
49614967
}

package.json

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4533,6 +4533,9 @@
45334533
{
45344534
"type": "object",
45354535
"properties": {
4536+
"generateCommitMessage": {
4537+
"type": "boolean"
4538+
},
45364539
"graph": {
45374540
"type": "boolean"
45384541
},
@@ -4701,8 +4704,9 @@
47014704
"graph": true
47024705
},
47034706
"scmRepositoryInline": {
4707+
"generateCommitMessage": true,
47044708
"graph": true,
4705-
"stash": false
4709+
"stash": true
47064710
},
47074711
"scmRepository": {
47084712
"authors": true,
@@ -6011,7 +6015,7 @@
60116015
},
60126016
{
60136017
"command": "gitlens.ai.generateCommitMessage",
6014-
"title": "Generate Commit Message...",
6018+
"title": "Generate Commit Message",
60156019
"category": "GitLens"
60166020
},
60176021
{
@@ -6577,7 +6581,7 @@
65776581
},
65786582
{
65796583
"command": "gitlens.graph.ai.generateCommitMessage",
6580-
"title": "Generate Commit Message..."
6584+
"title": "Generate Commit Message"
65816585
},
65826586
{
65836587
"command": "gitlens.graph.associateIssueWithBranch",
@@ -7388,7 +7392,8 @@
73887392
},
73897393
{
73907394
"command": "gitlens.scm.ai.generateCommitMessage",
7391-
"title": "Generate Commit Message with GitLens..."
7395+
"title": "Generate Commit Message with GitLens",
7396+
"icon": "$(sparkle)"
73927397
},
73937398
{
73947399
"command": "gitlens.shareAsCloudPatch",
@@ -10338,11 +10343,11 @@
1033810343
},
1033910344
{
1034010345
"command": "gitlens.ai.generateChangelog",
10341-
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled"
10346+
"when": "gitlens:enabled && !gitlens:untrusted && gitlens:gk:organization:ai:enabled"
1034210347
},
1034310348
{
1034410349
"command": "gitlens.ai.generateCommitMessage",
10345-
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled"
10350+
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled"
1034610351
},
1034710352
{
1034810353
"command": "gitlens.annotations.nextChange",
@@ -13813,7 +13818,7 @@
1381313818
},
1381413819
{
1381513820
"command": "gitlens.scm.ai.generateCommitMessage",
13816-
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && !gitlens:hasVirtualFolders && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage",
13821+
"when": "gitlens:enabled && !gitlens:readonly && !gitlens:untrusted && gitlens:gk:organization:ai:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage",
1381713822
"group": "4_gitlens@4"
1381813823
}
1381913824
],
@@ -15967,15 +15972,20 @@
1596715972
}
1596815973
],
1596915974
"scm/title": [
15975+
{
15976+
"command": "gitlens.scm.ai.generateCommitMessage",
15977+
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepositoryInline.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
15978+
"group": "navigation@-3"
15979+
},
1597015980
{
1597115981
"command": "gitlens.stashSave",
1597215982
"when": "scmProvider == git && gitlens:enabled && config.gitlens.menus.scmRepositoryInline.stash && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
15973-
"group": "navigation@-1001"
15983+
"group": "navigation@-2"
1597415984
},
1597515985
{
1597615986
"command": "gitlens.showGraph",
1597715987
"when": "scmProvider == git && gitlens:enabled && config.gitlens.menus.scmRepositoryInline.graph && gitlens:plus:enabled && scmProviderRootUri not in gitlens:plus:disallowedRepos",
15978-
"group": "navigation@-1000"
15988+
"group": "navigation@-1"
1597915989
},
1598015990
{
1598115991
"command": "gitlens.addAuthors",
@@ -15994,7 +16004,7 @@
1599416004
},
1599516005
{
1599616006
"command": "gitlens.scm.ai.generateCommitMessage",
15997-
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
16007+
"when": "scmProvider == git && gitlens:enabled && config.gitlens.ai.generateCommitMessage.enabled && config.gitlens.menus.scmRepository.generateCommitMessage && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
1599816008
"group": "2_z_gitlens@4"
1599916009
},
1600016010
{
@@ -16254,7 +16264,7 @@
1625416264
},
1625516265
{
1625616266
"command": "gitlens.views.ai.generateChangelogFrom",
16257-
"when": "viewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled",
16267+
"when": "viewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
1625816268
"group": "1_gitlens_actions_3@100"
1625916269
},
1626016270
{
@@ -16715,7 +16725,7 @@
1671516725
},
1671616726
{
1671716727
"command": "gitlens.views.ai.generateChangelog",
16718-
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:gk:organization:ai:enabled",
16728+
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
1671916729
"group": "inline@98"
1672016730
},
1672116731
{
@@ -16731,7 +16741,7 @@
1673116741
},
1673216742
{
1673316743
"command": "gitlens.views.ai.generateChangelog",
16734-
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && !listMultiSelection && gitlens:gk:organization:ai:enabled",
16744+
"when": "viewItem =~ /gitlens:compare:results:commits\\b/ && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
1673516745
"group": "4_gitlens_actions@2"
1673616746
},
1673716747
{
@@ -19875,7 +19885,7 @@
1987519885
},
1987619886
{
1987719887
"command": "gitlens.graph.ai.generateChangelogFrom",
19878-
"when": "webviewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled",
19888+
"when": "webviewItem =~ /gitlens:(branch|tag)\\b/ && gitlens:gk:organization:ai:enabled && !gitlens:untrusted",
1987919889
"group": "1_gitlens_actions_3@100"
1988019890
},
1988119891
{
@@ -20210,7 +20220,7 @@
2021020220
},
2021120221
{
2021220222
"command": "gitlens.graph.ai.generateCommitMessage",
20213-
"when": "webviewItem == gitlens:wip && config.gitlens.ai.generateCommitMessage.enabled && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:hasVirtualFolders && !gitlens:readonly && !gitlens:untrusted",
20223+
"when": "webviewItem == gitlens:wip && config.gitlens.ai.generateCommitMessage.enabled && !listMultiSelection && gitlens:gk:organization:ai:enabled && !gitlens:readonly && !gitlens:untrusted",
2021420224
"group": "1_gitlens@2"
2021520225
},
2021620226
{

src/config.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,13 @@ export interface MenuConfig {
539539
| {
540540
readonly graph: boolean;
541541
};
542-
readonly scmRepositoryInline: false | { readonly graph: boolean; readonly stash: boolean };
542+
readonly scmRepositoryInline:
543+
| false
544+
| {
545+
readonly generateCommitMessage: boolean;
546+
readonly graph: boolean;
547+
readonly stash: boolean;
548+
};
543549
readonly scmRepository:
544550
| false
545551
| {

0 commit comments

Comments
 (0)