ifc-language-server/server/node_modules/vscode-jsonrpc/lib/common/messageBuffer.d.ts
Ryan Schultz 8afacf268a Implemented a working Language Server Protocol (LSP) for IFC files with:
- Hover provider showing entity information and type
- Go-to-definition (F12) for entity references
- Basic IFC file validation (ISO-10303-21 header check)
- Entity parsing with regex-based detection
- Proper CommonJS module system (avoiding ES module issues)

This replaces the broken baseline from ifc-developer-tools which had:
- Non-functional ES module configuration
- Circular dependency issues
- Parser crashes
- Non-working PositionVisitor

Built on Microsoft's LSP example template for a clean, maintainable foundation.

Next: Add hierarchical entity dependency tree in hover tooltip."
2025-12-07 10:20:07 -06:00

18 lines
907 B
TypeScript

import RAL from './ral';
export declare abstract class AbstractMessageBuffer implements RAL.MessageBuffer {
private _encoding;
private _chunks;
private _totalLength;
constructor(encoding?: RAL.MessageBufferEncoding);
protected abstract emptyBuffer(): Uint8Array;
protected abstract fromString(value: string, encoding: RAL.MessageBufferEncoding): Uint8Array;
protected abstract toString(value: Uint8Array, encoding: RAL.MessageBufferEncoding): string;
protected abstract asNative(buffer: Uint8Array, length?: number): Uint8Array;
protected abstract allocNative(length: number): Uint8Array;
get encoding(): RAL.MessageBufferEncoding;
append(chunk: Uint8Array | string): void;
tryReadHeaders(lowerCaseKeys?: boolean): Map<string, string> | undefined;
tryReadBody(length: number): Uint8Array | undefined;
get numberOfBytes(): number;
private _read;
}