dsh-ide-git 0.14.3 → 0.14.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/dsh.plugin.json +1 -1
- package/package.json +1 -1
- package/src/client.js +20 -5
package/dsh.plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-external/dsh-ide-git",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"description": "IDE 级 Git 操作面板:分支树 + 提交图谱 + 变更/暂存/提交 + 提交详情。装了 dsh-better-sidebar 时挂成它的原生 tab(右侧栏 + 底部工作台);没装时直接挂 DSH 原生右侧栏,单独安装即可用。JetBrains 风格 Git 工具窗口 for DeepSeek Harness.",
|
|
6
6
|
"engines": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-ide-git",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"description": "DSH plugin: an IDE-grade Git tool window as a native dsh-better-sidebar tab — branch tree, commit graph, changes, commit details, JetBrains-style actions, in the right sidebar and the bottom panel. | DSH 插件:IDE 级 Git 工具窗口,以 dsh-better-sidebar 原生 Tab 挂载——分支树 / 提交图谱 / 变更与提交详情 / JetBrains 风格操作,右侧栏与底部面板双布局自适应。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
package/src/client.js
CHANGED
|
@@ -6659,7 +6659,15 @@ window.__ModuleLoader__.load({
|
|
|
6659
6659
|
E('span', { className: 'dig-lf-number' }, row.old === undefined ? '' : String(row.old)),
|
|
6660
6660
|
E('span', { className: 'dig-lf-number' }, row.new === undefined ? '' : String(row.new)),
|
|
6661
6661
|
E('span', { className: 'dig-lf-sign' }, row.kind === 'add' ? '+' : row.kind === 'del' ? '\u2212' : ' '),
|
|
6662
|
-
|
|
6662
|
+
/* The guards are load-bearing (FileDiff.tsx uses `highlighted?.new?.get`):
|
|
6663
|
+
highlightLines returns undefined for unknown or not-yet-loaded
|
|
6664
|
+
grammars, so the first frame (and every plain-text file) renders
|
|
6665
|
+
with spans === undefined until the grammar store bumps a re-render.
|
|
6666
|
+
Without the guard the slot entry crashes and 0.2.x unmounts the
|
|
6667
|
+
whole preview pane (blank "Git 预览"). */
|
|
6668
|
+
E(DiffText, { text: row.text, spans: row.kind === 'add'
|
|
6669
|
+
? (spans.new === undefined ? undefined : spans.new.get(row.new))
|
|
6670
|
+
: (spans.old === undefined ? undefined : spans.old.get(row.old)) }))
|
|
6663
6671
|
}
|
|
6664
6672
|
|
|
6665
6673
|
/* The wrapped split row: two cells, each its own number + text. */
|
|
@@ -8876,7 +8884,7 @@ window.__ModuleLoader__.load({
|
|
|
8876
8884
|
try {
|
|
8877
8885
|
const scopeObject = scope || {}
|
|
8878
8886
|
previewStore.set(commitHash !== null
|
|
8879
|
-
? { hash: commitHash, subject: seed.subject || '', cwd: scopeObject.cwd, repoRoot: repoRoot, sessionId: scopeObject.sessionId }
|
|
8887
|
+
? { hash: commitHash, subject: seed.subject || '', path: seed.path !== undefined && seed.path !== null ? seed.path : '', cwd: scopeObject.cwd, repoRoot: repoRoot, sessionId: scopeObject.sessionId }
|
|
8880
8888
|
: { path: seed.path, staged: seed.staged === true, cwd: scopeObject.cwd, repoRoot: repoRoot, sessionId: scopeObject.sessionId })
|
|
8881
8889
|
sidebarRight.openTab(NATIVE_PREVIEW_KIND)
|
|
8882
8890
|
return true
|
|
@@ -10509,7 +10517,9 @@ window.__ModuleLoader__.load({
|
|
|
10509
10517
|
useEffect(() => previewStore.subscribe(() => { setSeed(previewStore.seed) }), [])
|
|
10510
10518
|
const seedKey = seed === null
|
|
10511
10519
|
? ''
|
|
10512
|
-
: (seed.hash !== undefined && seed.hash !== null
|
|
10520
|
+
: (seed.hash !== undefined && seed.hash !== null
|
|
10521
|
+
? 'c:' + String(seed.hash) + ':' + String(seed.path !== undefined && seed.path !== null ? seed.path : '')
|
|
10522
|
+
: 'w:' + String(seed.staged === true) + ':' + String(seed.path))
|
|
10513
10523
|
const [state, setState] = useState({ loading: false, patch: '', error: null })
|
|
10514
10524
|
const [refreshTick, setRefreshTick] = useState(0)
|
|
10515
10525
|
const [copied, setCopied] = useState(false)
|
|
@@ -10523,8 +10533,13 @@ window.__ModuleLoader__.load({
|
|
|
10523
10533
|
try {
|
|
10524
10534
|
const payload = { cwd: seed.cwd }
|
|
10525
10535
|
if (seed.repoRoot !== undefined && seed.repoRoot !== null && seed.repoRoot !== '') payload.repoRoot = seed.repoRoot
|
|
10526
|
-
if (seed.hash !== undefined && seed.hash !== null && seed.hash !== '')
|
|
10527
|
-
|
|
10536
|
+
if (seed.hash !== undefined && seed.hash !== null && seed.hash !== '') {
|
|
10537
|
+
payload.hash = seed.hash
|
|
10538
|
+
/* hash+path rides `git show <hash> -- <path>` (host-supported
|
|
10539
|
+
since the route exists): the preview follows the exact file
|
|
10540
|
+
the user clicked instead of the commit's first file. */
|
|
10541
|
+
if (seed.path !== undefined && seed.path !== null && seed.path !== '') payload.path = seed.path
|
|
10542
|
+
} else { payload.path = seed.path; payload.staged = seed.staged === true }
|
|
10528
10543
|
const data = await request('diff', payload)
|
|
10529
10544
|
if (alive === true) setState({ loading: false, patch: data === undefined || data === null || typeof data.patch !== 'string' ? '' : data.patch, error: null })
|
|
10530
10545
|
} catch (error) {
|