diff --git a/extensions/langs/gen-langs-map.cjs b/extensions/langs/gen-langs-map.cjs index 50be84b07..c93d979f0 100644 --- a/extensions/langs/gen-langs-map.cjs +++ b/extensions/langs/gen-langs-map.cjs @@ -257,12 +257,12 @@ const sorted = Array.from(mapObj.entries()).sort((a, b) => a[0].localeCompare(b[ let out = ''; out += `// auto-generated by gen-langs-map.cjs – DO NOT EDIT\n`; out += importLines.join('\n') + (importLines.length ? '\n\n' : ''); -out += `export const langs: Record LanguageSupport | StreamLanguage> = {\n`; +out += `export const langs = {\n`; for (const [k, v] of sorted) { const key = /^[a-z0-9_+-]+$/i.test(k) ? k : JSON.stringify(k); out += ` ${JSON.stringify(k)}: ${v},\n`; } -out += `};\n\n`; +out += `} satisfies Record LanguageSupport | StreamLanguage>;\n\n`; out += `export const langNames = Object.keys(langs) as LanguageName[];\n\n`; out += `export type LanguageName = keyof typeof langs;\n`; diff --git a/www/src/pages/home/Example.tsx b/www/src/pages/home/Example.tsx index f04f8ced4..9bc17d7af 100644 --- a/www/src/pages/home/Example.tsx +++ b/www/src/pages/home/Example.tsx @@ -6,7 +6,7 @@ import { type Extension } from '@codemirror/state'; import CodeMirror, { ReactCodeMirrorProps, BasicSetupOptions } from '@uiw/react-codemirror'; import styled from 'styled-components'; import * as alls from '@uiw/codemirror-themes-all'; -import { langs } from '@uiw/codemirror-extensions-langs'; +import { langs, LanguageName } from '@uiw/codemirror-extensions-langs'; import { Select } from './Select'; import { Options } from '../extensions/basic-setup/example'; import { useTheme } from '../../utils/useTheme'; @@ -69,7 +69,7 @@ export default function Example() { crosshairCursor: false, }); - function handleLangChange(lang: string) { + function handleLangChange(lang: LanguageName) { try { import(`code-example/txt/sample.${lang.toLocaleLowerCase()}.txt`) .then((data) => { @@ -125,7 +125,7 @@ export default function Example() { label="Lang" options={Object.keys(langs).sort()} value={mode} - onChange={(evn) => handleLangChange(evn.target.value)} + onChange={(evn) => handleLangChange(evn.target.value as LanguageName)} />