YAMLの文法
YAMLはお手軽にかけるけど、文法エラーになることが多い。
-: var
-:var
-: var
-foo:var
-baz: var
foo:var
とか実は6行目だけがエラー。んなのぱっと見わからんて。
つーことでvimでお手軽にyamlの文法チェックする方法を。ただrubyのyamlパーサ通してエラーがあるかチェックしてるだけだけど。.vimrcに
autocmd FileType yaml nmap ,e :execute '!ruby -ryaml -e "begin;YAML::load(open('."'"."%"."'".","."'"."r"."'".').read);rescue ArgumentError=>e;puts e;end"'
とか記述すれば、yamlなファイル編集中に,eで文法チェックできる。execute文が変態なのはrubyが悪いんじゃなくてvimでクオートをエスケープする方法が解らなかったから、、、pq
つーかyamlって書きやすいの?、って思えてきた。下手したらXMLのほうが手書きでも書きやすいんじゃないかと。ぱっと見解りやすいし簡単そーだけど、階層が深くなって、要素の数も結構出てくると扱いづらい。何より手で書くとどの階層で今書いているのか、目でスペースやタブの数を数えるってことをしなくちゃならない。
んでyamlのインデントに対応してるエディタも無い。つかインデントに自動で対応できないフォーマットだし。XMLも専用エディタ無いと手で書くのが辛いように、YAMLもある程度複雑になってくると十分辛いよ、、、。