36 lines
1.4 KiB
TypeScript
36 lines
1.4 KiB
TypeScript
import packageJSON from './base.package.json';
|
|
|
|
const languages: {
|
|
id: string;
|
|
sourceScope: string;
|
|
aliases?: string[];
|
|
}[] = [
|
|
// TODO: sort this
|
|
{id: 'javascript', sourceScope: 'source.js', aliases: ['js']},
|
|
{id: 'typescript', sourceScope: 'source.ts', aliases: ['ts']},
|
|
{id: 'javascriptreact', sourceScope: 'source.js.jsx', aliases: ['jsx']},
|
|
{id: 'typescriptreact', sourceScope: 'source.tsx', aliases: ['tsx']},
|
|
{id: 'json', sourceScope: 'source.json'},
|
|
{id: 'jsonc', sourceScope: 'source.json.comments'},
|
|
{id: 'jsonl', sourceScope: 'source.json.lines'},
|
|
{id: 'shellscript', sourceScope: 'source.shell', aliases: ['sh']},
|
|
{id: 'rust', sourceScope: 'source.rust', aliases: ['rs']},
|
|
{id: 'css', sourceScope: 'source.css'},
|
|
{id: 'scss', sourceScope: 'source.css.scss'},
|
|
{id: 'less', sourceScope: 'source.css.less'},
|
|
{id: 'html', sourceScope: 'text.html.derivative'},
|
|
{id: 'sql', sourceScope: 'source.sql'},
|
|
{id: 'markdown', sourceScope: 'text.html.markdown', aliases: ['md']},
|
|
{id: 'xml', sourceScope: 'text.xml'},
|
|
{id: 'yaml', sourceScope: 'source.yaml'},
|
|
];
|
|
|
|
export default languages.map(language => ({
|
|
id: language.id,
|
|
tags: [language.id, ...(language.aliases ?? [])],
|
|
sourceScope: language.sourceScope,
|
|
embedScopeInline: `meta.embedded.inline.${language.id}`,
|
|
embedScopeBlock: `meta.embedded.block.${language.id}`,
|
|
injectionScope: `${packageJSON.name}.injection.${language.id}`,
|
|
}));
|