ifc-language-server/server/node_modules/vscode-jsonrpc/lib/common/cancellation.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

32 lines
1 KiB
TypeScript

import { Event } from './events';
import { Disposable } from './disposable';
/**
* Defines a CancellationToken. This interface is not
* intended to be implemented. A CancellationToken must
* be created via a CancellationTokenSource.
*/
export interface CancellationToken {
/**
* Is `true` when the token has been cancelled, `false` otherwise.
*/
readonly isCancellationRequested: boolean;
/**
* An {@link Event event} which fires upon cancellation.
*/
readonly onCancellationRequested: Event<any>;
}
export declare namespace CancellationToken {
const None: CancellationToken;
const Cancelled: CancellationToken;
function is(value: any): value is CancellationToken;
}
export interface AbstractCancellationTokenSource extends Disposable {
token: CancellationToken;
cancel(): void;
}
export declare class CancellationTokenSource implements AbstractCancellationTokenSource {
private _token;
get token(): CancellationToken;
cancel(): void;
dispose(): void;
}