A Day in the Life

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もある程度複雑になってくると十分辛いよ、、、。

記事の一覧 >