Skip to content

command_patternがPreprocessorで数式展開する前のコマンドに利用できない #412

@blhsrwznrghfzpr

Description

@blhsrwznrghfzpr

command_pattern

応答するコマンド全てにマッチする正規表現を返す
正規表現を一度生成したら、以後コマンドの登録はできないようにする
https://yard.bcdice.org/BCDice/Base.html#command_pattern-class_method

command_patternはBCDiceで処理できるかもしれないコマンドかどうかを、
外部のツールから判定するために用意されている正規表現だと認識しています。

が、システム固有のコマンドの一部に対しては、Preprocessorによって処理された後のパターンしか登録されていません。
そのため、Preprocessorで処理(括弧数式展開)される前のコマンドがcommand_patternにマッチしないことがあります。
例としては下記のようなものなどです

register_prefix('IP\d+')
input = "IP(1+2)"

調査のために下記のような変更を入れてみたところ、現状では4システムが発見できます。
blhsrwznrghfzpr@d7fee31
テストケースに書かれていないものも含めるともっと多いかと思います。

  • AceKillerGene
  • Chill
  • GardenOrder
  • ScreamHighSchool

command_patternPreprocessorで前処理する前のコマンドに対しても利用できるように強制するようなテストなどを用意できたりしないでしょうか?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions