oinume journal

Scratchpad of what I learned

RaycastのScript Commandsを試してみた

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ステップしかない。

  1. Raycastを起動する
  2. Create Script Commandと入力する
  3. 必要な情報を入力する
  4. スクリプトにコマンドを記述する

ちなみに上で書いた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の作成にチャレンジしてみたい。