ifc-language-server/server/node_modules/vscode-languageserver/lib/node/main.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

61 lines
4 KiB
TypeScript

/// <reference path="../../typings/thenable.d.ts" />
/// <reference types="node" />
import { Connection, _, _Connection, Features } from '../common/server';
import * as fm from './files';
import { ConnectionStrategy, ConnectionOptions, MessageReader, MessageWriter } from 'vscode-languageserver-protocol/node';
export * from 'vscode-languageserver-protocol/node';
export * from '../common/api';
export declare namespace Files {
let uriToFilePath: typeof fm.uriToFilePath;
let resolveGlobalNodePath: typeof fm.resolveGlobalNodePath;
let resolveGlobalYarnPath: typeof fm.resolveGlobalYarnPath;
let resolve: typeof fm.resolve;
let resolveModulePath: typeof fm.resolveModulePath;
}
/**
* Creates a new connection based on the processes command line arguments:
*
* @param options An optional connection strategy or connection options to control additional settings
*/
export declare function createConnection(options?: ConnectionStrategy | ConnectionOptions): Connection;
/**
* Creates a new connection using a the given streams.
*
* @param inputStream The stream to read messages from.
* @param outputStream The stream to write messages to.
* @param options An optional connection strategy or connection options to control additional settings
* @return A {@link Connection connection}
*/
export declare function createConnection(inputStream: NodeJS.ReadableStream, outputStream: NodeJS.WritableStream, options?: ConnectionStrategy | ConnectionOptions): Connection;
/**
* Creates a new connection.
*
* @param reader The message reader to read messages from.
* @param writer The message writer to write message to.
* @param options An optional connection strategy or connection options to control additional settings
*/
export declare function createConnection(reader: MessageReader, writer: MessageWriter, options?: ConnectionStrategy | ConnectionOptions): Connection;
/**
* Creates a new connection based on the processes command line arguments. The new connection surfaces proposed API
*
* @param factories: the factories to use to implement the proposed API
* @param options An optional connection strategy or connection options to control additional settings
*/
export declare function createConnection<PConsole = _, PTracer = _, PTelemetry = _, PClient = _, PWindow = _, PWorkspace = _, PLanguages = _, PNotebooks = _>(factories: Features<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>, options?: ConnectionStrategy | ConnectionOptions): _Connection<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>;
/**
* Creates a new connection using a the given streams.
*
* @param inputStream The stream to read messages from.
* @param outputStream The stream to write messages to.
* @param options An optional connection strategy or connection options to control additional settings
* @return A {@link Connection connection}
*/
export declare function createConnection<PConsole = _, PTracer = _, PTelemetry = _, PClient = _, PWindow = _, PWorkspace = _, PLanguages = _, PNotebooks = _>(factories: Features<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>, inputStream: NodeJS.ReadableStream, outputStream: NodeJS.WritableStream, options?: ConnectionStrategy | ConnectionOptions): _Connection<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>;
/**
* Creates a new connection.
*
* @param reader The message reader to read messages from.
* @param writer The message writer to write message to.
* @param options An optional connection strategy or connection options to control additional settings
*/
export declare function createConnection<PConsole = _, PTracer = _, PTelemetry = _, PClient = _, PWindow = _, PWorkspace = _, PLanguages = _, PNotebooks = _>(factories: Features<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>, reader: MessageReader, writer: MessageWriter, options?: ConnectionStrategy | ConnectionOptions): _Connection<PConsole, PTracer, PTelemetry, PClient, PWindow, PWorkspace, PLanguages, PNotebooks>;