func readAddBlack(s *toki.Scanner, table *tbl.Table) error { prefix_pat := "" sub_pat := "" regex_pat := "" t := s.Next() if t.Token != word { return errFmtAddBlack } method := string(t.Value) switch method { case "prefix": if t = s.Next(); t.Token != word { return errFmtAddBlack } prefix_pat = string(t.Value) case "sub": if t = s.Next(); t.Token != word { return errFmtAddBlack } sub_pat = string(t.Value) case "regex": if t = s.Next(); t.Token != word { return errFmtAddBlack } regex_pat = string(t.Value) default: return errFmtAddBlack } m, err := matcher.New(prefix_pat, sub_pat, regex_pat) if err != nil { return err } table.AddBlacklist(m) return nil }