Skip to content

@gluonjs/core / packages/language-server/src / GluonProtocolServer

Class: GluonProtocolServer ​

Constructors ​

Constructor ​

new GluonProtocolServer(): GluonProtocolServer

Returns ​

GluonProtocolServer

Properties ​

service ​

readonly service: GluonLanguageService

Methods ​

handle() ​

handle(message): readonly JsonRpcResponse[]

Parameters ​

message ​

JsonRpcRequest

Returns ​

readonly JsonRpcResponse[]

Example ​

Dispatch JSON-RPC/LSP lifecycle and text-document messages through an owned language service and return responses plus diagnostic notifications:

ts
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);

Version-matched documentation. Examples are checked against the public package contracts.