Textwellをコマンドラインで操作するアクション Letus

変なこと思いついた。


TextwellはT関数自体がURLスキームを呼び出すコマンドである iWriters
豆知識。ヒストリーを操る関数がないかなあ、と思って触ってたら、びっくり。アクションを作るときに使うT関数ですが、これって引数がURLスキームとして扱われるんですね。たとえば、iWritersにテキスト...
T関数を直接扱えるなら、そういうアクションを作ると面白そう。そんな動機で出来ました。Letus。俺たちにまかせろ系。カーソル行をT関数に渡す。何が出来るかお立ち会い。

s="";
t=T.text.split("\n");
loc=T.range.loc;
len=T.current.length;
for(i=k=0;i<t.length;i++){
  if(k==1 || s.length+len<loc){
    s+=t[i]+"\n";
  }else{
    k=1;
  }
}
part=T.current.split(" ");
p1=part[0];
p2=T.current.substr(p1.length+1);
text=(part.length==1)? s:p2;
if(p1=="?") p1="x-web-search://?"+encodeURI(p2);
T(p1,{title:text,text:text,body:s,tags:null,notebook:null,filename:T.line(1),option:"copyWhole"});

登録リンクはこちら→ http://tinyurl.com/l5asv7z



まず、分かりやすいのはURLスキーム。たとえば「message:」と書いてLetusを実行。メールが立ち上がります。「calshow:」でカレンダー、「photos-redirect:」で写真。


SySight 3.1.1
分類: ユーティリティ,仕事効率化
価格: \85 (Nobuo Saito)

もちろんサードパーティのアプリでも大丈夫。「sysight://free?redirect=textwell:」と書けばメモリを解放してTextwellに戻ってくる。直接URLスキームを実行できるわけです。



二つめがTextwellのT関数。純正アクションのソースは「T( 'reminder' ,{いろんなオプション})」みたいな形式で書いてあります。この「'reminder'」のところ。これがコマンドとして使える。「reminder なんとか」と書いてLetusを実行すると、リマインダーに「なんとか」を登録します。「dropbox」でDropboxに全文保存したり、「evernote タイトル」でEvernoteに保存したり。目的のアクションを一覧から探す必要がない。しかも、コマンドを実行した行は本文から省くようにしました。この操作感は楽しくなります。



おまけで「?」。「? 果心居士」と打てばSafariが立ち上がって検索します。
使うアクションをLetusだけで済ませてしまう。もう「エディタ」じゃないなあ。「魔法の紙」です。iOSを操作するシェルかターミナルか。とはいえ、他のアクションも呼び出せるようにすると便利かな。こういうとき、NextActionの出番かもしれない。

  • TextwellのT関数にはどんなコマンドが用意されているだろうか