From 6241882b71f6f27b4ed1ca7444756cfcff59f6bb Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 5 Mar 2026 14:36:02 +0800 Subject: [PATCH] feature: add more commands in command palette (#1937) Signed-off-by: leo --- src/Resources/Locales/en_US.axaml | 2 +- src/ViewModels/RepositoryCommandPalette.cs | 50 ++++++++++++++++++++++ src/Views/RepositoryCommandPalette.axaml | 2 +- 3 files changed, 52 insertions(+), 2 deletions(-) diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 81a8543f..85560ff6 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -309,7 +309,7 @@ Tag Name: Recommended format: v1.0.0-alpha Push to all remotes after created - Create New Tag + Create Tag Kind: annotated lightweight diff --git a/src/ViewModels/RepositoryCommandPalette.cs b/src/ViewModels/RepositoryCommandPalette.cs index b5f7d8e7..54baaf01 100644 --- a/src/ViewModels/RepositoryCommandPalette.cs +++ b/src/ViewModels/RepositoryCommandPalette.cs @@ -82,6 +82,56 @@ namespace SourceGit.ViewModels _launcher.OpenCommandPalette(sub); })); + _cmds.Add(new($"{App.Text("Repository.NewBranch")}...", "Branch.Add", () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + repo.CreateNewBranch(); + })); + + _cmds.Add(new($"{App.Text("CreateTag.Title")}...", "Tag.Add", () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + repo.CreateNewTag(); + })); + + _cmds.Add(new($"{App.Text("Fetch.Title")}...", "Fetch", async () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + await repo.FetchAsync(false); + })); + + _cmds.Add(new($"{App.Text("Pull.Title")}...", "Pull", async () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + await repo.PullAsync(false); + })); + + _cmds.Add(new($"{App.Text("Push.Title")}...", "Push", async () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + await repo.PushAsync(false); + })); + + _cmds.Add(new($"{App.Text("Stash.Title")}...", "Stashes.Add", async () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + await repo.StashAllAsync(false); + })); + + _cmds.Add(new($"{App.Text("Apply.Title")}...", "Diff", () => + { + var repo = _repo; + _launcher.CancelCommandPalette(); + repo.ApplyPatch(); + })); + + _cmds.Sort((l, r) => l.Label.CompareTo(r.Label)); _visibleCmds = _cmds; _selectedCmd = _cmds[0]; } diff --git a/src/Views/RepositoryCommandPalette.axaml b/src/Views/RepositoryCommandPalette.axaml index 7d57319b..be0f27bf 100644 --- a/src/Views/RepositoryCommandPalette.axaml +++ b/src/Views/RepositoryCommandPalette.axaml @@ -50,7 +50,7 @@