about summary refs log tree commit diff stats
path: root/worker/worker.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/worker.go')
-rw-r--r--worker/worker.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/worker/worker.go b/worker/worker.go
index 2a43083..7db7be5 100644
--- a/worker/worker.go
+++ b/worker/worker.go
@@ -7,6 +7,7 @@ import (
 	"fmt"
 	"log"
 	"net/url"
+	"strings"
 )
 
 // Guesses the appropriate worker type based on the given source string
@@ -16,7 +17,12 @@ func NewWorker(source string, logger *log.Logger) (*types.Worker, error) {
 		return nil, err
 	}
 	worker := types.NewWorker(logger)
-	switch u.Scheme {
+	scheme := u.Scheme
+	if strings.ContainsRune(scheme, '+') {
+		scheme = scheme[:strings.IndexRune(scheme, '+')]
+		fmt.Println(scheme)
+	}
+	switch scheme {
 	case "imap":
 		fallthrough
 	case "imaps":