スーパーpre記法は羊頭狗肉

スーパーpre記法が対応するシンタックスハイライトが増えたようである。
スーパーpre記法のシンタックス・ハイライトが Brainfuck, Clojureに対応しました - はてなダイアリー日記
素晴らしい!先端を行く言語もすばやくフォローする辺りに進取の気風、4文字言葉も伏せ字にしない辺りに自由への意志が感じられる。
ところで、スーパープレ記法って一体いくつくらいのシンタックスに対応しているんだろう、と見てみると、
ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ
…、うん、「たくさん」だ。

しかし、ここに列挙されているシンタックス全部に本当に対応してるのだろうか。無作為に取り上げた1つの形式xpmについて調べてみよう。

/* XPM */
static char * winInspectorMain16_xpm[] = {
"16 16 6 1",
" 	c None",
".	c #000000",
"+	c #FFAD00",
"@	c #FF6D00",
"#	c #FF8500",
"$	c #FF0000",
"................",
".++++++++++++++.",
".+++++....+++++.",
".+++..@@@@..+++.",
".+++.@@@@@@.+++.",
".++.@@@@@@@@.++.",
".++.@@@@@@@@.++.",
".++.@@@@@@#@.++.",
".++.@@@@@@#@.++.",
".+++.@@@##$.+++.",
".+++..@@@@...++.",
".+++++....+...+.",
".+++++++++++....",
".++++++++++++...",
".+++++++++++++..",
"................"};

おお確かにハイライトされている。
だが、ちょっと待ってほしい。試しに上の文字列をコピペしてfoo.xpmとでもして保存してからvimで開いてみてほしい。
いかがであろう。はたしてあなたは、はてなのスーパープレ記法は本当にxpm形式に対応していると言えると考えるだろうか?


まあ、ちょっと前に知って「vimすげー…、つーか何でもtextのunix文化がすごいのか?」という感動から生まれたお話だったとさ。