0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wren の CLI で BackSpace の入力がエラーになってしまうのを解消した話し

0
Posted at

はじめに

プログラミング言語 Wren の CLI を

からダウンロード&ビルドして試してみたのですが、実行中にBackSpace を入れると、

Unhandled key-code [dec]: 8

と出て困ったので、解消のために行ったことを以下に紹介します。

対応内容の説明

手順【1/2】 : 必要なコードをファイルに追加する

[プロジェクトのルート]\src\module\repl.wren
に、以下の手順でコードを追加(2個所)します。

1つ目: class Chars に BackSpace 用を追加

class Chars {
  static ctrlA { 0x01 }
  ...
  static ctrlF { 0x06 }
  static backSpace { 0x08 } // これを追加する
  static tab { 0x09 }
  ...

 

2つ目: 判定処理にコードを追加

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 を使う人は少ないかと思いますが、同じ事態に遭遇する人が居るかも知れないと考えて投稿しました。

ここまでお読みくださり、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?