@gluonjs/language-server / packages/language-server/src / GluonProtocolServer
Class: GluonProtocolServer
Constructors
Constructor
new GluonProtocolServer():
GluonProtocolServer
Returns
GluonProtocolServer
Properties
service
readonlyservice:GluonLanguageService
Methods
handle()
handle(
message): readonlyJsonRpcResponse[]
Parameters
message
Returns
readonly JsonRpcResponse[]
Example
Dispatch JSON-RPC/LSP lifecycle and text-document messages through an owned language service and return responses plus diagnostic notifications:
import { GluonProtocolServer, type JsonRpcRequest, type JsonRpcResponse } from '@gluonjs/language-server';
const server = new GluonProtocolServer();
const initialize = { jsonrpc: '2.0', id: 1, method: 'initialize', params: {} } satisfies JsonRpcRequest;
const responses: readonly JsonRpcResponse[] = server.handle(initialize);
const open = {
jsonrpc: '2.0',
method: 'textDocument/didOpen',
params: { textDocument: { uri: 'file:///src/app.ts', text: `import { html } from '@gluonjs/core'; const view = html\`<img>text</img>\`;` } },
} satisfies JsonRpcRequest;
const notifications = server.handle(open);
console.log(responses[0]?.result, notifications[0]?.method, notifications[0]?.params);