diff --git a/packages/amazonq/test/unit/codewhisperer/tracker/codewhispererCodeCoverageTracker.test.ts b/packages/amazonq/test/unit/codewhisperer/tracker/codewhispererCodeCoverageTracker.test.ts index 966dec30aab..1cda2cdbda7 100644 --- a/packages/amazonq/test/unit/codewhisperer/tracker/codewhispererCodeCoverageTracker.test.ts +++ b/packages/amazonq/test/unit/codewhisperer/tracker/codewhispererCodeCoverageTracker.test.ts @@ -30,11 +30,6 @@ describe('codewhispererCodecoverageTracker', function () { it('unsupported language', function () { assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('vb'), undefined) assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('ipynb'), undefined) - assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('r'), undefined) - assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('dart'), undefined) - assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('swift'), undefined) - assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('lua'), undefined) - assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('powershell'), undefined) }) it('supported language', function () { diff --git a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts index 2efb537ef60..e5a8f3bddc4 100644 --- a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts +++ b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts @@ -36,13 +36,13 @@ describe('runtimeLanguageContext', function () { ['json', true], ['yaml', true], ['tf', true], - ['dart', false], - ['lua', false], - ['powershell', false], - ['r', false], - ['swift', false], - ['systemVerilog', false], - ['vue', false], + ['dart', true], + ['lua', true], + ['powershell', true], + ['r', true], + ['swift', true], + ['systemVerilog', true], + ['vue', true], ['plaintext', false], ['html', false], ['vb', false], @@ -182,7 +182,7 @@ describe('runtimeLanguageContext', function () { }) describe('toRuntimeLanguage', function () { - const codewhispererLanguageIds: CodewhispererLanguage[][] = [ + const codewhispererLanguageIds: [CodewhispererLanguage, string][] = [ ['c', 'c'], ['cpp', 'cpp'], ['csharp', 'csharp'], @@ -201,9 +201,19 @@ describe('runtimeLanguageContext', function () { ['sql', 'sql'], ['tsx', 'typescript'], ['typescript', 'typescript'], + ['dart', 'dart'], + ['lua', 'lua'], + ['powershell', 'powershell'], + ['r', 'r'], + ['swift', 'swift'], + ['systemVerilog', 'systemverilog'], + ['vue', 'vue'], ] for (const [inputCwsprLanguageId, expectedCwsprLanguageId] of codewhispererLanguageIds) { + if (inputCwsprLanguageId === 'systemVerilog') { + console.log() + } it(`should return ${expectedCwsprLanguageId} if input codewhispererLanguageId is - ${inputCwsprLanguageId}`, function () { const actual = languageContext.toRuntimeLanguage(inputCwsprLanguageId) assert.strictEqual(actual, expectedCwsprLanguageId) @@ -258,7 +268,7 @@ describe('runtimeLanguageContext', function () { }) } - const arbitraryStrs: (string | undefined)[] = ['foo', undefined, 'bar', 'R', 'r', 'unknown'] + const arbitraryStrs: (string | undefined)[] = ['foo', undefined, 'bar', 'unknown'] for (const inputStr of arbitraryStrs) { it(`should return undefined when input str is ${inputStr}`, function () { const actual = languageContext.getLanguageExtensionForNotebook(inputStr) diff --git a/packages/core/src/codewhisperer/models/constants.ts b/packages/core/src/codewhisperer/models/constants.ts index 41347803bd1..db19df58e88 100644 --- a/packages/core/src/codewhisperer/models/constants.ts +++ b/packages/core/src/codewhisperer/models/constants.ts @@ -98,6 +98,14 @@ export const platformLanguageIds = [ 'packer', 'plaintext', 'jsonc', + 'systemverilog', + 'verilog', + 'powershell', + 'dart', + 'lua', + 'r', + 'swift', + 'vue', ] as const export type PlatformLanguageId = (typeof platformLanguageIds)[number] diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index 646581b83d1..accac63af7a 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -9,7 +9,7 @@ import { createConstantMap, ConstantMap } from '../../shared/utilities/tsUtils' import * as codewhispererClient from '../client/codewhisperer' import * as CodeWhispererConstants from '../models/constants' -type RuntimeLanguage = Exclude +type RuntimeLanguage = Exclude | 'systemverilog' const runtimeLanguageSet: ReadonlySet = new Set([ 'c', @@ -30,6 +30,7 @@ const runtimeLanguageSet: ReadonlySet = new Set([ 'json', 'yaml', 'tf', + 'systemverilog', ]) export class RuntimeLanguageContext { @@ -93,6 +94,8 @@ export class RuntimeLanguageContext { r: 'r', swift: 'swift', systemVerilog: 'systemVerilog', + systemverilog: 'systemVerilog', + verilog: 'systemVerilog', vue: 'vue', }) this.supportedLanguageExtensionMap = createConstantMap({ @@ -120,6 +123,17 @@ export class RuntimeLanguageContext { ts: 'typescript', yaml: 'yaml', yml: 'yaml', + sv: 'systemVerilog', + svh: 'systemVerilog', + vh: 'systemVerilog', + dart: 'dart', + lua: 'lua', + wlua: 'lua', + swift: 'swift', + vue: 'vue', + ps1: 'powershell', + psm1: 'powershell', + r: 'r', }) } @@ -147,6 +161,9 @@ export class RuntimeLanguageContext { case 'tsx': return 'typescript' + case 'systemVerilog': + return 'systemverilog' + default: if (!runtimeLanguageSet.has(language)) { getLogger().error(`codewhisperer: unknown runtime language ${language}`) @@ -242,15 +259,6 @@ export class RuntimeLanguageContext { case 'plaintext': return false - case 'dart': - case 'lua': - case 'powershell': - case 'r': - case 'swift': - case 'vue': - case 'systemVerilog': - return false - default: return true }