- 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."
25 lines
649 B
JavaScript
25 lines
649 B
JavaScript
var WritableStream = require('stream').Writable
|
|
var inherits = require('util').inherits
|
|
|
|
module.exports = BrowserStdout
|
|
|
|
|
|
inherits(BrowserStdout, WritableStream)
|
|
|
|
function BrowserStdout(opts) {
|
|
if (!(this instanceof BrowserStdout)) return new BrowserStdout(opts)
|
|
|
|
opts = opts || {}
|
|
WritableStream.call(this, opts)
|
|
this.label = (opts.label !== undefined) ? opts.label : 'stdout'
|
|
}
|
|
|
|
BrowserStdout.prototype._write = function(chunks, encoding, cb) {
|
|
var output = chunks.toString ? chunks.toString() : chunks
|
|
if (this.label === false) {
|
|
console.log(output)
|
|
} else {
|
|
console.log(this.label+':', output)
|
|
}
|
|
process.nextTick(cb)
|
|
}
|