Commit 39379a87845eae73deb76c187732563a03c00140
1 parent
8a241a1678
Move url resolving to a separate function.
This is done so that url resolving logic can be tested and to make it easier to extend it to more complex resolving rules in the future.
Showing 1 changed file with 15 additions and 4 deletions Side-by-side Diff
antigen.zsh
... | ... | @@ -45,10 +45,7 @@ antigen-bundle () { |
45 | 45 | done |
46 | 46 | |
47 | 47 | # Resolve the url. |
48 | - if [[ $url != git://* && $url != https://* && $url != /* ]]; then | |
49 | - url="${url%.git}" | |
50 | - url="https://github.com/$url.git" | |
51 | - fi | |
48 | + url="$(-antigen-resolve-bundle-url "$url")" | |
52 | 49 | |
53 | 50 | # Add it to the record. |
54 | 51 | _ANTIGEN_BUNDLE_RECORD="$_ANTIGEN_BUNDLE_RECORD\n$url $loc $btype $branch" |
... | ... | @@ -61,6 +58,20 @@ antigen-bundle () { |
61 | 58 | |
62 | 59 | } |
63 | 60 | |
61 | +-antigen-resolve-bundle-url () { | |
62 | + # Given an acceptable short/full form of a bundle's repo url, this function | |
63 | + # echoes the full form of the repo's clone url. | |
64 | + | |
65 | + local url="$1" | |
66 | + | |
67 | + if [[ $url != git://* && $url != https://* && $url != /* ]]; then | |
68 | + url="${url%.git}" | |
69 | + url="https://github.com/$url.git" | |
70 | + fi | |
71 | + | |
72 | + echo "$url" | |
73 | +} | |
74 | + | |
64 | 75 | antigen-bundles () { |
65 | 76 | # Bulk add many bundles at one go. Empty lines and lines starting with a `#` |
66 | 77 | # are ignored. Everything else is given to `antigen-bundle` as is, no |