Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/editor/common/services/treeSitter/treeSitterLibraryService.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import type { Language, Parser, Query } from '@vscode/tree-sitter-wasm';
7
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
8
import { IReader } from '../../../../base/common/observable.js';
9
10
export const ITreeSitterLibraryService = createDecorator<ITreeSitterLibraryService>('treeSitterLibraryService');
11
12
export interface ITreeSitterLibraryService {
13
readonly _serviceBrand: undefined;
14
15
getParserClass(): Promise<typeof Parser>;
16
17
supportsLanguage(languageId: string, reader: IReader | undefined): boolean;
18
getLanguage(languageId: string, reader: IReader | undefined): Language | undefined;
19
/**
20
* Return value of null indicates that there are no injection queries for this language.
21
* @param languageId
22
* @param reader
23
*/
24
getInjectionQueries(languageId: string, reader: IReader | undefined): Query | null | undefined;
25
/**
26
* Return value of null indicates that there are no highlights queries for this language.
27
* @param languageId
28
* @param reader
29
*/
30
getHighlightingQueries(languageId: string, reader: IReader | undefined): Query | null | undefined;
31
}
32
33