ホームディレクトリとクロスプラットフォームパスの処理

Aura は、複数のオペレーティング システムで実行できるように設計されています。 Linux、macOS、または Windows を実行しているかどうかに関係なく、ファイル システム ナビゲーション コマンドが確実に機能するように、パス文字列はアクティブなファジー マップに登録される前に動的に解析されます。


パス正規化ロジック (FUZZY_MAP_pre.py)

動的パス マッピング ロジックは、次の標準的な手法に依存しています。

1. チルダ削減 (POSIX)

POSIX 準拠のシステム (Linux および macOS) では、ユーザーのホーム ディレクトリに一致する絶対パス (例: /home/username/) は起動時に ~ 相対パスに変換されます。これにより、文字列の長さが短くなり、生成されたルールを同じオペレーティング システム上の異なるユーザー間で移植できるようになります。

# Replaces '/home/username/projects' with '~/projects'
if sys.platform != 'win32' and project_root_str_full.startswith(home_dir_str):
    PROJECT_ROOT_FOR_MAP = project_root_str_full.replace(home_dir_str, '~', 1)

2. 絶対パスの保持 (Windows)

Windows は、標準のコマンド プロンプト (cmd.exe) または PowerShell 環境では、~ 文字を確実に評価しません。したがって、プラグインは Windows 環境 (sys.platform == 'win32') を検出すると、コマンドの実行が失敗しないように完全修飾絶対パス (例: C:\Users\username…`) を保存します。

3. スラッシュの正規化 (as_posix())

Aura は、設定マップに POSIX スタイルのスラッシュ (/) を内部的に使用します。このスクリプトは、Python の pathlib.Path.as_posix() メソッドを利用して、OS に依存するすべてのパス区切り文字を正規化します。これにより、Windows 環境ではバックスラッシュ (\) が自動的にサニタイズされます。