import type { ServiceApiContract } from "@ethicdevs/react-monolith";
import type { LanguageDetectFn } from "../../types";
export interface LinguistFileInfos {
color: string;
extensions: string[];
filenames?: string[];
group?: string;
language: string;
languageDisplayName: string;
languageId: number;
mimeType: string;
type: string;
}
export interface CodeAnalysisServiceAPI extends ServiceApiContract {
getLinguistFileInfos(
path: string,
content?: string
): Promise<LinguistFileInfos>;
}
export interface CodeAnalysisServiceDeps {
languageDetect: LanguageDetectFn;
languagesMap: {
[languageName: string]: {
aceMode: string;
aliases?: string[];
color?: string;
codemirrorMode?: string;
codemirrorMimeType?: string;
extensions?: string[];
filenames?: string[];
group?: string;
interpreters?: string[];
languageId: number;
tmScope: string;
type: string;
wrap?: boolean;
};
};
}