はじめに
プログラミング言語 Wren の CLI を
からダウンロード&ビルドして試してみたのですが、実行中にBackSpace を入れると、
Unhandled key-code [dec]: 8
と出て困ったので、解消のために行ったことを以下に紹介します。
対応内容の説明
手順【1/2】 : 必要なコードをファイルに追加する
[プロジェクトのルート]\src\module\repl.wren
に、以下の手順でコードを追加(2個所)します。
class Chars {
static ctrlA { 0x01 }
...
static ctrlF { 0x06 }
static backSpace { 0x08 } // これを追加する
static tab { 0x09 }
...
handleChar(byte) {
if (byte == Chars.ctrlC) {
System.print()
...
} else if (byte == Chars.backSpace) { // これを追加する
deleteLeft()
} else {
...
手順【2/2】 : ファイルを生成する
[プロジェクトのルート]\util
に移動して
python wren_to_c_string.py ..\src\module\repl.wren.inc ..\src\module\repl.wren
を実行します。
成功すれば
[プロジェクトのルート]\src\module\repl.wren.inc
ファイルが更新されるはずです。
あとは、プロジェクトをリビルドすれば完了です。
ビルド環境
OS : Windows11
IDE : Visual Studio 2019, 2022
ビルドのために、
に公開されているプロジェクトファイルを使って、Visual Studio 2019 と 2022 でビルドしました。
どちらでも、特に問題なく実行ファイルは作成されました。
補足
一応、これは既知のバグらしいです (#131):
ただ、GitHub にある src を見たところ修正はされていないようでした。
おわりに
Wren-CLI を使う人は少ないかと思いますが、同じ事態に遭遇する人が居るかも知れないと考えて投稿しました。
ここまでお読みくださり、ありがとうございました。