@335g/pi-git 0.0.2 → 0.0.4
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.ja.md +3 -30
- package/README.md +3 -30
- package/dist/commands/agg-commit.d.ts.map +1 -1
- package/dist/commands/agg-commit.js +27 -38
- package/dist/commands/agg-commit.js.map +1 -1
- package/dist/commands/auto-agg-commit.d.ts.map +1 -1
- package/dist/commands/auto-agg-commit.js +11 -68
- package/dist/commands/auto-agg-commit.js.map +1 -1
- package/dist/commands/config.d.ts +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +55 -70
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/diagnostics.d.ts +12 -0
- package/dist/commands/diagnostics.d.ts.map +1 -0
- package/dist/commands/diagnostics.js +59 -0
- package/dist/commands/diagnostics.js.map +1 -0
- package/dist/core/auto-commit-message.d.ts +2 -2
- package/dist/core/auto-commit-message.d.ts.map +1 -1
- package/dist/core/auto-commit-message.js +239 -58
- package/dist/core/auto-commit-message.js.map +1 -1
- package/dist/core/auto-commit.d.ts.map +1 -1
- package/dist/core/auto-commit.js +4 -8
- package/dist/core/auto-commit.js.map +1 -1
- package/dist/core/commit-message.d.ts.map +1 -1
- package/dist/core/commit-message.js +3 -0
- package/dist/core/commit-message.js.map +1 -1
- package/dist/core/diff-analyzer.d.ts +1 -9
- package/dist/core/diff-analyzer.d.ts.map +1 -1
- package/dist/core/diff-analyzer.js +75 -75
- package/dist/core/diff-analyzer.js.map +1 -1
- package/dist/core/git.d.ts +5 -28
- package/dist/core/git.d.ts.map +1 -1
- package/dist/core/git.js +19 -68
- package/dist/core/git.js.map +1 -1
- package/dist/i18n/messages.d.ts +107 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/i18n/messages.js +135 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -22
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +0 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/diagnostics.d.ts +33 -0
- package/dist/utils/diagnostics.d.ts.map +1 -0
- package/dist/utils/diagnostics.js +32 -0
- package/dist/utils/diagnostics.js.map +1 -0
- package/dist/utils/footer-manager.d.ts.map +1 -1
- package/dist/utils/footer-manager.js +6 -9
- package/dist/utils/footer-manager.js.map +1 -1
- package/dist/utils/lang.d.ts +13 -7
- package/dist/utils/lang.d.ts.map +1 -1
- package/dist/utils/lang.js +21 -10
- package/dist/utils/lang.js.map +1 -1
- package/dist/utils/settings.d.ts +13 -5
- package/dist/utils/settings.d.ts.map +1 -1
- package/dist/utils/settings.js +65 -13
- package/dist/utils/settings.js.map +1 -1
- package/package.json +6 -2
- package/dist/commands/branch.d.ts +0 -8
- package/dist/commands/branch.d.ts.map +0 -1
- package/dist/commands/branch.js +0 -197
- package/dist/commands/branch.js.map +0 -1
- package/dist/commands/git-diff.d.ts +0 -10
- package/dist/commands/git-diff.d.ts.map +0 -1
- package/dist/commands/git-diff.js +0 -228
- package/dist/commands/git-diff.js.map +0 -1
- package/dist/commands/git-log.d.ts +0 -8
- package/dist/commands/git-log.d.ts.map +0 -1
- package/dist/commands/git-log.js +0 -100
- package/dist/commands/git-log.js.map +0 -1
- package/dist/tui/hunk-review.d.ts +0 -51
- package/dist/tui/hunk-review.d.ts.map +0 -1
- package/dist/tui/hunk-review.js +0 -296
- package/dist/tui/hunk-review.js.map +0 -1
package/README.ja.md
CHANGED
|
@@ -19,7 +19,7 @@ pi install @335g/pi-git
|
|
|
19
19
|
```json
|
|
20
20
|
{
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@335g/pi-git": "^0.0.
|
|
22
|
+
"@335g/pi-git": "^0.0.4"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
```
|
|
@@ -45,9 +45,6 @@ pi install /path/to/pi-git
|
|
|
45
45
|
| [`/git-agg-commit`](#git-agg-commit) | 変更を自動ステージングし、AI生成のConventional Commitsメッセージでコミット |
|
|
46
46
|
| [`/git-auto-agg-commit`](#git-auto-agg-commit) | アシスタント応答後の自動 `git-agg-commit` をトグル |
|
|
47
47
|
| [`/git-config`](#git-config) | pi-git の設定値を取得・設定・一覧表示 |
|
|
48
|
-
| [`/git-branch`](#git-branch) | ブランチ管理: 一覧、切り替え、作成、削除 |
|
|
49
|
-
| [`/git-diff`](#git-diff) | AI生成のhunkをインタラクティブにレビューし、承認したものをコミット |
|
|
50
|
-
| [`/git-log`](#git-log) | git log を oneline 形式で表示 |
|
|
51
48
|
|
|
52
49
|
### `/git-agg-commit`
|
|
53
50
|
|
|
@@ -67,34 +64,10 @@ pi install /path/to/pi-git
|
|
|
67
64
|
|
|
68
65
|
### `/git-config`
|
|
69
66
|
|
|
70
|
-
pi-git の設定値を取得・設定・一覧表示します。グローバル(`~/.config/pi-git/settings.json
|
|
67
|
+
pi-git の設定値を取得・設定・一覧表示します。グローバル(`~/.config/pi-git/settings.json`)とローカル(`<リポジトリルート>/pi-git.toml`)スコープに対応しています。
|
|
71
68
|
|
|
72
69
|
```
|
|
73
|
-
/git-config <key> [value] [--global] [--list] [--show-origin]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### `/git-branch`
|
|
77
|
-
|
|
78
|
-
gitブランチを管理します: 一覧表示、切り替え、作成、削除。
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
/git-branch [<branch>] [-c|--create] [-d|--delete] [--list] [--help]
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### `/git-diff`
|
|
85
|
-
|
|
86
|
-
AI支援によるhunk分解とインタラクティブな差分レビュー。ファイルツリーとunified diffを左右に表示し、1つの論理的hunkずつ確認・調整・コミットできます。
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
/git-diff [--lang=<code>]
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### `/git-log`
|
|
93
|
-
|
|
94
|
-
git log を oneline 形式で表示します。ブランチ名と HEAD の位置も表示されます。
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
/git-log [-n <count>] [--all] [--graph]
|
|
70
|
+
/git-config <key> [value] [--global] [--list] [--show-origin] [--keys] [--models] [--help]
|
|
98
71
|
```
|
|
99
72
|
|
|
100
73
|
---
|
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Or add to your project's package.json:
|
|
|
19
19
|
```json
|
|
20
20
|
{
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@335g/pi-git": "^0.0.
|
|
22
|
+
"@335g/pi-git": "^0.0.4"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
```
|
|
@@ -45,9 +45,6 @@ pi install /path/to/pi-git
|
|
|
45
45
|
| [`/git-agg-commit`](#git-agg-commit) | Auto stage and commit changes with AI-generated Conventional Commits messages |
|
|
46
46
|
| [`/git-auto-agg-commit`](#git-auto-agg-commit) | Toggle automatic `git-agg-commit` after assistant responses |
|
|
47
47
|
| [`/git-config`](#git-config) | Get, set, or list pi-git configuration values |
|
|
48
|
-
| [`/git-branch`](#git-branch) | Manage git branches: list, switch, create, and delete |
|
|
49
|
-
| [`/git-diff`](#git-diff) | Interactively review AI-generated hunks and commit approved ones |
|
|
50
|
-
| [`/git-log`](#git-log) | Display git log in oneline format |
|
|
51
48
|
|
|
52
49
|
### `/git-agg-commit`
|
|
53
50
|
|
|
@@ -67,34 +64,10 @@ Toggles automatic `git-agg-commit` after assistant responses. When enabled, unco
|
|
|
67
64
|
|
|
68
65
|
### `/git-config`
|
|
69
66
|
|
|
70
|
-
Gets, sets, or lists pi-git configuration values. Supports global (`~/.config/pi-git/settings.json`) and local (`<repo-root
|
|
67
|
+
Gets, sets, or lists pi-git configuration values. Supports global (`~/.config/pi-git/settings.json`) and local (`<repo-root>/pi-git.toml`) scopes.
|
|
71
68
|
|
|
72
69
|
```
|
|
73
|
-
/git-config <key> [value] [--global] [--list] [--show-origin]
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### `/git-branch`
|
|
77
|
-
|
|
78
|
-
Manages git branches: list, switch, create, and delete.
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
/git-branch [<branch>] [-c|--create] [-d|--delete] [--list] [--help]
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### `/git-diff`
|
|
85
|
-
|
|
86
|
-
Interactive diff review with AI-assisted hunk decomposition. Displays a file tree and unified diff side-by-side, letting you review, adjust, and commit changes one logical hunk at a time.
|
|
87
|
-
|
|
88
|
-
```
|
|
89
|
-
/git-diff [--lang=<code>]
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### `/git-log`
|
|
93
|
-
|
|
94
|
-
Displays git log in oneline format with branch names and HEAD position.
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
/git-log [-n <count>] [--all] [--graph]
|
|
70
|
+
/git-config <key> [value] [--global] [--list] [--show-origin] [--keys] [--models] [--help]
|
|
98
71
|
```
|
|
99
72
|
|
|
100
73
|
---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agg-commit.d.ts","sourceRoot":"","sources":["../../src/commands/agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAiBzC,wBAAsB,eAAe,CACnC,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"agg-commit.d.ts","sourceRoot":"","sources":["../../src/commands/agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAiBzC,wBAAsB,eAAe,CACnC,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAqJf"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { analyzeDiff, processHunks } from "../core/diff-analyzer.js";
|
|
8
8
|
import { collectDiff, ensureReadyToCommit, resetStaging, stageFiles, } from "../core/git.js";
|
|
9
|
-
import {
|
|
9
|
+
import { t } from "../utils/lang.js";
|
|
10
10
|
import { getLanguage } from "../utils/settings.js";
|
|
11
11
|
import { footerManager } from "../utils/footer-manager.js";
|
|
12
12
|
function parseLangArg(args) {
|
|
@@ -15,64 +15,46 @@ function parseLangArg(args) {
|
|
|
15
15
|
}
|
|
16
16
|
export async function handleAggCommit(pi, ctx, args) {
|
|
17
17
|
const lang = getLanguage(ctx.cwd);
|
|
18
|
-
const ja = isJapanese(lang);
|
|
19
18
|
if (/--help/.test(args)) {
|
|
20
|
-
const lines = ja
|
|
21
|
-
? [
|
|
22
|
-
"/git-agg-commit [--lang=<lang>] [--help]",
|
|
23
|
-
"",
|
|
24
|
-
"オプション:",
|
|
25
|
-
" --lang=<lang> 一時的に言語を上書き(保存されません)",
|
|
26
|
-
" --help このヘルプを表示",
|
|
27
|
-
]
|
|
28
|
-
: [
|
|
29
|
-
"/git-agg-commit [--lang=<lang>] [--help]",
|
|
30
|
-
"",
|
|
31
|
-
"Options:",
|
|
32
|
-
" --lang=<lang> Temporarily override language (not saved)",
|
|
33
|
-
" --help Show this help message",
|
|
34
|
-
];
|
|
35
19
|
if (ctx.hasUI) {
|
|
36
|
-
ctx.ui.notify(
|
|
20
|
+
ctx.ui.notify(t(lang, "aggCommit.help"), "info");
|
|
37
21
|
}
|
|
38
22
|
return;
|
|
39
23
|
}
|
|
40
24
|
// Parse language argument (temporary override, does not save)
|
|
41
25
|
const langArg = parseLangArg(args);
|
|
42
|
-
|
|
26
|
+
const runLang = langArg ?? lang;
|
|
43
27
|
if (langArg) {
|
|
44
|
-
runLang = langArg;
|
|
45
28
|
ctx.ui.notify(`Language set to: ${langArg} (this run only)`, "info");
|
|
46
29
|
}
|
|
47
30
|
if (!ctx.hasUI) {
|
|
48
31
|
return;
|
|
49
32
|
}
|
|
50
33
|
if (footerManager.isRunning()) {
|
|
51
|
-
ctx.ui.notify(
|
|
52
|
-
? "git-agg-commit 実行中です。完了してから再度実行してください。"
|
|
53
|
-
: "git-agg-commit is already running. Please wait for it to complete.", "warning");
|
|
34
|
+
ctx.ui.notify(t(runLang, "aggCommit.alreadyRunning"), "warning");
|
|
54
35
|
return;
|
|
55
36
|
}
|
|
56
|
-
await footerManager.setRunning("agg-commit", "prepare", runLang);
|
|
57
37
|
try {
|
|
38
|
+
await footerManager.setRunning("agg-commit", "prepare", runLang);
|
|
58
39
|
const preCheck = await ensureReadyToCommit(pi, ctx.cwd);
|
|
59
40
|
if (preCheck) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
: "No changes to commit",
|
|
41
|
+
const messages = {
|
|
42
|
+
not_git_repo: { text: "Not a git repository", level: "warning" },
|
|
43
|
+
merge_conflict: { text: "Merge conflicts detected. Resolve conflicts before committing.", level: "error" },
|
|
44
|
+
no_changes: { text: "No changes to commit", level: "info" },
|
|
45
|
+
};
|
|
46
|
+
const entry = messages[preCheck];
|
|
47
|
+
ctx.ui.notify(entry.text, entry.level);
|
|
64
48
|
return;
|
|
65
49
|
}
|
|
66
50
|
// Snapshot changes via stash to freeze the diff
|
|
67
51
|
await footerManager.setPhase("collectDiff", runLang);
|
|
68
52
|
const diff = await collectDiff(pi, ctx.cwd);
|
|
69
53
|
if (diff === null) {
|
|
70
|
-
await footerManager.clearRunning();
|
|
71
54
|
ctx.ui.notify("Failed to stash changes", "warning");
|
|
72
55
|
return;
|
|
73
56
|
}
|
|
74
57
|
if (!diff.trim()) {
|
|
75
|
-
await footerManager.clearRunning();
|
|
76
58
|
ctx.ui.notify("No changes to commit", "info");
|
|
77
59
|
return;
|
|
78
60
|
}
|
|
@@ -80,7 +62,6 @@ export async function handleAggCommit(pi, ctx, args) {
|
|
|
80
62
|
await footerManager.setPhase("analyze", runLang);
|
|
81
63
|
let hunks = await analyzeDiff(pi, ctx, diff, runLang);
|
|
82
64
|
if (hunks.length === 0) {
|
|
83
|
-
await footerManager.clearRunning();
|
|
84
65
|
ctx.ui.notify("No hunks found to commit", "info");
|
|
85
66
|
return;
|
|
86
67
|
}
|
|
@@ -95,6 +76,15 @@ export async function handleAggCommit(pi, ctx, args) {
|
|
|
95
76
|
for (let i = 0; i < hunks.length; i++) {
|
|
96
77
|
const hunk = hunks[i];
|
|
97
78
|
await footerManager.setCommitProgress(i + 1, hunks.length);
|
|
79
|
+
// Ensure clean staging area before each hunk
|
|
80
|
+
try {
|
|
81
|
+
await resetStaging(pi, ctx.cwd);
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
ctx.ui.notify("Failed to reset staging area, aborting batch", "error");
|
|
85
|
+
failedCount++;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
98
88
|
try {
|
|
99
89
|
await stageFiles(pi, hunk.files, ctx.cwd);
|
|
100
90
|
}
|
|
@@ -109,14 +99,8 @@ export async function handleAggCommit(pi, ctx, args) {
|
|
|
109
99
|
}
|
|
110
100
|
const { code: exitCode, stderr } = await pi.exec("git", ["commit", "-m", hunk.message], { cwd: ctx.cwd });
|
|
111
101
|
if (exitCode !== 0) {
|
|
112
|
-
try {
|
|
113
|
-
await resetStaging(pi, ctx.cwd);
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// Ignore reset errors
|
|
117
|
-
}
|
|
118
102
|
const detail = stderr.trim() ? ` — ${stderr.trim()}` : "";
|
|
119
|
-
ctx.ui.notify(`Commit failed for "${hunk.message}" (exit code ${exitCode}).${detail}
|
|
103
|
+
ctx.ui.notify(`Commit failed for "${hunk.message}" (exit code ${exitCode}).${detail}`, "warning");
|
|
120
104
|
failedCount++;
|
|
121
105
|
continue;
|
|
122
106
|
}
|
|
@@ -140,6 +124,11 @@ export async function handleAggCommit(pi, ctx, args) {
|
|
|
140
124
|
}
|
|
141
125
|
}
|
|
142
126
|
finally {
|
|
127
|
+
// Final cleanup: ensure staging area is clean
|
|
128
|
+
try {
|
|
129
|
+
await resetStaging(pi, ctx.cwd);
|
|
130
|
+
}
|
|
131
|
+
catch { /* ignore */ }
|
|
143
132
|
await footerManager.clearRunning();
|
|
144
133
|
}
|
|
145
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agg-commit.js","sourceRoot":"","sources":["../../src/commands/agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"agg-commit.js","sourceRoot":"","sources":["../../src/commands/agg-commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-agg-commit.d.ts","sourceRoot":"","sources":["../../src/commands/auto-agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-agg-commit.d.ts","sourceRoot":"","sources":["../../src/commands/auto-agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAazC,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
|
|
@@ -4,68 +4,19 @@
|
|
|
4
4
|
* Toggle auto-agg-commit feature: automatically run git-agg-commit
|
|
5
5
|
* after the assistant finishes responding when there are changes.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import { getAutoAggCommit,
|
|
7
|
+
import { t } from "../utils/lang.js";
|
|
8
|
+
import { getAutoAggCommit, getLanguage, getLocalSettingsPath, saveGlobalSettings, saveLocalSettings, } from "../utils/settings.js";
|
|
9
9
|
import { footerManager } from "../utils/footer-manager.js";
|
|
10
|
-
|
|
11
|
-
const ja = isJapanese(lang);
|
|
12
|
-
if (enabled) {
|
|
13
|
-
return ja
|
|
14
|
-
? "[pi-git] 自動 git-agg-commit は有効です"
|
|
15
|
-
: "[pi-git] Auto git-agg-commit is enabled";
|
|
16
|
-
}
|
|
17
|
-
return ja
|
|
18
|
-
? "[pi-git] 自動 git-agg-commit は無効です"
|
|
19
|
-
: "[pi-git] Auto git-agg-commit is disabled";
|
|
20
|
-
}
|
|
21
|
-
function _getToggledMessage(enabled, lang) {
|
|
22
|
-
const ja = isJapanese(lang);
|
|
23
|
-
if (enabled) {
|
|
24
|
-
return ja
|
|
25
|
-
? "[pi-git] 自動 git-agg-commit を有効にしました"
|
|
26
|
-
: "[pi-git] Auto git-agg-commit enabled";
|
|
27
|
-
}
|
|
28
|
-
return ja
|
|
29
|
-
? "[pi-git] 自動 git-agg-commit を無効にしました"
|
|
30
|
-
: "[pi-git] Auto git-agg-commit disabled";
|
|
31
|
-
}
|
|
10
|
+
const P = "[pi-git]";
|
|
32
11
|
export async function handleAutoAggCommit(pi, ctx, args) {
|
|
33
12
|
if (!ctx.hasUI) {
|
|
34
13
|
return;
|
|
35
14
|
}
|
|
36
15
|
const trimmed = args.trim().toLowerCase();
|
|
37
16
|
const current = getAutoAggCommit();
|
|
38
|
-
const lang =
|
|
17
|
+
const lang = getLanguage(ctx.cwd);
|
|
39
18
|
if (trimmed === "--help") {
|
|
40
|
-
|
|
41
|
-
const lines = ja
|
|
42
|
-
? [
|
|
43
|
-
"/git-auto-agg-commit [on|off|toggle] [--help]",
|
|
44
|
-
"",
|
|
45
|
-
"サブコマンド:",
|
|
46
|
-
" on 自動 git-agg-commit を有効にする",
|
|
47
|
-
" off 自動 git-agg-commit を無効にする",
|
|
48
|
-
" toggle 自動 git-agg-commit の有効/無効を切り替える",
|
|
49
|
-
"",
|
|
50
|
-
"フラグ:",
|
|
51
|
-
" --help このヘルプを表示",
|
|
52
|
-
"",
|
|
53
|
-
"引数を省略すると、現在の状態を表示します。",
|
|
54
|
-
]
|
|
55
|
-
: [
|
|
56
|
-
"/git-auto-agg-commit [on|off|toggle] [--help]",
|
|
57
|
-
"",
|
|
58
|
-
"Subcommands:",
|
|
59
|
-
" on Enable auto git-agg-commit",
|
|
60
|
-
" off Disable auto git-agg-commit",
|
|
61
|
-
" toggle Toggle auto git-agg-commit",
|
|
62
|
-
"",
|
|
63
|
-
"Flags:",
|
|
64
|
-
" --help Show this help message",
|
|
65
|
-
"",
|
|
66
|
-
"When called without arguments, shows the current status.",
|
|
67
|
-
];
|
|
68
|
-
ctx.ui.notify(lines.join("\n"), "info");
|
|
19
|
+
ctx.ui.notify(t(lang, "autoAggCommit.help"), "info");
|
|
69
20
|
return;
|
|
70
21
|
}
|
|
71
22
|
let next;
|
|
@@ -80,15 +31,11 @@ export async function handleAutoAggCommit(pi, ctx, args) {
|
|
|
80
31
|
next = !current;
|
|
81
32
|
break;
|
|
82
33
|
case "":
|
|
83
|
-
ctx.ui.notify(
|
|
34
|
+
ctx.ui.notify(t(lang, "autoAggCommit.status", { status: t(lang, current ? "autoAggCommit.enabled" : "autoAggCommit.disabled") }), "info");
|
|
84
35
|
return;
|
|
85
|
-
default:
|
|
86
|
-
|
|
87
|
-
ctx.ui.notify(ja
|
|
88
|
-
? "[pi-git] 引数が不正です。on, off, toggle のいずれかを指定してください"
|
|
89
|
-
: '[pi-git] Invalid argument. Use "on", "off", or "toggle"', "warning");
|
|
36
|
+
default:
|
|
37
|
+
ctx.ui.notify(t(lang, "autoAggCommit.invalidArg"), "warning");
|
|
90
38
|
return;
|
|
91
|
-
}
|
|
92
39
|
}
|
|
93
40
|
const localPath = getLocalSettingsPath(ctx.cwd);
|
|
94
41
|
if (localPath) {
|
|
@@ -98,16 +45,12 @@ export async function handleAutoAggCommit(pi, ctx, args) {
|
|
|
98
45
|
saveGlobalSettings({ auto_agg_commit: next });
|
|
99
46
|
}
|
|
100
47
|
await footerManager.refresh();
|
|
101
|
-
const
|
|
48
|
+
const statusText = t(lang, next ? "autoAggCommit.enabled" : "autoAggCommit.disabled");
|
|
102
49
|
if (localPath) {
|
|
103
|
-
ctx.ui.notify(
|
|
104
|
-
? `[pi-git] 自動 git-agg-commit を${next ? "有効" : "無効"}にしました(ローカル設定)`
|
|
105
|
-
: `[pi-git] Auto git-agg-commit ${next ? "enabled" : "disabled"} (local config)`, "info");
|
|
50
|
+
ctx.ui.notify(t(lang, "autoAggCommit.enabledLocal", { status: statusText }), "info");
|
|
106
51
|
}
|
|
107
52
|
else {
|
|
108
|
-
ctx.ui.notify(
|
|
109
|
-
? `[pi-git] 自動 git-agg-commit を${next ? "有効" : "無効"}にしました(グローバル設定 — Gitリポジトリ外のため)`
|
|
110
|
-
: `[pi-git] Auto git-agg-commit ${next ? "enabled" : "disabled"} (global config — outside git repo)`, "info");
|
|
53
|
+
ctx.ui.notify(t(lang, "autoAggCommit.enabledGlobal", { status: statusText }), "info");
|
|
111
54
|
}
|
|
112
55
|
}
|
|
113
56
|
//# sourceMappingURL=auto-agg-commit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-agg-commit.js","sourceRoot":"","sources":["../../src/commands/auto-agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-agg-commit.js","sourceRoot":"","sources":["../../src/commands/auto-agg-commit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,CAAC,GAAG,UAAU,CAAC;AAErB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAgB,EAChB,GAA4B,EAC5B,IAAY;IAEZ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,CAAC,CAAC,IAAI,EACJ,oBAAoB,CACrB,EACD,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,IAAa,CAAC;IAClB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,IAAI;YACP,IAAI,GAAG,IAAI,CAAC;YACZ,MAAM;QACR,KAAK,KAAK;YACR,IAAI,GAAG,KAAK,CAAC;YACb,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,GAAG,CAAC,OAAO,CAAC;YAChB,MAAM;QACR,KAAK,EAAE;YACL,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,CAAC,CAAC,IAAI,EACJ,sBAAsB,EACtB,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAClF,EACD,MAAM,CACP,CAAC;YACF,OAAO;QACT;YACE,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,CAAC,CAAC,IAAI,EACJ,0BAA0B,CAC3B,EACD,SAAS,CACV,CAAC;YACF,OAAO;IACX,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,iBAAiB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,kBAAkB,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACtF,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,CAAC,CAAC,IAAI,EACJ,4BAA4B,EAC5B,EAAE,MAAM,EAAE,UAAU,EAAE,CACvB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,CAAC,CAAC,IAAI,EACJ,6BAA6B,EAC7B,EAAE,MAAM,EAAE,UAAU,EAAE,CACvB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Get, set, and list pi-git configuration values.
|
|
5
5
|
* Supports both global (~/.config/pi-git/settings.json)
|
|
6
|
-
* and local (<repo
|
|
6
|
+
* and local (<repo>/pi-git.toml) scopes.
|
|
7
7
|
*/
|
|
8
8
|
import type { ExtensionAPI, ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
|
9
9
|
export declare function handleConfig(_pi: ExtensionAPI, ctx: ExtensionCommandContext, args: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AA2CzC,wBAAsB,YAAY,CAChC,GAAG,EAAE,YAAY,EACjB,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAiNf"}
|