package som.langserv;

import java.util.function.Consumer;

import io.typefox.lsapi.MessageParams;
import io.typefox.lsapi.ShowMessageRequestParams;
import io.typefox.lsapi.services.WindowService;


public class SomWindow implements WindowService {

  @Override
  public void onShowMessage(final Consumer<MessageParams> callback) {
    // TODO Auto-generated method stub
  }

  @Override
  public void onShowMessageRequest(final Consumer<ShowMessageRequestParams> callback) {
    // TODO Auto-generated method stub
  }

  @Override
  public void onLogMessage(final Consumer<MessageParams> callback) {
    // TODO Auto-generated method stub
  }
}

@@ -243,16 +243,178 @@
 vice %7B%0A%0A
+  private Consumer%3CMessageParams%3E showCallback;%0A  private Consumer%3CMessageParams%3E logCallback;%0A  private Consumer%3CShowMessageRequestParams%3E showRequestCallback;%0A%0A
   @Overr
@@ -409,32 +409,32 @@
 k;%0A%0A  @Override%0A
-
   public void on
@@ -495,42 +495,37 @@
     
-// TODO Auto-generated method stub
+this.showCallback = callback;
 %0A  %7D
@@ -634,42 +634,44 @@
     
-// TODO Auto-generated method stub
+this.showRequestCallback = callback;
 %0A  %7D
@@ -761,42 +761,451 @@
     
-// TODO Auto-generated method stub
+this.logCallback = callback;%0A  %7D%0A%0A  public void show(final MessageParams msg) %7B%0A    if (showCallback == null) %7B%0A      ServerLauncher.logErr(%22%5BSomWindow%5D showCallback == null on show(.)%22);%0A      return;%0A    %7D%0A%0A    showCallback.accept(msg);%0A  %7D%0A%0A  public void log(final MessageParams msg) %7B%0A    if (logCallback == null) %7B%0A      ServerLauncher.logErr(%22%5BSomWindow%5D logCallback == null on log(.)%22);%0A      return;%0A    %7D%0A%0A    logCallback.accept(msg);
 %0A  %7D

Implement sending of UI messages and logs to IDE