import { URI } from '../vs/base/common/uri'; /** * Interface for writing single-line comments in a given language. * Does not include the terminal new-line character (i.e. for many languages, * `end` will just be the empty string). */ interface CommentMarker { readonly start: string; readonly end?: string; } /** * A tuple of two characters, like a pair of * opening and closing brackets. */ export type CharacterPair = [string, string]; export interface ILanguageInfo { readonly aliases?: string[]; readonly extensions?: string[]; readonly lineComment: CommentMarker; /** * The block comment character pair, like `/* block comment */` */ readonly blockComment?: CharacterPair; readonly alternativeLineComments?: CommentMarker[]; readonly markdownLanguageIds?: string[]; } export interface ILanguage extends ILanguageInfo { readonly languageId: string; } /** * Well known language [from VSCode](https://code.visualstudio.com/docs/languages/identifiers#_known-language-identifiers) * Markdown ids from https://raw.githubusercontent.com/highlightjs/highlight.js/refs/heads/main/SUPPORTED_LANGUAGES.md */ declare const languages: Readonly<{ abap: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; bat: { lineComment: { start: string; }; alternativeLineComments: { start: string; }[]; aliases: string[]; extensions: string[]; }; bibtex: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; }; blade: { lineComment: { start: string; }; }; c: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; clojure: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; coffeescript: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; cpp: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; csharp: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; css: { lineComment: { start: string; end: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; dart: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; dockerfile: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; elixir: { lineComment: { start: string; }; }; erb: { lineComment: { start: string; end: string; }; }; erlang: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; fsharp: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; go: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; groovy: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; haml: { lineComment: { start: string; }; }; handlebars: { lineComment: { start: string; end: string; }; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; haskell: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; html: { lineComment: { start: string; end: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; ini: { lineComment: { start: string; }; blockComment: [string, string]; }; java: { lineComment: { start: string; }; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; javascript: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; javascriptreact: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; json: { extensions: string[]; lineComment: { start: string; }; blockComment: [string, string]; }; jsonc: { lineComment: { start: string; }; }; jsx: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; julia: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; kotlin: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; latex: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; less: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; lua: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; makefile: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; markdown: { lineComment: { start: string; end: string; }; alternativeLineComments: { start: string; }[]; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; 'objective-c': { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; 'objective-cpp': { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; perl: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; php: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; powershell: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; pug: { lineComment: { start: string; }; }; python: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; ql: { lineComment: { start: string; }; }; r: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; }; razor: { lineComment: { start: string; end: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; ruby: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; rust: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; sass: { lineComment: { start: string; }; }; scala: { lineComment: { start: string; }; }; scss: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; shellscript: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; slim: { lineComment: { start: string; }; }; solidity: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; sql: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; stylus: { lineComment: { start: string; }; }; svelte: { lineComment: { start: string; end: string; }; }; swift: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; terraform: { lineComment: { start: string; }; }; tex: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; }; typescript: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; typescriptreact: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; blockComment: [string, string]; }; vb: { lineComment: { start: string; }; aliases: string[]; extensions: string[]; markdownLanguageIds: string[]; }; verilog: { lineComment: { start: string; }; }; 'vue-html': { lineComment: { start: string; end: string; }; }; vue: { lineComment: { start: string; }; extensions: string[]; }; xml: { lineComment: { start: string; end: string; }; aliases: string[]; extensions: string[]; blockComment: [string, string]; }; xsl: { lineComment: { start: string; end: string; }; aliases: string[]; extensions: string[]; }; yaml: { lineComment: { start: string; }; markdownLanguageIds: string[]; }; }>; export type WellKnownLanguageId = keyof typeof languages; export declare const wellKnownLanguages: Map; export declare function getLanguage(languageId: string | undefined): ILanguage; export declare function getLanguage(document: { languageId: string; } | undefined): ILanguage; export declare function getLanguageForResource(uri: URI): ILanguage; export {}; //# sourceMappingURL=languages.d.ts.map