ifc-language-server/node_modules/eslint/lib/shared/stats.js
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

30 lines
638 B
JavaScript

/**
* @fileoverview Provides helper functions to start/stop the time measurements
* that are provided by the ESLint 'stats' option.
* @author Mara Kiefer <http://github.com/mnkiefer>
*/
"use strict";
/**
* Start time measurement
* @returns {[number, number]} t variable for tracking time
*/
function startTime() {
return process.hrtime();
}
/**
* End time measurement
* @param {[number, number]} t Variable for tracking time
* @returns {number} The measured time in milliseconds
*/
function endTime(t) {
const time = process.hrtime(t);
return time[0] * 1e3 + time[1] / 1e6;
}
module.exports = {
startTime,
endTime,
};