FINEARCHS

Results 47 issues of FINEARCHS

ドキュメントファイル(.md)とテストコード(.ts)を、それぞれお互いに同名の対応するファイルがあるようにしたいと考えています。 ``` // 例 doc/ get-started.md, syntax.md, std.md, std-math.md, primitive-props.md parser/ scanner.md test/ get-started.ts, syntax.ts, std.ts, std-math.ts, primitive-props.ts, parser.ts // パーサーのドキュメント・テストはひとまず現状維持とする ``` ### Pros - テストが探しやすくなる。 - 足りていないテストを確認しやすくなる。 ### Cons...

- type.tsを整理 - 使用されていなかった型の情報をVariableに付与 - Valueに付いていたattributeの情報をVariableに付け替え

https://github.com/syuilo/aiscript/issues/396#issuecomment-1756845571 >大雑把に考えると値の存在を期待しているかどうかで分けられると思います。 これについてもう少し詳しく考えたいです。

毎回`if Core:type(v)!='error' ...`と書かなければならないのは不便なので、より簡単な書き方を考えます。 今までの案 `catch(v) {...}` * 投げてないのにcatchはおかしい `if Core:is_ok(v) ...` * あまり書きやすさが変わっていない? 補足 `v ?? v2`(vがエラー型以外ならv、エラー型ならv2を返す)、`?.`(エラー型ならチェーンしない?)も欲しい

enhancement

Aiscriptで定義された関数が引数不足で呼び出された時の想定がされていません。 実際にそのような状態になると未定義の動作を行います。例えば、現状だと ``` @func(a){a} func() ``` のようなコードを実行すると > TypeError: Cannot read properties of undefined (reading 'type') のエラーが出ます。

bug
interpreter

``` { 文字列 / 配列 / オブジェクト } における { 引数と同じ値 / 検査関数がtrueを返す値 } { が存在するか / の数 / のうち{ 最初 / 最後 / n番目 }のものの{ 添字 / 値 }...

enhancement

普通にthrow catchを実装してもいいですが、「エラー型」の実装ができそうなので提案します。 ### エラー型について 次のようなものを考えています。 * 何らかの式の評価でエラー`e`が発生したとき、通常の値の代わりにこの「エラー型」の値`Error(e)`を返す。 * 「エラー型」の値は通常の値のように、変数に代入したり関数の引数や返り値にすることができる。 * 「エラー型」の値は通常の値とは違い、その値を参照して何か計算をしようとするとエラーを発生させる。そのエラーは最初の式の評価で発生したエラー`e`である。 * 値が「エラー型」であるかは`Core:type`を使用して見分けることができる。これにより例外処理を行う。 #11 で @syuilo さんが言っていたことを、既存のAiscriptコードの動作を壊さない範囲で実装する案です。

enhancement

もしくはvarを使った時に`var is not available on iterator declaration`みたいな専用のエラーを出す

enhancement

https://github.com/syuilo/aiscript/issues/237#issuecomment-1553372582 で言われているとおり、現状だと ```typescript @fff() { let a = eval { return 1 }

bug

#13266 がまとまっていませんが試作が出来たのでdraftで置いておきます。 ## What 現在は特定のMFM断片の検知や文字数カウントなどによってノートを畳む条件を決めていますが、 それを「ノートのclientHeightが一定値を超える」という条件一つに変更します。 ## Why 各種偽陰・偽陽を解消できると思います。 ## Additional info (optional) 具体的な手順としては、 - ノートの畳むべき領域を``で囲っておく - 初期状態ではノートは畳まれているが「もっと見る」ボタンは表示されないようにしておく - onMountedイベントで`collapsibleArea.value.clientHeight`を計測し、一定値を上回るなら「もっと見る」を表示、下回るなら畳み状態を解除 という感じになります。 コンポーネントが一度レンダリングされるまで大きさが分からない以上どうしてもチラつき覚悟の処理になりますが、この手順で違和感を最小限に抑えられると思います。 ## Checklist - [x] Read the [contribution guide](https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md)...

packages/frontend