ifc-language-server/node_modules/get-caller-file
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
..
index.d.ts Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
index.js Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
index.js.map Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
LICENSE.md Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
package.json Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00
README.md Implemented a working Language Server Protocol (LSP) for IFC files with: 2025-12-07 10:20:07 -06:00

get-caller-file

Build Status Build status

This is a utility, which allows a function to figure out from which file it was invoked. It does so by inspecting v8's stack trace at the time it is invoked.

Inspired by http://stackoverflow.com/questions/13227489

note: this relies on Node/V8 specific APIs, as such other runtimes may not work

Installation

yarn add get-caller-file

Usage

Given:

// ./foo.js
const getCallerFile = require('get-caller-file');

module.exports = function() {
  return getCallerFile(); // figures out who called it
};
// index.js
const foo = require('./foo');

foo() // => /full/path/to/this/file/index.js

Options:

  • getCallerFile(position = 2): where position is stack frame whos fileName we want.