ble version: 0.4.0-devel2+dabc515
Bash version: 5.0.18(1)-release
こんにちは。
~+ の形のチルダ展開(現行ディレクトリに展開される)が,指定した着色をされなかったりと処理に不具合があるようです。
以前は正常に処理されていた記憶があり,実際,git checkout HEAD^ && make clean install などとして変更を遡ると 2f40422 あたりを境に着色設定が無視されるようになります。
ご報告ありがとうございます! 直しました a32962e
全体的に構文情報も参照してチルダ展開を判定するように変更したのですが、参照している構文情報の方が ~+ を一まとまりとして認識していなかったのが原因でした。shopt -s extglob の時 ~+(pattern) などが考えられるので、~+ を一旦 ~ / + と区切っていたのですが、~+ の場合は特別に一まとまりで処理できないか確認してから区切るように修正しました。
よろしくお願い致します!
確認いたしました。ありがとうございました!
質問なのですが(すいません,もしかしたら別 issue になりえます),コマンドラインにおける補完で,= 以降のファイル補完ってble.shが担っていますか。それとも素のBashの設定をそのまま流用してらっしゃいますか。
というのも,bash --norc で起動した場合とble.shの設定を全て読み込んだ場合とで,= 以降のファイル補完の挙動が違うように感じるので。具体的には,. から始まる隠しファイルがble.shの場合は補完されません。
complete でユーザが何か設定していなければ ble.sh が = の右辺について独自の補完を行っています。
具体的には,. から始まる隠しファイルがble.shの場合は補完されません。
これはバグですね…。手許で試してみたら振る舞いを再現できました。ちょっと調べてみます。
既定の ble.sh のファイル名補完では空文字列に対して . で始まるファイルを列挙していなかったのですが、そうすると例えば echo a= で補完開始した後に . を入力して絞り込みを行った時に、絞り込み対象に . で始まるファイルが含まれていないのが原因でした。echo a=. まで入力してから其処で補完を開始した場合には正しく . で始まるファイル名を補完できていました。
どの様に修正するか考えたのですが、bash と同様に始めから空文字列に対して . で始まるファイル名も列挙する様に変更する事にしました 987436d。これで . で始まるファイルについても最初の候補列挙からの絞り込みができるようになったのではないかと思います。
確認いたしました。変則的な issue になってしまいすいません。
確認ありがとうございます! 他の人も皆「ところで…」という感じで追加の問題や疑問などについて議論を残していくので気になさらなくて大丈夫です。本当は「大したことじゃないかも」という問題点でもどんどん Issue を立てて頂いて構わないのですが、そうは言われても逡巡してしまうというのは皆同じなのでしょうね