You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(rebase): add classic terminal interactive rebase mode (#58)
Add a gitGraphPlus.interactiveRebase.mode setting ("ui" | "classic",
default "ui"). In classic mode the graph's interactive-rebase entry points
post a runClassicRebase message instead of opening the GUI modal, and the
extension runs `git rebase -i <base>` in a dedicated "Git Graph+ Rebase"
integrated terminal so the user's own Git editor edits the rebase-todo. The
existing .git file-watcher handles the refresh and conflict/continue banner.
The mode is mirrored to the webview (init + config change), like the locale
pattern. A pure buildClassicRebaseCommand validates the base as a hex hash
(injection guard) and uses bare `git` on PATH, which works across
PowerShell/bash/cmd. The "ui" default keeps existing behavior unchanged.
Copy file name to clipboardExpand all lines: package.json
+10Lines changed: 10 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -409,6 +409,16 @@
409
409
"minimum": 1,
410
410
"markdownDescription": "Number of additional commits fetched each time the **Load more commits** button is clicked."
411
411
},
412
+
"gitGraphPlus.interactiveRebase.mode": {
413
+
"type": "string",
414
+
"enum": ["ui", "classic"],
415
+
"enumDescriptions": [
416
+
"Open the built-in graphical interactive-rebase editor",
417
+
"Run git rebase -i in the integrated terminal using your configured Git editor"
418
+
],
419
+
"default": "ui",
420
+
"markdownDescription": "How **Interactive Rebase** opens: the built-in GUI editor (`ui`), or the classic `git rebase -i` flow in the integrated terminal (`classic`), which uses your configured Git editor (e.g. vim, nano, `code --wait`)."
0 commit comments