mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-23 20:47:25 -08:00
feature: add ${branch_name} option to commit templates (#589)
This commit is contained in:
parent
6dac26d525
commit
a8a7775b83
3 changed files with 8 additions and 4 deletions
|
@ -4,6 +4,7 @@ using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
using CommunityToolkit.Mvvm.ComponentModel;
|
using CommunityToolkit.Mvvm.ComponentModel;
|
||||||
|
using SourceGit.ViewModels;
|
||||||
|
|
||||||
namespace SourceGit.Models
|
namespace SourceGit.Models
|
||||||
{
|
{
|
||||||
|
@ -24,9 +25,12 @@ namespace SourceGit.Models
|
||||||
set => SetProperty(ref _content, value);
|
set => SetProperty(ref _content, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Apply(List<Change> changes)
|
public string Apply(Repository repo, List<Change> changes)
|
||||||
{
|
{
|
||||||
var content = _content.Replace("${files_num}", $"{changes.Count}");
|
var content = _content
|
||||||
|
.Replace("${files_num}", $"{changes.Count}")
|
||||||
|
.Replace("${branch_name}", repo.CurrentBranch.Name);
|
||||||
|
|
||||||
var matches = REG_COMMIT_TEMPLATE_FILES().Matches(content);
|
var matches = REG_COMMIT_TEMPLATE_FILES().Matches(content);
|
||||||
if (matches.Count == 0)
|
if (matches.Count == 0)
|
||||||
return content;
|
return content;
|
||||||
|
|
|
@ -1152,7 +1152,7 @@ namespace SourceGit.ViewModels
|
||||||
item.Icon = App.CreateMenuIcon("Icons.Code");
|
item.Icon = App.CreateMenuIcon("Icons.Code");
|
||||||
item.Click += (_, e) =>
|
item.Click += (_, e) =>
|
||||||
{
|
{
|
||||||
CommitMessage = template.Apply(_staged);
|
CommitMessage = template.Apply(_repo, _staged);
|
||||||
e.Handled = true;
|
e.Handled = true;
|
||||||
};
|
};
|
||||||
menu.Items.Add(item);
|
menu.Items.Add(item);
|
||||||
|
|
|
@ -227,7 +227,7 @@
|
||||||
<TextBlock Margin="0,12,0,0" Text="{DynamicResource Text.Configure.CommitMessageTemplate.Content}"/>
|
<TextBlock Margin="0,12,0,0" Text="{DynamicResource Text.Configure.CommitMessageTemplate.Content}"/>
|
||||||
<v:CommitMessageTextBox Margin="0,4,0,0" Height="100" Text="{Binding Content, Mode=TwoWay}"/>
|
<v:CommitMessageTextBox Margin="0,4,0,0" Height="100" Text="{Binding Content, Mode=TwoWay}"/>
|
||||||
<TextBlock Margin="0,2,0,0"
|
<TextBlock Margin="0,2,0,0"
|
||||||
Text="You can use ${files_num}, ${files} and ${files:N} where N is the max number of file paths to output."
|
Text="You can use ${files_num}, ${branch_name}, ${files} and ${files:N} where N is the max number of file paths to output."
|
||||||
Foreground="{DynamicResource Brush.FG2}"
|
Foreground="{DynamicResource Brush.FG2}"
|
||||||
TextWrapping="Wrap"/>
|
TextWrapping="Wrap"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
Loading…
Reference in a new issue