Humanity

Edit the world by your favorite way

eskk構想 - 1ファイルでいくらでもテーブルの定義ができるようにする

これはすでに(ちょうど今日)実装したけど一応載せておく。
以下の引用文からの文章はほとんどがiPod touchでの入力です。変なこと言ってるかも。
変更としては「テーブルの定義とファイルの対応を1対1にこだわらずに1ファイルでいくらでも定義できるようにした」んだけど、
何がうれしいかというとファイルにこだわらない。
なので

  • .vimrcでもちょっとした変更を加えることができる
  • ちょっとした定義のテーブルをいっぱい定義する時もファイルを分けなくていい

とかとか。


autoloadの読み込みは馬鹿にならないので
できるだけファイルを分けなくて済むようなつくりにするつもり。
これはid:mattnさんに「ファイル多い」と指摘されたり、
実際autoloadの読み込みで最初の入力時にもたついてる状態だったりするので思いついたorz



追記:
よく見たら下の書き込みは「句読点を切り替えたい」で、
俺のコメントが「skk.vimみたいにグローバル変数でちょっとした変更はテーブルに加える」から飛躍して上の実装したやつにつながったんだった。
あぁもう今日文章読みすぎたので疲れた。


...ん、でも別にグローバル変数作らなくていいな、これ。
だって.vimrcでローマ字とひらがなの対応を再マッピングしなおせばいいので。
しかもそっちのが分かりやすい。
というわけでこれはもう上ので実装済み。
はいはいあーもう文章読みたくない(ry


882 名前:名称未設定 [sage] :2009/11/22(日) 01:35:55 id:GSecJHdZ0
普段の文章を書くときは句点として

を使いたいのですが、法律系の文書を書くときは句点として

を使いたいのです。現在は法律系の文書を書くたびにkana-rule.confのカンマに関するルールを書きかえて対応しているのですが、もっと簡単に切り替える方法ってありますか?(現在OS
10.6.2, AquaSKK4.1 beta3使用)

AquaSKKスレッド 3

こういうちょっとした変更をテーブルに加えたい時はどうしよう。
skk.vimでは変数を分けてたな。

TableEndのタイミングで登録するマッピングを定義できればいいのかな。

ただこの場合動的に切り替えたいようなので、それをするには基となるマッピングとは分けて保存しておいた方がいい。
そんでテーブルから候補を取得する関数がマージされてるように見せかければいい。

で実際に切り替えるインターフェースはどうしようか。
とりあえずコマンドで指定できればマッピングできるし引数も取れるのでそうする。

# マッピングで提供したいけど、オプションをとりたい場合はコマンドにすればいいのか。と今気づいた。けどインサートモードのままどうやってコマンド起動するんだろう?と考えるとやっぱりマッピングしか手がないわけで...
とりあえず今は置いておく。

それで指定する場合は辞書を指定してそれから適用する変数なりテーブルなりを指定してたんじゃあめんどくさいし何より分かりにくそう。
切り替える場合は一発で指定したい。
ということでテーブルはファイルにまとまってるものだけじゃなくて、自分専用のテーブルを定義できるといいと思う。

これは現在のテーブルの定義と同じように.vimrcにでも書けるはず。
インポートするコマンドマクロを定義すればいい。

# メモ:
# あとTableEndでeskk#table#undefine_macro()を呼び出さず、ちゃんとそれぞれテーブルの定義ファイル内で呼び出させる。これは.vimrcに書く事を考慮した結果。

コマンドラインから、Exモードとかで実行する人とかいるかもしれない(というか自分がしたいかもしれないw)ので補完もつくといいな。まぁ後でいいけど。

またモードについても1ファイルごとではなくて登録するようにさせるといいかも。
ファイルに依存しない作りになるとわざわざファイル作らなくて済む。