diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-01-31 17:08:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-31 10:08:05 +0100 |
commit | 36dc11869d0401b796a7a3f74627fec842a4a89a (patch) | |
tree | 8e01a953049ee155eae96bff8c17533f8815e520 | |
parent | f47ea60c075ddc09d39bc7817efc7c4d870dcd19 (diff) | |
download | gitea-36dc11869d0401b796a7a3f74627fec842a4a89a.tar.gz gitea-36dc11869d0401b796a7a3f74627fec842a4a89a.zip |
Use correct captured group range when parsing cross-reference (#22672)
Fixes #22666 (Replace #22668)
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: zeripath <art27@cantab.net>
-rw-r--r-- | modules/references/references.go | 6 | ||||
-rw-r--r-- | modules/references/references_test.go | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/modules/references/references.go b/modules/references/references.go index 1022e5af3d..68662425cc 100644 --- a/modules/references/references.go +++ b/modules/references/references.go @@ -35,12 +35,12 @@ var ( // issueAlphanumericPattern matches string that references to an alphanumeric issue, e.g. ABC-1234 issueAlphanumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([A-Z]{1,10}-[1-9][0-9]*)(?:\s|$|\)|\]|:|\.(\s|$))`) // crossReferenceIssueNumericPattern matches string that references a numeric issue in a different repository - // e.g. gogits/gogs#12345 + // e.g. org/repo#12345 crossReferenceIssueNumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([0-9a-zA-Z-_\.]+/[0-9a-zA-Z-_\.]+[#!][0-9]+)(?:\s|$|\)|\]|[:;,.?!]\s|[:;,.?!]$)`) // crossReferenceCommitPattern matches a string that references a commit in a different repository // e.g. go-gitea/gitea@d8a994ef, go-gitea/gitea@d8a994ef243349f321568f9e36d5c3f444b99cae (7-40 characters) crossReferenceCommitPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([0-9a-zA-Z-_\.]+)/([0-9a-zA-Z-_\.]+)@([0-9a-f]{7,40})(?:\s|$|\)|\]|[:;,.?!]\s|[:;,.?!]$)`) - // spaceTrimmedPattern let's us find the trailing space + // spaceTrimmedPattern let's find the trailing space spaceTrimmedPattern = regexp.MustCompile(`(?:.*[0-9a-zA-Z-_])\s`) // timeLogPattern matches string for time tracking timeLogPattern = regexp.MustCompile(`(?:\s|^|\(|\[)(@([0-9]+([\.,][0-9]+)?(w|d|m|h))+)(?:\s|$|\)|\]|[:;,.?!]\s|[:;,.?!]$)`) @@ -365,7 +365,7 @@ func FindRenderizableCommitCrossReference(content string) (bool, *RenderizableRe Owner: content[m[2]:m[3]], Name: content[m[4]:m[5]], CommitSha: content[m[6]:m[7]], - RefLocation: &RefSpan{Start: m[0], End: m[1]}, + RefLocation: &RefSpan{Start: m[2], End: m[7]}, } } diff --git a/modules/references/references_test.go b/modules/references/references_test.go index 1159e14b37..75e002c99a 100644 --- a/modules/references/references_test.go +++ b/modules/references/references_test.go @@ -352,7 +352,7 @@ func TestFindRenderizableCommitCrossReference(t *testing.T) { Owner: "go-gitea", Name: "gitea", CommitSha: "abcd1234", - RefLocation: &RefSpan{Start: 4, End: 29}, + RefLocation: &RefSpan{Start: 5, End: 28}, }, }, } |