#24712
redakt55
参加者

表示などの改善ありがとうございます。

> あまり多くのオプションを追加するよりは、マクロやスニペットを使用して自由にカスタマイズすることが現実的ではないかと思います。

オプションをやたらに増やさないほうがよい,という話は非常によく理解できます。
ただ,今の場合,オプションを導入しないと,組込みの機能が正常に働かない,という話なので・・・

そこで,もう少し他の言語についての情報提供です。
いわゆる「オフサイドルール」(インデントの階層でブロックの入れ子関係を表現する構文)を採用している言語の例です。
コメント記号のインデントレベルに制約があります。
いくつか例を挙げます。

◎Python
複数行コメントは,先頭行の前と最終行のあとに """ の行を置きます。よって現行仕様では正しいコメントになりません。
この点では Ruby と似ていますが,Ruby は =begin/=end を行頭に置かなければならないのに対し,Python ではブロックのインデントに合わせて """ もインデントしなければなりせん。正しくインデントしないとエラーになります。

単行コメント(先頭に # を付ける)の場合,インデントはどうでもいいみたいです。

◎CoffeeScript
複数行コメントは,先頭行の前と最終行のあとに ### の行を置きます。よって現行仕様では正しいコメントになりません。
Python と違うのは,### のインデントがどうでもいいことです。

単行コメント(先頭に # を付ける)の場合も,インデントはどうでもいいみたいです。

◎Slim および Sass
以下に関しては,Slim と Sass はルールが同じなので,まとめて書きます。

単行コメントはインデントしなければなりません。正しくインデントしないとエラーになります。

複数行を囲むインデント形式はありません。
ただ,単行のコメントの直後に,それよりもインデント階層の深い部分があるとそこまで含めてコメントになります。
そこが Python や CoffeeScript と違うところですね。

ところで,「マクロやスニペットを使用して自由にカスタマイズ」というのは,コメント化,非コメント化を,組込みの機能ではなくマクロやスニペットで実現する,という話でしょうか。
マクロは分かるのですが,スニペットでもそういうことができるのですか?