近頃2 spacesのインデントが主流のような気がしている。タブインデントは絶滅危惧種ではないだろうか。私が使う言語はこんな感じである
- 2 spaces
- JavaScript (TypeScript含む)
- HTML
- CSS (SCSSなども含む)
- Scala
- Ruby
- 4 spaces
- Rust
- tab
今やタブインデントは絶滅危惧種なのだろうか
で、シェルスクリプトであるがこいつはタブにしてほしい。理由はヒアドキュメントの存在
bashは <<-
でヒアドキュメントを書くと行頭のタブを無視する。タブならばヒアドキュメントの中でもインデントできるのだ。
#!/bin/bash hoge() { cat <<- EOS aaa aaa aaa EOS } hoge
実行結果
aaa aaa aaa
スペースでインデントしようとすると以下のようになる。なお、EOSをスペースでインデントしようとすると文法エラーになってしまうのでインデントできない
#!/bin/bash hoge() { cat <<- EOS aaa aaa aaa EOS } hoge
実行結果
aaa aaa aaa
というわけで以上シェルスクリプトはタブインデントがいいと思う、というお話でした