EngineHub / EngineHub/CommandHelper

include(), read(), etc within a file use a different base directory when called from cmdline/MC VS interpreter

オープン
#1,245 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
feature request
主要言語
Java
スター
128
フォーク
70
PR マージ指標
30日以内にマージされた PR はありません

説明

This topic was discussed on Discord, this issue serves the purpose of not losing the results.

## Desired behavior
- MC: Relative to script directory (no change).
- Cmdline: Relative to script directory.
- Interpreter/MC interpreter:
- Functions entered directly into the interpreter use the directory set using `cd()` as base directory.
- Included MS files (including the procedures defined within them) use their parent directory as base directory (same behavior as non-interpreter mode).
- Procedures defined in the interpreter use the directory set using `cd()` at definition time for all calls to that procedure.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、cmdline、MC interpreter、interpreter モードでの相対パスの動作を再現し、次に include()、read()、cd() の処理と、スクリプトまたはプロンプトで定義されたプロシージャの処理を追跡します。Desired behavior に記載されたベースディレクトリを各ケースが使用し、定義後に呼び出されるプロシージャも含まれていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
cli
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。