Results 23 issues of Take-John

### Description * Add an interface `SectionExitHandler`, having one method `exit(Event)`. * Change `LoopSection` to implement this. * Change the 'exit' and 'return' effects to check if the enclosing nodes...

enhancement
feature-ready
2.9

### Description This PR is aimed to provide an API for debugging and profiling script execution. Another plugin can attach a debugger whose class implements the Debugger interface. A debugger...

feature

npm run build時のコンパイルエラーをなくします。 ## 関連 issue - #129 - #133 ## 変更点 - config.ts で設定の型チェックを行う - `藍#api` メソッドに `ReturnType` 型パラメータを作成して呼び出し側で `ReturnType` に型を与える - `Message#reply` のオーバーロードを定義して `text` の型が `string` の場合は返値の型を `Promise`...

I think adding an overlay renderer for redstone power levels will be very useful.

このようなcase節の後にdefault節を区切り文字(コンマや改行)なしで続けたmatch式がパーサを通ってしまう。 ```js match x {case 1 => "yes" default => "no"} // valid ``` case節の後に区切り文字なしでcase節はエラーになるから統一性に欠けるように思う。 ```js match x {case 1 => "yes" case 0 => "no"} // separator expected ```...

属性名に予約語を使用した以下のようなコードが通ってしまうが、 ```js #[class] let a = 42 ``` このコードを見ると意図としては通らないのが正しそう。 https://github.com/aiscript-dev/aiscript/blob/e7e2651ac6928bc2e766cd21a7e4ed5029cd481b/src/parser/plugins/validate-keyword.ts#L88-L96 原因は`visitNode`が`Definition`の`attr`メンバを見ていないことだと考えられる。 https://github.com/aiscript-dev/aiscript/blob/e7e2651ac6928bc2e766cd21a7e4ed5029cd481b/src/parser/visit.ts#L8-L11

https://github.com/aiscript-dev/aiscript/pull/881#issuecomment-2556982389

# What - `as`や`!`による型アサーションを減らします。 - `CharStream`の`eof`や`char`がgetterであるために意図しないnarrowingが発生していたので通常のメソッドに変更します。 - パーサのプラグインで用いる`visitNode`関数にジェネリクスを使用します。 - `Ast.For`の型を変更し、(`var`および`from`, `to`)または`times`のどちらかが必須となるようにします。 - `Token`の型を変更し、識別子やリテラルの場合は`value`を、テンプレートリテラルの場合は`children`を必須にします。 # Why Resolve #880 # Additional info (optional)

misskey-dev/misskey#6608 AiScriptがJSON5のスーパーセットとなるには以下の言語拡張が必要? - オブジェクトリテラル - [x] #894 - #62 - [ ] #889 - JSON5IdentifierはECMAScript 5.1の[IdentifierName](https://262.ecma-international.org/5.1/#sec-7.6)と同じ - 一部の非ASCII文字・`$`・Unicodeエスケープシーケンス・予約語も使用できるようにする必要がある - 文字列 - [ ] #392 - ECMAScript 5.1の[Escape Sequence](https://262.ecma-international.org/5.1/#sec-7.8.4) - 数値...

```js (1 + 2) ``` とか ```js { key : "value" } ``` とかを合法にする

parser