ifc-language-server/node_modules/graphemer/lib/Graphemer.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

41 lines
No EOL
1.4 KiB
TypeScript

import GraphemerIterator from './GraphemerIterator';
export default class Graphemer {
/**
* Returns the next grapheme break in the string after the given index
* @param string {string}
* @param index {number}
* @returns {number}
*/
static nextBreak(string: string, index: number): number;
/**
* Breaks the given string into an array of grapheme clusters
* @param str {string}
* @returns {string[]}
*/
splitGraphemes(str: string): string[];
/**
* Returns an iterator of grapheme clusters in the given string
* @param str {string}
* @returns {GraphemerIterator}
*/
iterateGraphemes(str: string): GraphemerIterator;
/**
* Returns the number of grapheme clusters in the given string
* @param str {string}
* @returns {number}
*/
countGraphemes(str: string): number;
/**
* Given a Unicode code point, determines this symbol's grapheme break property
* @param code {number} Unicode code point
* @returns {number}
*/
static getGraphemeBreakProperty(code: number): number;
/**
* Given a Unicode code point, returns if symbol is an extended pictographic or some other break
* @param code {number} Unicode code point
* @returns {number}
*/
static getEmojiProperty(code: number): number;
}
//# sourceMappingURL=Graphemer.d.ts.map