diff --git a/src/client/lang.ts b/src/client/lang.ts index e9460ca..c477232 100644 --- a/src/client/lang.ts +++ b/src/client/lang.ts @@ -23,6 +23,7 @@ import { toml } from '@codemirror/legacy-modes/mode/toml' import { nginx } from '@codemirror/legacy-modes/mode/nginx' import { dockerFile } from '@codemirror/legacy-modes/mode/dockerfile' import { properties } from '@codemirror/legacy-modes/mode/properties' +import { csharp } from '@codemirror/legacy-modes/mode/clike' /** The lowercased file extension of a path ('' when none). */ export function extOf(path: string): string { @@ -48,6 +49,7 @@ export function languageKeyForExt(ext: string): string | null { case 'yaml': case 'yml': return 'yaml' case 'sql': return 'sql' case 'java': return 'java' + case 'cs': return 'csharp' case 'c': case 'h': return 'c' case 'cc': case 'cpp': case 'cxx': case 'hpp': case 'hh': case 'hxx': return 'cpp' case 'rs': return 'rust' @@ -76,6 +78,7 @@ const FACTORIES: Record Language | LanguageSupport> = { yaml: () => yaml(), sql: () => sql(), java: () => java(), + csharp: () => StreamLanguage.define(csharp), c: () => cpp(), cpp: () => cpp(), rust: () => rust(), diff --git a/tests/unit.spec.ts b/tests/unit.spec.ts index 1cccf71..3512998 100644 --- a/tests/unit.spec.ts +++ b/tests/unit.spec.ts @@ -1102,6 +1102,7 @@ describe('editor language mapping', () => { expect(languageKeyForExt('yaml')).toBe('yaml') expect(languageKeyForExt('sh')).toBe('shell') expect(languageKeyForExt('md')).toBe('md') + expect(languageKeyForExt('cs')).toBe('csharp') expect(languageKeyForExt('txt')).toBeNull() expect(languageKeyForExt('log')).toBeNull() expect(languageKeyForExt('')).toBeNull()