2 releases
Uses new Rust 2024
| 0.1.1 | Nov 9, 2025 |
|---|---|
| 0.1.0 | Nov 9, 2025 |
#2305 in Development tools
Used in fleetflow
12KB
147 lines
fleetflow-config
FleetFlowの設定ファイル検索と管理を提供するライブラリクレート。
概要
fleetflow-configは、FleetFlowの設定ファイルの検索と管理機能を提供します:
- 設定ファイル検索 - 複数の場所から自動的に設定ファイルを検索
- 設定ディレクトリ管理 - プラットフォーム固有の設定ディレクトリ
- 優先順位 - 環境変数、ローカルファイル、グローバル設定の優先順位
使用例
use fleetflow_config::{find_flow_file, get_config_dir};
// 設定ファイルを検索
let flow_file = find_flow_file()?;
println!("Found: {}", flow_file.display());
// 設定ディレクトリを取得
let config_dir = get_config_dir()?;
println!("Config dir: {}", config_dir.display());
設定ファイル検索の優先順位
find_flow_file()は以下の優先順位で設定ファイルを検索します:
- 環境変数
FLOW_CONFIG_PATH- 直接パス指定 - カレントディレクトリ:
flow.local.kdl.flow.local.kdlflow.kdl.flow.kdl
- .fleetflowディレクトリ
./.fleetflow/内で同様の順序 - グローバル設定
~/.config/fleetflow/flow.kdl
設定ディレクトリ
get_config_dir()は、プラットフォーム固有の設定ディレクトリを返します:
- Linux:
~/.config/fleetflow/ - macOS:
~/Library/Application Support/fleetflow/ - Windows:
%APPDATA%\fleetflow\
ディレクトリが存在しない場合は自動的に作成されます。
エラー処理
use fleetflow_config::{find_flow_file, ConfigError};
match find_flow_file() {
Ok(path) => println!("Found: {}", path.display()),
Err(ConfigError::FlowFileNotFound) => {
eprintln!("設定ファイルが見つかりません");
eprintln!("flow.kdl を作成してください");
}
Err(e) => eprintln!("エラー: {}", e),
}
ドキュメント
ライセンス
MIT OR Apache-2.0
Dependencies
~2–14MB
~120K SLoC