Textwellの標準入力変数 T.stdin を活用することを思いついた

アクションを短く分かりやすく。


Textwell 1.1.7
分類: 仕事効率化,ユーティリティ
価格: \300 (Sociomedia)

従来TextwellでURLスキームを呼び出す書式は、たとえば

T("urlSchme",{
  url: "dayone://post?entry="+encodeURIComponent(T.text)),
  option: "none"}
)

または、その短縮形の

T("dayone://post?entry="+encodeURIComponent(T.text))

でした。DayOneに転送するURLスキームをT関数で囲み、対象範囲のT変数をエンコードして連結する。なんか煩雑ですよね。綴りを間違えそうになります。



実はもう少し簡単に書く方法を見つけました。標準入力変数を使うテクニック。下記のようになります。このほうがシンプルで見やすくないですか。

T("dayone://post?entry="+T.stdin.text)

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


TextwellのT関数をチェックするアクションT.fooで気になったところ
内部の動作チェックに使っています。Textwellのプログラミングは取っ付きやすいんですが、少し高度なことをしようとするとT関数やT変数が肝要になります。でも、忘れちゃうんですよね。どんなのがあったか...
T.stdinは Standard-Input。T.textやT.currentの元になる変数です。aita氏のT.fooを見ているときに思いつきました。これらは初めからエンコードされた状態で格納されている。じゃあ、URLスキームで直接T.stdinを呼べば二度手間にならずに済むんじゃないか、と。

T.stdin.text         本文全体
T.stdin.selectedLoc  カーソル位置
T.stdin.selectedLen  選択範囲の長さ
T.stdin.currentText  カーソル行、または選択範囲
T.stdin.currentLoc   カーソル行の開始位置
T.stdin.currentLen   カーソル行の長さ
T.stdin.wholeText    本文全体、または選択範囲
T.stdin.wholeLoc     wholeTextの開始位置
T.stdin.wholeLen     wholeTextの長さ
T.stdin.pboardText   クリップボード


Day One (日誌 / 日記) 1.12
分類: ライフスタイル,仕事効率化
価格: \500 (Bloom Built, LLC)

全文を転送したりカーソル行を検索したりはTextwellの基本形。それがエンコード済みで活用できる。これ、思った以上に便利で、役立つ場面も多かったりします。optionを付けるときは下記書式で。だいぶ短く書けるでしょ?

T("dayone://post?entry="+T.stdin.text ,{option:"none"})

  • DayOneはパーソナル・クラウドの始まりを予兆している