AlfredでGoのドキュメントを検索するツールを作った

2021年12月23日

この記事は Go Advent Calendar 2021 24日目の記事です。

はじめに

みなさん、Goのプログラムを書くときにドキュメントをみたいと思うことがありますよね。 どうやってドキュメントを検索していますか? 多くの方は、pkg.go.dev やGoogleで検索をして、 pkg.go.dev でドキュメントを見てるんじゃないかと思います。 今回は、そんな方の検索を少しだけ便利にするツールを作ったので紹介します。

awgodoc

github.com/morikuni/awgodocAlfred でGoのドキュメントを検索できるツールです。 正確には pkg.go.dev のクライアントツールようなものです。

実際に使い方を見てください。 まず、Alfredを起動し、

godoc
と入力すると
awgodoc
が起動します。

blog-architecture

続けて、検索したいパッケージ名やシンボル名を入力すると検索結果が表示されます。

blog-architecture

あとは、ドキュメントを開きたい検索結果でEnterを押すと、ブラウザで pkg.go.dev の該当ページが開かれます。

仕組みとしては、 github.com/gocolly/colly というスクレイピングライブラリを使って pkg.go.dev を検索してAlfredに表示し、選択した結果のURLを開いています。 AlfredとGoの連携には github.com/deanishe/awgo というライブラリを使用しています。 ちょっとクセのあるライブラリですが、Alfredに関する面倒くさい部分を隠してくれているようなので、結構簡単に開発ができました。

おわりに

一日で作ったようなものなので、いろいろと改善点は残っていますが、ないよりはかなり便利に感じます。 リリースページ からalfredworkflowファイルをダウンロードするか、リポジトリをcloneして、

make install
するとAlfredに追加されるので、興味がある方はお試しください。

あと、余談として、このブログは多くの部分を自作しているのでCMSみたいなものがないんですけど、久しぶりに記事を書いたら、記事の公開方法を忘れていました🥺