- 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."
19 lines
817 B
TypeScript
19 lines
817 B
TypeScript
import { Task } from '../managers/tasks';
|
|
import Settings from '../settings';
|
|
import { MicromatchOptions, ReaderOptions } from '../types';
|
|
import DeepFilter from './filters/deep';
|
|
import EntryFilter from './filters/entry';
|
|
import ErrorFilter from './filters/error';
|
|
import EntryTransformer from './transformers/entry';
|
|
export default abstract class Provider<T> {
|
|
protected readonly _settings: Settings;
|
|
readonly errorFilter: ErrorFilter;
|
|
readonly entryFilter: EntryFilter;
|
|
readonly deepFilter: DeepFilter;
|
|
readonly entryTransformer: EntryTransformer;
|
|
constructor(_settings: Settings);
|
|
abstract read(_task: Task): T;
|
|
protected _getRootDirectory(task: Task): string;
|
|
protected _getReaderOptions(task: Task): ReaderOptions;
|
|
protected _getMicromatchOptions(): MicromatchOptions;
|
|
}
|