From 3d86e608f488b30e562eeccd937b02cc4cb4e685 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 3 Jul 2023 12:47:22 +0700 Subject: [PATCH] fix(developer): strip .kvk extension Fixes #9152. --- developer/src/kmc-kmn/src/compiler/compiler.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/developer/src/kmc-kmn/src/compiler/compiler.ts b/developer/src/kmc-kmn/src/compiler/compiler.ts index 73d44bf0a3..b3949d0db3 100644 --- a/developer/src/kmc-kmn/src/compiler/compiler.ts +++ b/developer/src/kmc-kmn/src/compiler/compiler.ts @@ -345,10 +345,12 @@ export class KmnCompiler implements UnicodeSetParser { // The compiler detected a .kvks file, which needs to be captured kvksFilename = this.callbacks.resolveFilename(kmnFilename, kvksFilename); const filename = this.callbacks.path.basename(kvksFilename); + let basename = null; let vk: VisualKeyboard.VisualKeyboard = null; if(filename.endsWith('.kvk')) { /* Legacy keyboards may reference a binary .kvk. That's not an error */ // TODO: (lowpri) add hint to convert to .kvks? + basename = this.callbacks.path.basename(kvksFilename, KeymanFileTypes.Binary.VisualKeyboard); const reader = new KvkFileReader(); try { vk = reader.read(this.callbacks.loadFile(kvksFilename)); @@ -357,6 +359,7 @@ export class KmnCompiler implements UnicodeSetParser { return null; } } else { + basename = this.callbacks.path.basename(kvksFilename, KeymanFileTypes.Source.VisualKeyboard); const reader = new KvksFileReader(); let kvks = null; try { @@ -385,7 +388,7 @@ export class KmnCompiler implements UnicodeSetParser { let writer = new KvkFileWriter(); return { filename: this.callbacks.path.join(this.callbacks.path.dirname(kmxFilename), - this.callbacks.path.basename(kvksFilename, KeymanFileTypes.Source.VisualKeyboard) + KeymanFileTypes.Binary.VisualKeyboard), + basename + KeymanFileTypes.Binary.VisualKeyboard), data: writer.write(vk) }; }