From 2628e2dda45145ba7a541d541ad6551ac94ccf53 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 24 Sep 2024 21:37:22 -0700 Subject: [PATCH 1/7] add inline completion supporting language, verilog, powershell, dart, lua, r, swift, vue --- .../core/src/codewhisperer/models/constants.ts | 7 +++++++ .../codewhisperer/util/runtimeLanguageContext.ts | 15 ++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/core/src/codewhisperer/models/constants.ts b/packages/core/src/codewhisperer/models/constants.ts index 41347803bd1..0bed6d3d274 100644 --- a/packages/core/src/codewhisperer/models/constants.ts +++ b/packages/core/src/codewhisperer/models/constants.ts @@ -98,6 +98,13 @@ export const platformLanguageIds = [ 'packer', 'plaintext', 'jsonc', + '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..e298620d41d 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -93,6 +93,7 @@ export class RuntimeLanguageContext { r: 'r', swift: 'swift', systemVerilog: 'systemVerilog', + verilog: 'systemVerilog', vue: 'vue', }) this.supportedLanguageExtensionMap = createConstantMap({ @@ -234,24 +235,20 @@ export class RuntimeLanguageContext { * @returns true if the language is supported by CodeWhisperer otherwise false */ public isLanguageSupported(languageId: string): boolean { + console.log('id', languageId) const lang = this.normalizeLanguage(languageId) + console.log('normalized id', lang) switch (lang) { case undefined: + console.log('false') return false case 'plaintext': - return false - - case 'dart': - case 'lua': - case 'powershell': - case 'r': - case 'swift': - case 'vue': - case 'systemVerilog': + console.log('false') return false default: + console.log('true') return true } } From 2eb5693a37df02a70e49229093e2642bbe6f0743 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 24 Sep 2024 21:45:31 -0700 Subject: [PATCH 2/7] patch --- packages/core/src/codewhisperer/util/runtimeLanguageContext.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index e298620d41d..e2a704ac4cf 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -235,9 +235,7 @@ export class RuntimeLanguageContext { * @returns true if the language is supported by CodeWhisperer otherwise false */ public isLanguageSupported(languageId: string): boolean { - console.log('id', languageId) const lang = this.normalizeLanguage(languageId) - console.log('normalized id', lang) switch (lang) { case undefined: console.log('false') From 1ad85bf338527cbb5616dfba9b028c0a700e64be Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 24 Sep 2024 21:47:49 -0700 Subject: [PATCH 3/7] patch --- packages/core/src/codewhisperer/util/runtimeLanguageContext.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index e2a704ac4cf..ce0bc8d0f23 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -238,15 +238,12 @@ export class RuntimeLanguageContext { const lang = this.normalizeLanguage(languageId) switch (lang) { case undefined: - console.log('false') return false case 'plaintext': - console.log('false') return false default: - console.log('true') return true } } From 76badf22c4627b5a2aad32bfacb1b9749d4fec6b Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 24 Sep 2024 22:06:23 -0700 Subject: [PATCH 4/7] patch --- packages/core/src/codewhisperer/models/constants.ts | 1 + packages/core/src/codewhisperer/util/runtimeLanguageContext.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/core/src/codewhisperer/models/constants.ts b/packages/core/src/codewhisperer/models/constants.ts index 0bed6d3d274..db19df58e88 100644 --- a/packages/core/src/codewhisperer/models/constants.ts +++ b/packages/core/src/codewhisperer/models/constants.ts @@ -98,6 +98,7 @@ export const platformLanguageIds = [ 'packer', 'plaintext', 'jsonc', + 'systemverilog', 'verilog', 'powershell', 'dart', diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index ce0bc8d0f23..1b9ee19f7ef 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -93,6 +93,7 @@ export class RuntimeLanguageContext { r: 'r', swift: 'swift', systemVerilog: 'systemVerilog', + systemverilog: 'systemVerilog', verilog: 'systemVerilog', vue: 'vue', }) From 520660d2332d0caf0de8aa5e03061172608b7051 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Tue, 24 Sep 2024 22:12:13 -0700 Subject: [PATCH 5/7] patch extension --- .../src/codewhisperer/util/runtimeLanguageContext.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index 1b9ee19f7ef..71d9cf363f9 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -122,6 +122,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', }) } From e9d0a4c4c07bd714467e6efeb8afc11d012b72ef Mon Sep 17 00:00:00 2001 From: Will Lo Date: Mon, 7 Oct 2024 17:53:11 -0700 Subject: [PATCH 6/7] fix tst --- .../codewhispererCodeCoverageTracker.test.ts | 5 ----- .../util/runtimeLanguageContext.test.ts | 16 ++++++++-------- 2 files changed, 8 insertions(+), 13 deletions(-) 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..540737c92ef 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], @@ -258,7 +258,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) From a8362a4ad9217af87016eaf2771061547d388c47 Mon Sep 17 00:00:00 2001 From: Will Lo Date: Mon, 7 Oct 2024 18:37:24 -0700 Subject: [PATCH 7/7] patch systemverfilog --- .../util/runtimeLanguageContext.test.ts | 12 +++++++++++- .../src/codewhisperer/util/runtimeLanguageContext.ts | 6 +++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts index 540737c92ef..e5a8f3bddc4 100644 --- a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts +++ b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts @@ -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) diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index 71d9cf363f9..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 { @@ -160,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}`)