Skip to content

Commit 4cecf55

Browse files
authored
config(amazonq): enable more languages in generateCompletion requests aws#5663
1 parent 07b4b67 commit 4cecf55

File tree

4 files changed

+45
-24
lines changed

4 files changed

+45
-24
lines changed

packages/amazonq/test/unit/codewhisperer/tracker/codewhispererCodeCoverageTracker.test.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ describe('codewhispererCodecoverageTracker', function () {
2323
it('unsupported language', function () {
2424
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('vb'), undefined)
2525
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('ipynb'), undefined)
26-
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('r'), undefined)
27-
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('dart'), undefined)
28-
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('swift'), undefined)
29-
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('lua'), undefined)
30-
assert.strictEqual(CodeWhispererCodeCoverageTracker.getTracker('powershell'), undefined)
3126
})
3227

3328
it('supported language', function () {

packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ describe('runtimeLanguageContext', function () {
3636
['json', true],
3737
['yaml', true],
3838
['tf', true],
39-
['dart', false],
40-
['lua', false],
41-
['powershell', false],
42-
['r', false],
43-
['swift', false],
44-
['systemVerilog', false],
45-
['vue', false],
39+
['dart', true],
40+
['lua', true],
41+
['powershell', true],
42+
['r', true],
43+
['swift', true],
44+
['systemVerilog', true],
45+
['vue', true],
4646
['plaintext', false],
4747
['html', false],
4848
['vb', false],
@@ -182,7 +182,7 @@ describe('runtimeLanguageContext', function () {
182182
})
183183

184184
describe('toRuntimeLanguage', function () {
185-
const codewhispererLanguageIds: CodewhispererLanguage[][] = [
185+
const codewhispererLanguageIds: [CodewhispererLanguage, string][] = [
186186
['c', 'c'],
187187
['cpp', 'cpp'],
188188
['csharp', 'csharp'],
@@ -201,9 +201,19 @@ describe('runtimeLanguageContext', function () {
201201
['sql', 'sql'],
202202
['tsx', 'typescript'],
203203
['typescript', 'typescript'],
204+
['dart', 'dart'],
205+
['lua', 'lua'],
206+
['powershell', 'powershell'],
207+
['r', 'r'],
208+
['swift', 'swift'],
209+
['systemVerilog', 'systemverilog'],
210+
['vue', 'vue'],
204211
]
205212

206213
for (const [inputCwsprLanguageId, expectedCwsprLanguageId] of codewhispererLanguageIds) {
214+
if (inputCwsprLanguageId === 'systemVerilog') {
215+
console.log()
216+
}
207217
it(`should return ${expectedCwsprLanguageId} if input codewhispererLanguageId is - ${inputCwsprLanguageId}`, function () {
208218
const actual = languageContext.toRuntimeLanguage(inputCwsprLanguageId)
209219
assert.strictEqual(actual, expectedCwsprLanguageId)
@@ -258,7 +268,7 @@ describe('runtimeLanguageContext', function () {
258268
})
259269
}
260270

261-
const arbitraryStrs: (string | undefined)[] = ['foo', undefined, 'bar', 'R', 'r', 'unknown']
271+
const arbitraryStrs: (string | undefined)[] = ['foo', undefined, 'bar', 'unknown']
262272
for (const inputStr of arbitraryStrs) {
263273
it(`should return undefined when input str is ${inputStr}`, function () {
264274
const actual = languageContext.getLanguageExtensionForNotebook(inputStr)

packages/core/src/codewhisperer/models/constants.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,14 @@ export const platformLanguageIds = [
9898
'packer',
9999
'plaintext',
100100
'jsonc',
101+
'systemverilog',
102+
'verilog',
103+
'powershell',
104+
'dart',
105+
'lua',
106+
'r',
107+
'swift',
108+
'vue',
101109
] as const
102110

103111
export type PlatformLanguageId = (typeof platformLanguageIds)[number]

packages/core/src/codewhisperer/util/runtimeLanguageContext.ts

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { createConstantMap, ConstantMap } from '../../shared/utilities/tsUtils'
99
import * as codewhispererClient from '../client/codewhisperer'
1010
import * as CodeWhispererConstants from '../models/constants'
1111

12-
type RuntimeLanguage = Exclude<CodewhispererLanguage, 'jsx' | 'tsx'>
12+
type RuntimeLanguage = Exclude<CodewhispererLanguage, 'jsx' | 'tsx' | 'systemVerilog'> | 'systemverilog'
1313

1414
const runtimeLanguageSet: ReadonlySet<RuntimeLanguage> = new Set([
1515
'c',
@@ -30,6 +30,7 @@ const runtimeLanguageSet: ReadonlySet<RuntimeLanguage> = new Set([
3030
'json',
3131
'yaml',
3232
'tf',
33+
'systemverilog',
3334
])
3435

3536
export class RuntimeLanguageContext {
@@ -93,6 +94,8 @@ export class RuntimeLanguageContext {
9394
r: 'r',
9495
swift: 'swift',
9596
systemVerilog: 'systemVerilog',
97+
systemverilog: 'systemVerilog',
98+
verilog: 'systemVerilog',
9699
vue: 'vue',
97100
})
98101
this.supportedLanguageExtensionMap = createConstantMap<string, CodewhispererLanguage>({
@@ -120,6 +123,17 @@ export class RuntimeLanguageContext {
120123
ts: 'typescript',
121124
yaml: 'yaml',
122125
yml: 'yaml',
126+
sv: 'systemVerilog',
127+
svh: 'systemVerilog',
128+
vh: 'systemVerilog',
129+
dart: 'dart',
130+
lua: 'lua',
131+
wlua: 'lua',
132+
swift: 'swift',
133+
vue: 'vue',
134+
ps1: 'powershell',
135+
psm1: 'powershell',
136+
r: 'r',
123137
})
124138
}
125139

@@ -147,6 +161,9 @@ export class RuntimeLanguageContext {
147161
case 'tsx':
148162
return 'typescript'
149163

164+
case 'systemVerilog':
165+
return 'systemverilog'
166+
150167
default:
151168
if (!runtimeLanguageSet.has(language)) {
152169
getLogger().error(`codewhisperer: unknown runtime language ${language}`)
@@ -242,15 +259,6 @@ export class RuntimeLanguageContext {
242259
case 'plaintext':
243260
return false
244261

245-
case 'dart':
246-
case 'lua':
247-
case 'powershell':
248-
case 'r':
249-
case 'swift':
250-
case 'vue':
251-
case 'systemVerilog':
252-
return false
253-
254262
default:
255263
return true
256264
}

0 commit comments

Comments
 (0)