RaycastにはScript Commandsという機能があり、ずっとずっと気になっていたのでGW中に重い腰を上げて試してみた。最近会社の人にRaycastをオススメすることが多くなってきたのだけれども、「Raycast歴1年以上経つのにScript Commandsも使ったことないの?」みたいに後ろ指差されないようにするためにも...
Script Commandsとは?
簡単にいうとCUIのコマンドをRaycastから呼び出せるというただそれだけのものっぽい。「っぽい」というのは単純に自分がちゃんと調べてないだけです。はいテキトーですいません。
なにを作るか?
Hello Worldを出力するだけのScript Commandsを作っても仕方がないので、よく自分でやっている単純作業を自動化するスクリプトを考えてみた。結果として生まれたのは、以下のような beforeの文字列をafterに整形するだけのスクリプトである。なんでこんなものが必要かというと、スプレッドシートからIDなどのリストをコピーしてSQLのWHERE句のINに指定する、ということをよくやっているから。
before
aaa bbb ccc
after
'aaa', 'bbb', 'ccc',
Script Commandsの登録方法
めちゃくちゃ簡単なのでこのページを見てもらうのが良いと思う。テキストで手順を書くと以下の4ステップしかない。
- Raycastを起動する
Create Script Command
と入力する- 必要な情報を入力する
- スクリプトにコマンドを記述する
ちなみに上で書いたScript Commandのスクリプトは以下のような感じである。
#!/bin/bash # Required parameters: # @raycast.schemaVersion 1 # @raycast.title single-quote-with-trailing-comma # @raycast.mode fullOutput # Optional parameters: # @raycast.icon 🤖 # @raycast.needsConfirmation true # Documentation: # @raycast.description single-quote-with-trailing-comma # @raycast.author oinume # @raycast.authorURL https://github.com/oinume pbpaste | perl -pe "s/.*/'\$&',/"
作成したScript Commandを呼び出す
あとはRaycastから作成したsingle-quote-with-trailing-comma
を呼び出すだけである。以下の動画ではsingle-quote-with-trailing-commaによって生成された出力をクリップボードにコピーしている。
最後に一言
というわけで駆け足でScript Commandsについて説明した。Apple Scriptを使って特定のSlack Channelを開くということもできるらしいので夢は広がりそうである。Raycast、本当によくできていてこれがあるおかげでmacOSから離れられない。次はExtensionの作成にチャレンジしてみたい。