Avoid recompiling regex inside a loop

This commit is contained in:
Mislav Marohnić 2014-07-27 23:21:33 -07:00
Родитель 9dfc626a20
Коммит 2da1ed5fd8
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -61,6 +61,7 @@ func apply(command *Command, args *Args) {
func transformApplyArgs(args *Args) {
urlRegexp := regexp.MustCompile("^https?://(gist\\.)github\\.com/")
pullRegexp := regexp.MustCompile("^(pull|commit)/([0-9a-f]+)")
for _, arg := range args.Params {
var (
url string
@ -68,8 +69,7 @@ func transformApplyArgs(args *Args) {
)
projectURL, err := github.ParseURL(arg)
if err == nil {
pullRegexp := regexp.MustCompile("/(pull|commit)/([0-9a-f]+)")
match := pullRegexp.FindStringSubmatch(projectURL.Path)
match := pullRegexp.FindStringSubmatch(projectURL.ProjectPath())
if match != nil {
url = projectURL.Project.WebURL("", "", match[1]+"/"+match[2])
}