|
Perlのコーディングでは、「自動インデント」と「C言語用のインデント」を有効に
しています。
if while for など、C言語にあるものはもちろんまともにインデントされるのですが、
foreach のように、C言語にないものは、まともに動作しないときがあります。
if (aaa) {
bbb
ccc
foreach (ddd) {
eee
}
のような場合はまともに動作してくれるのですが、親構造(この場合はif)の開き中括
弧の次の行のインデント位置(bbbの位置)が、下のように、(「C言語用のインデン
ト」を有効にしていた場合には)本来あるべきところになかった場合、
if (aaa) {
bbb
ccc
foreach (ddd) {
eee
}
のように、foreach インデントの基準はbbbの位置になってしまいます。
上記のような例は滅多にありませんが、私は「改行するとき空白だけの行だったら空
白を削除する」を有効にしているので、if行の次の行を空行にすることはあります。
そのときは、インデントの基準が行頭になり、
if (aaa) {
ccc
foreach (ddd) {
eee
}
となってしまいます。
ちなみに、開き中括弧だけの場合は、
if (aaa) {
ccc
{
eee
}
と、まともに動作します。
foreach はC言語のものではないので、C言語用のインデントを有効にしてもこちらの
ねらい通りの動作をしないのは当たり前なのかもしれません。
そこで、要望(提案)です。
・「C言語用のインデント」の対象に foreach も加える
・「Perl言語用のインデント」の項目を追加する
・「C言語用のインデント」を「C言語/Perl言語用のインデント」に変更して foreac
h を対象に加える
等の検討してもらえませんでしょうか?
宜しくお願いします。
|
|