diff --git a/daemon/language.go b/daemon/language.go index 184957c..3d0938c 100644 --- a/daemon/language.go +++ b/daemon/language.go @@ -14,7 +14,14 @@ func GetLanguage(filename string, content []byte) string { return lang } - lang = strings.ToLower(lang) + return normalize(lang) +} + +// normalize maps enry language names to the bblfsh ones. +// TODO(bzz): remove this as soon as language aliases are supported in bblfsh +// driver manifest. +func normalize(languageName string) string { + lang := strings.ToLower(languageName) lang = strings.Replace(lang, " ", "-", -1) lang = strings.Replace(lang, "+", "p", -1) lang = strings.Replace(lang, "#", "sharp", -1) diff --git a/daemon/service.go b/daemon/service.go index f033046..48b479b 100644 --- a/daemon/service.go +++ b/daemon/service.go @@ -102,6 +102,8 @@ func (s *ServiceV2) selectPool(rctx context.Context, language, content, filename return "", nil, err } language = lang + } else { // always re-map enry->bblfsh language names + language = normalize(language) } dp, err := s.daemon.DriverPool(ctx, language) @@ -225,6 +227,8 @@ func (s *Service) selectPool(ctx context.Context, language, content, filename st return language, nil, ErrLanguageDetection.New() } logrus.Debugf("detected language %q, filename %q", language, filename) + } else { // always re-map enry->bblfsh language names + language = normalize(language) } dp, err := s.daemon.DriverPool(ctx, language)