diff --git a/package-lock.json b/package-lock.json index 6337e22c1d7..f6e454b4554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "vscode-nls-dev": "^4.0.4" }, "devDependencies": { - "@aws-toolkits/telemetry": "^1.0.322", + "@aws-toolkits/telemetry": "^1.0.321", "@playwright/browser-chromium": "^1.43.1", "@stylistic/eslint-plugin": "^2.11.0", "@types/he": "^1.2.3", @@ -10879,9 +10879,9 @@ } }, "node_modules/@aws-toolkits/telemetry": { - "version": "1.0.322", - "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.322.tgz", - "integrity": "sha512-KtLabV3ycRH31EAZ0xoWrdpIBG3ym8CQAqgkHd9DSefndbepPRa07atfXw73Ok9J5aA81VHCFpx1dwrLg39EcQ==", + "version": "1.0.321", + "resolved": "https://registry.npmjs.org/@aws-toolkits/telemetry/-/telemetry-1.0.321.tgz", + "integrity": "sha512-pL1TZOyREfEuZjvjhAPyb/6fOaPLlXMft4i1mbHJVs2rnJBKFAsJOl3osmCLKXuqiMT7jhmzOE8dRCkEuLleIw==", "dev": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 525655b8c35..f523a29bbff 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "skippedTestReport": "ts-node ./scripts/skippedTestReport.ts ./packages/amazonq/test/e2e/" }, "devDependencies": { - "@aws-toolkits/telemetry": "^1.0.322", + "@aws-toolkits/telemetry": "^1.0.321", "@playwright/browser-chromium": "^1.43.1", "@stylistic/eslint-plugin": "^2.11.0", "@types/he": "^1.2.3", diff --git a/packages/amazonq/.changes/next-release/Feature-31d91f84-30cb-4acd-9e39-9dc153edf0a6.json b/packages/amazonq/.changes/next-release/Feature-31d91f84-30cb-4acd-9e39-9dc153edf0a6.json deleted file mode 100644 index da0d200410d..00000000000 --- a/packages/amazonq/.changes/next-release/Feature-31d91f84-30cb-4acd-9e39-9dc153edf0a6.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "type": "Feature", - "description": "Add inline completion support for abap language" -} diff --git a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts index 9d2dbf7954d..a5cc430a5a9 100644 --- a/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts +++ b/packages/amazonq/test/unit/codewhisperer/util/runtimeLanguageContext.test.ts @@ -177,6 +177,7 @@ describe('runtimeLanguageContext', function () { 'jsx', 'kotlin', 'php', + 'plaintext', 'python', 'ruby', 'rust', @@ -287,6 +288,7 @@ describe('runtimeLanguageContext', function () { ['jsx', 'jsx'], ['kotlin', 'kt'], ['php', 'php'], + ['plaintext', 'txt'], ['python', 'py'], ['ruby', 'rb'], ['rust', 'rs'], diff --git a/packages/core/src/codewhisperer/util/editorContext.ts b/packages/core/src/codewhisperer/util/editorContext.ts index 756d9fb2a00..a3f787af6c6 100644 --- a/packages/core/src/codewhisperer/util/editorContext.ts +++ b/packages/core/src/codewhisperer/util/editorContext.ts @@ -151,7 +151,8 @@ export function extractContextForCodeWhisperer(editor: vscode.TextEditor): codew ) let languageName = 'plaintext' if (!checkLeftContextKeywordsForJson(document.fileName, caretLeftFileContext, editor.document.languageId)) { - languageName = runtimeLanguageContext.resolveLang(editor.document) + languageName = + runtimeLanguageContext.normalizeLanguage(editor.document.languageId) ?? editor.document.languageId } if (editor.document.uri.scheme === 'vscode-notebook-cell') { const notebook = getEnclosingNotebook(editor) diff --git a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts index e1d4802b6f1..3a1403b453e 100644 --- a/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts +++ b/packages/core/src/codewhisperer/util/runtimeLanguageContext.ts @@ -67,7 +67,7 @@ export class RuntimeLanguageContext { constructor() { this.supportedLanguageMap = createConstantMap< - Exclude, + CodeWhispererConstants.PlatformLanguageId | CodewhispererLanguage, CodewhispererLanguage >({ c: 'c', @@ -85,6 +85,7 @@ export class RuntimeLanguageContext { jsx: 'jsx', kotlin: 'kotlin', packer: 'tf', + plaintext: 'plaintext', php: 'php', python: 'python', ruby: 'ruby', @@ -111,7 +112,6 @@ export class RuntimeLanguageContext { systemverilog: 'systemVerilog', verilog: 'systemVerilog', vue: 'vue', - abap: 'abap', }) this.supportedLanguageExtensionMap = createConstantMap({ c: 'c', @@ -152,8 +152,6 @@ export class RuntimeLanguageContext { ps1: 'powershell', psm1: 'powershell', r: 'r', - abap: 'abap', - acds: 'abap', }) this.languageSingleLineCommentPrefixMap = createConstantMap({ c: '// ', @@ -187,14 +185,9 @@ export class RuntimeLanguageContext { vue: '', // vue lacks a single-line comment prefix yaml: '# ', yml: '# ', - abap: '', }) } - public resolveLang(doc: vscode.TextDocument): CodewhispererLanguage { - return this.normalizeLanguage(doc.languageId) || this.byFileExt(doc) || 'plaintext' - } - /** * To add a new platform language id: * 1. add new platform language ID constant in the file codewhisperer/constant.ts @@ -324,7 +317,8 @@ export class RuntimeLanguageContext { } else { const normalizedLanguageId = this.normalizeLanguage(arg.languageId) const byLanguageId = !normalizedLanguageId || normalizedLanguageId === 'plaintext' ? false : true - const byFileExtension = this.byFileExt(arg) !== undefined + const extension = path.extname(arg.uri.fsPath) + const byFileExtension = this.isFileFormatSupported(extension.substring(1)) return byLanguageId || byFileExtension } @@ -347,17 +341,6 @@ export class RuntimeLanguageContext { public getLanguageFromFileExtension(fileExtension: string) { return this.supportedLanguageExtensionMap.get(fileExtension) } - - private byFileExt(doc: vscode.TextDocument): CodewhispererLanguage | undefined { - const extension = path.extname(doc.uri.fsPath) - const byExt = this.supportedLanguageExtensionMap.get(extension.substring(1)) - - if (byExt === 'plaintext') { - return undefined - } - - return byExt - } } export const runtimeLanguageContext = new RuntimeLanguageContext()