Skip to content

Commit d55f195

Browse files
authored
fix: issue tracker rule over keyword in subject (#1403)
Some teams use issue tracker numbers in front of the commit message subject, followed by a colon. It was not possible to use an issue tracker rule in such cases, since the issue tracker number would be interpreted as a keyword due to the colon and therefore displayed in bold face instead of as a link into the issue tracker.
1 parent a22c395 commit d55f195

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/Views/CommitSubjectPresenter.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,11 +151,15 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang
151151
return;
152152
}
153153

154+
var rules = IssueTrackerRules ?? [];
155+
foreach (var rule in rules)
156+
rule.Matches(_elements, subject);
157+
154158
var keywordMatch = REG_KEYWORD_FORMAT1().Match(subject);
155159
if (!keywordMatch.Success)
156160
keywordMatch = REG_KEYWORD_FORMAT2().Match(subject);
157161

158-
if (keywordMatch.Success)
162+
if (keywordMatch.Success && _elements.Intersect(0, keywordMatch.Length) == null)
159163
_elements.Add(new Models.InlineElement(Models.InlineElementType.Keyword, 0, keywordMatch.Length, string.Empty));
160164

161165
var codeMatches = REG_INLINECODE_FORMAT().Matches(subject);
@@ -173,10 +177,6 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang
173177
_elements.Add(new Models.InlineElement(Models.InlineElementType.Code, start, len, string.Empty));
174178
}
175179

176-
var rules = IssueTrackerRules ?? [];
177-
foreach (var rule in rules)
178-
rule.Matches(_elements, subject);
179-
180180
_elements.Sort();
181181
_needRebuildInlines = true;
182182
InvalidateVisual();

0 commit comments

Comments
 (0)