diff --git a/src/renderer/src/lib/language-detect.test.ts b/src/renderer/src/lib/language-detect.test.ts index e3efd8de4..a223a8645 100644 --- a/src/renderer/src/lib/language-detect.test.ts +++ b/src/renderer/src/lib/language-detect.test.ts @@ -29,4 +29,12 @@ describe('detectLanguage', () => { expect(detectLanguage('scripts/setup.bat')).toBe('bat') expect(detectLanguage('C:\\repo\\scripts\\bootstrap.CMD')).toBe('bat') }) + + it('maps SystemVerilog and Verilog files to their Monaco language ids', () => { + expect(detectLanguage('rtl/cpu.sv')).toBe('systemverilog') + expect(detectLanguage('rtl/pkg.svh')).toBe('systemverilog') + expect(detectLanguage('rtl/alu.v')).toBe('verilog') + expect(detectLanguage('rtl/defs.vh')).toBe('verilog') + expect(detectLanguage('C:\\rtl\\TOP.SV')).toBe('systemverilog') + }) }) diff --git a/src/renderer/src/lib/language-detect.ts b/src/renderer/src/lib/language-detect.ts index d4655effb..857750cd3 100644 --- a/src/renderer/src/lib/language-detect.ts +++ b/src/renderer/src/lib/language-detect.ts @@ -80,6 +80,10 @@ const EXT_TO_LANGUAGE: Record = { '.vue': 'vue', '.svelte': 'svelte', '.astro': 'astro', + '.sv': 'systemverilog', + '.svh': 'systemverilog', + '.v': 'verilog', + '.vh': 'verilog', '.nim': 'nim', '.nims': 'nim', '.nimble': 'nim',