async getClassifications()

in package/src/languageServiceManager/kustoLanguageService.ts [765:782]


    async getClassifications(document: TextDocument): Promise<ClassificationRange[]> {
        const codeScript = this.parseDocumentV2(document);
        const codeBlocks = this.toArray<k2.CodeBlock>(codeScript.Blocks);
        const classificationRanges = codeBlocks.map((block) => {
            const { Classifications } = block.Service.GetClassifications(block.Start, block.Length);
            return this.toArray<k2.ClassifiedRange>(Classifications);
        });

        return classificationRanges.flatMap((ranges) => {
            return ranges.map((range) => {
                const { line, character } = document.positionAt(range.Start);
                const length = range.Length;
                const kind = range.Kind;

                return { line, character, length, kind };
            });
        });
    }