--- nono/lib/config.h 2026/04/29 17:05:18 1.1.1.7 +++ nono/lib/config.h 2026/04/29 17:05:22 1.1.1.8 @@ -38,7 +38,8 @@ class ConfigItem public: enum from_t { FromInitial = 0, // 初期値 - FromConfig, // 設定ファイルで更新 + FromHome, // 共通設定ファイル(~/.nono.cfg)で更新 + FromConfig, // VM 設定ファイルで更新 FromOption, // コマンドライン引数で更新 }; @@ -118,7 +119,7 @@ class ConfigItem // from (と where) はこの変数の由来を示す。 // o FromOption なら値はコマンドラインオプションで指定されたことを示す。 // この場合 where に "-V" とかが入っている。 - // o FromConfig なら値は設定ファイルで指定されたことを示す。 + // o FromConfig, FromHome なら値は設定ファイルで指定されたことを示す。 // この場合 where に "ファイルパス:行番号" が入っている。 // o FromInitial なら値は初期値のままであることを示す。引数や // 設定ファイルで値を指定した場合は例え初期値と同じ値を指定したと @@ -131,7 +132,7 @@ class ConfigItem class ConfigFile { public: - ConfigFile(const std::string& filepath_); + ConfigFile(const std::string& filepath_, ConfigItem::from_t from_); ~ConfigFile(); // ファイルの読み込み。 @@ -141,6 +142,9 @@ class ConfigFile // パス std::string filepath {}; + // 設定元 + ConfigItem::from_t from {}; + // 読み込んだ行一覧 // 行(改行と前後の空白を除く) と行番号(1から始まる)の pair。 // コメント行や空行は取り除いてあるが、文法チェックはしていないので