1:- module(language_server,[
2
3 run_stdio_language_server/0,
4 run_tcp_language_server/1,
5
6 start_tcp_language_server/1,
7 stop_tcp_language_server/1
8
9]). 10
11:- use_module(library(http/json)). 12:- use_module(library(http/json_convert)). 13:- use_module(library(socket)). 14
15:- use_module(library(log4p)). 16:- use_module(jsonrpc/connectors). 17:- use_module(methods). 18
21run_stdio_language_server :-
22 ServerName = prolog_language_server,
23 create_stdio_server(ServerName, Server),
24 debug('Starting %w on stdio',[ServerName]),
25 serve_messages(Server).
26
27run_tcp_language_server(Port) :-
28 create_tcp_server(prolog_language_server, Port,Server),
29 serve_messages(Server).
30
34start_tcp_language_server(Port) :-
35 start_jsonrpc_server(prolog_language_server, Port).
36
37stop_tcp_language_server(Port) :-
38 stop_jsonrpc_server(prolog_language_server, Port)