Fix #7982 - roo javascript completion
[roobuilder] / src / Project / Roo.vala
index 2cae18f..8863586 100644 (file)
@@ -88,20 +88,24 @@ public class Project.Roo : Project {
 
        public override Palete.LanguageClient getLanguageServer(string lang)
        {
-                 switch(lang) {
-                               case "javascript":
-                                       var ls = new Palete.LanguageClientJavascript(this);
-                                       ls.log.connect((act, msg) => {
-                                               //GLib.debug("log %s: %s", act.to_string(), msg);
-                                               BuilderApplication.showSpinnerLspLog(act,msg);
-                                       });
-                                       this.language_servers.set(lang, ls);
-                                       break;
-                                       
-                               default:
-                                       return this.language_servers.get("dummy");
-                 }
-                 return this.language_servers.get(lang);
+               if (this.language_servers.has_key(lang)) {
+                       return this.language_servers.get(lang);
+               }
+                 
+               switch(lang) {
+                       case "javascript":
+                               var ls = new Palete.LanguageClientJavascript(this);
+                               ls.log.connect((act, msg) => {
+                                       //GLib.debug("log %s: %s", act.to_string(), msg);
+                                       BuilderApplication.showSpinnerLspLog(act,msg);
+                               });
+                               this.language_servers.set(lang, ls);
+                               break;
+                               
+                       default:
+                               return this.language_servers.get("dummy");
+               }
+               return this.language_servers.get(lang);
        }
 
 }