2013/04/16(火) [n年前の日記]
#4 [pc][neta] エディタと他アプリを連携させるための規格、とか作れないかな
エディタでHTMLやMarkdown文書を編集したら、ソレをプレビューしたいと思ったりするわけですが。
エディタ上でショートカットキーを叩いてプレビューさせる、みたいなことは、多くのエディタで実現できているけれど。毎回、人間様が、「プレビューしろ」「プレビューしろ」と指示を出すのも実に馬鹿馬鹿しい話。ここはぜひともリアルタイムでプレビューしてほしい。今時はGHz級のCPU使ってるのだし。
しかし、そういう機能を持たせるとなると、エディタにガッチリとその機能を実装しないといけないから作るのが大変。結果、現状では、「編集機能は強いけどリアルタイムプレビューできないエディタ」と、「リアルタイムプレビューできるけど編集機能が弱いエディタ」に分かれてしまっているわけで。
各エディタが、それぞれ自前でプレビュー機能を実装してる現状も、なんだか馬鹿馬鹿しいよなと。HTMLなり、Markdownなり、何か一つビューワを作ったら、それを色んなエディタで流用・共用できたほうがありがたいのではないか、と。Emacsも、Viも、秀丸も、プレビューには同じビューワアプリを使えますよ、みたいな。
例えば。DTMの世界では、シーケンサーと音源が、MIDIその他を使って通信して処理を行ったり、みたいなことをガンガンやってるわけで。シーケンサーにベッタリなネイティブ音源も稀にあるけど、一般的には、どんなシーケンサーでも、色んなソフトウェア音源を使えるのが当たり前。
Android の文字入力では、例えば「マッシュルーム」みたいな連携機能があったりするし。
日本国内の画像ビューワアプリは、「Susieプラグイン対応」が比較的普及してたりするし。Susieプラグインにさえ対応すれば、様々な画像フォーマットも一気に表示できるようになるわけで。
そういう仕組みに似た何かがエディタ上にもあれば、便利になったりするのでは、てなことを夢想したのでした。とメモ。
たぶん、こんな感じの動作になるのだろうか…。
いや。エディタが一定時間毎にビューワに指示を出すほうがいいのかな。ビューワアプリが起動済みならそいつに渡して。起動してなければ指定パスのアプリを起動して渡す、みたいな?
最低限、現在カーソル位置ぐらいは送ってほしいものだけど。巷のエディタのプレビュー機能って、えてして入力ウインドウ内のカーソル位置をプレビュー画面に反映してくれなくて、プレビュー画面はページのトップをずっと表示、みたいな状態が当たり前なのがなんだかもやもやするわけで。
でも、HTMLにしろ、Markdownにしろ、現在表示位置まで渡すのは難しいか…。画像や表やアレコレが入ってきたら、ページレイアウトが全然違ってくるもんな…。
どうやって表示位置を指定したらいいんだろう? 行と列を渡すだけで済むのだろうか? いや、表示位置を決めるのはビューワ側か。ビューワ側はどうやって表示位置を特定すればいいのやら。
何にしても、色々クリアしないといけない問題があるんだろうな、という気がしてきました。
エディタ上でショートカットキーを叩いてプレビューさせる、みたいなことは、多くのエディタで実現できているけれど。毎回、人間様が、「プレビューしろ」「プレビューしろ」と指示を出すのも実に馬鹿馬鹿しい話。ここはぜひともリアルタイムでプレビューしてほしい。今時はGHz級のCPU使ってるのだし。
しかし、そういう機能を持たせるとなると、エディタにガッチリとその機能を実装しないといけないから作るのが大変。結果、現状では、「編集機能は強いけどリアルタイムプレビューできないエディタ」と、「リアルタイムプレビューできるけど編集機能が弱いエディタ」に分かれてしまっているわけで。
各エディタが、それぞれ自前でプレビュー機能を実装してる現状も、なんだか馬鹿馬鹿しいよなと。HTMLなり、Markdownなり、何か一つビューワを作ったら、それを色んなエディタで流用・共用できたほうがありがたいのではないか、と。Emacsも、Viも、秀丸も、プレビューには同じビューワアプリを使えますよ、みたいな。
例えば。DTMの世界では、シーケンサーと音源が、MIDIその他を使って通信して処理を行ったり、みたいなことをガンガンやってるわけで。シーケンサーにベッタリなネイティブ音源も稀にあるけど、一般的には、どんなシーケンサーでも、色んなソフトウェア音源を使えるのが当たり前。
Android の文字入力では、例えば「マッシュルーム」みたいな連携機能があったりするし。
日本国内の画像ビューワアプリは、「Susieプラグイン対応」が比較的普及してたりするし。Susieプラグインにさえ対応すれば、様々な画像フォーマットも一気に表示できるようになるわけで。
そういう仕組みに似た何かがエディタ上にもあれば、便利になったりするのでは、てなことを夢想したのでした。とメモ。
たぶん、こんな感じの動作になるのだろうか…。
- ビューワが、エディタに向かって、「おーい、今プレビューしたいデータはあるかい?」と一定時間毎に尋ねてきて。
- エディタが、「いや、今は入力中だから何も無いよ」と返事をして。
- そのうちエディタが、「入力がxxx ms以上されてないから、今のうちにこのデータをプレビューしといてくれるかい? 行と列はxxxとyyyだよ。」と返事をして。
- ビューワが「分かった。プレビュー作成スタート〜」と。
いや。エディタが一定時間毎にビューワに指示を出すほうがいいのかな。ビューワアプリが起動済みならそいつに渡して。起動してなければ指定パスのアプリを起動して渡す、みたいな?
最低限、現在カーソル位置ぐらいは送ってほしいものだけど。巷のエディタのプレビュー機能って、えてして入力ウインドウ内のカーソル位置をプレビュー画面に反映してくれなくて、プレビュー画面はページのトップをずっと表示、みたいな状態が当たり前なのがなんだかもやもやするわけで。
でも、HTMLにしろ、Markdownにしろ、現在表示位置まで渡すのは難しいか…。画像や表やアレコレが入ってきたら、ページレイアウトが全然違ってくるもんな…。
どうやって表示位置を指定したらいいんだろう? 行と列を渡すだけで済むのだろうか? いや、表示位置を決めるのはビューワ側か。ビューワ側はどうやって表示位置を特定すればいいのやら。
何にしても、色々クリアしないといけない問題があるんだろうな、という気がしてきました。
[ ツッコむ ]
以上です。