public static void main(final String[] args) { try { ServerModule _serverModule = new ServerModule(); final Injector injector = Guice.createInjector(_serverModule); final LanguageServer languageServer = injector.<LanguageServer>getInstance(LanguageServer.class); final ServerSocketChannel serverSocket = ServerSocketChannel.open(); InetSocketAddress _inetSocketAddress = new InetSocketAddress("localhost", 5007); serverSocket.bind(_inetSocketAddress); final SocketChannel socketChannel = serverSocket.accept(); InputStream _newInputStream = Channels.newInputStream(socketChannel); OutputStream _newOutputStream = Channels.newOutputStream(socketChannel); PrintWriter _printWriter = new PrintWriter(System.out); final Launcher<LanguageClient> launcher = LSPLauncher.createServerLauncher(languageServer, _newInputStream, _newOutputStream, true, _printWriter); launcher.startListening().get(); } catch (Throwable _e) { throw Exceptions.sneakyThrow(_e); } }
@Before public void setup() throws IOException { PipedInputStream inClient = new PipedInputStream(); PipedOutputStream outClient = new PipedOutputStream(); PipedInputStream inServer = new PipedInputStream(); PipedOutputStream outServer = new PipedOutputStream(); inClient.connect(outServer); outClient.connect(inServer); server = new AssertingEndpoint(); serverLauncher = LSPLauncher.createServerLauncher(ServiceEndpoints.toServiceObject(server, LanguageServer.class), inServer, outServer); serverListening = serverLauncher.startListening(); client = new AssertingEndpoint(); clientLauncher = LSPLauncher.createClientLauncher(ServiceEndpoints.toServiceObject(client, LanguageClient.class), inClient, outClient); clientListening = clientLauncher.startListening(); }
/** * Listen for requests from the parent node process. Send replies asynchronously. When the * request stream is closed, wait for 5s for all outstanding responses to compute, then return. */ public static void run(Socket connection) throws IOException { JavaLanguageServer server = new JavaLanguageServer(); Launcher<LanguageClient> launcher = LSPLauncher.createServerLauncher( server, connection.getInputStream(), connection.getOutputStream()); server.installClient(launcher.getRemoteProxy()); launcher.startListening(); LOG.info(String.format("java.version is %s", System.getProperty("java.version"))); }