35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import packageJSON from './base.package.json';
|
|
|
|
const languages: {
|
|
id: string;
|
|
sourceScope: string;
|
|
aliases?: string[];
|
|
}[] = [
|
|
{id: 'javascript', sourceScope: 'source.js'},
|
|
{id: 'typescript', sourceScope: 'source.ts'},
|
|
{id: 'javascriptreact', sourceScope: 'source.js.jsx'},
|
|
{id: 'typescriptreact', sourceScope: 'source.tsx'},
|
|
{id: 'json', sourceScope: 'source.json'},
|
|
{id: 'jsonc', sourceScope: 'source.json.comments'},
|
|
{id: 'jsonl', sourceScope: 'source.json.lines'},
|
|
{id: 'shellscript', sourceScope: 'source.shell'},
|
|
{id: 'rust', sourceScope: 'source.rust'},
|
|
{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'},
|
|
{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}`,
|
|
}));
|