diff --git a/kugetsu b/kugetsu index 817880c..2b123ee 100755 --- a/kugetsu +++ b/kugetsu @@ -610,12 +610,11 @@ extract_issue_ref_from_message() { local message="$1" if echo "$message" | grep -qE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+'; then - echo "$message" | grep -oE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+' | while read -r url; do - local instance=$(echo "$url" | grep -oE 'https?://[^/]+' | sed 's|https?://||') - local path=$(echo "$url" | grep -oE '/[^/]+/[^/]+') - local issue_num=$(echo "$url" | grep -oE '[0-9]+$') - echo "${instance}${path}#${issue_num}" - done + local url=$(echo "$message" | grep -oE 'https?://[^/]+/[^/]+/[^/]+/issues/[0-9]+' | head -1) + local instance=$(echo "$url" | sed -E 's|https?://([^/]+)/.*|\1|') + local path=$(echo "$url" | grep -oE '/[^/]+/[^/]+' | sed 's/^\///') + local issue_num=$(echo "$url" | grep -oE '[0-9]+$') + echo "${instance}/${path}#${issue_num}" return fi @@ -624,7 +623,7 @@ extract_issue_ref_from_message() { return fi - if echo "$message" | grep -qE '#[0-9]+'; then + if echo "$message" | grep -qE '#[0-9]+\s'; then local num=$(echo "$message" | grep -oE '#[0-9]+' | head -1) if [ -f "$REPOS_CONFIG" ]; then local first_repo=$(python3 -c "import json; d=json.load(open('$REPOS_CONFIG')); print(list(d.values())[0] if d else '')" 2>/dev/null || echo "") @@ -634,8 +633,6 @@ extract_issue_ref_from_message() { return fi fi - echo "github.com/unknown/repo${num}" - return fi echo "" @@ -653,7 +650,7 @@ cmd_delegate() { local issue_ref=$(extract_issue_ref_from_message "$message") - if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ \#[0-9]+$ ]]; then + if [ -n "$issue_ref" ] && [[ "$issue_ref" =~ #[0-9]+$ ]]; then cmd_start "$issue_ref" "$message" return fi