LoginSignup
5
1

いつでもElixirのドキュメントがみれるコマンドを作る

Last updated at Posted at 2024-02-03

はじめに

Elixir プログラミングを楽しんでいるときに、ドキュメントを読んで確認したいことがあると思います。

皆さんはどのようにドキュメントを開いてますか。おそらくいろんなやり方があるのだろうと思います。

ここでは僕が使っているコマンドをご紹介いたします。

やりたいこと

ターミナルでコマンドを打つと、ブラウザが開き、Elixirのドキュメントが表示される仕組みを作る。

環境

$ uname -a
Darwin MBP-M1 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:18 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6000 arm64

$ elixir --version
Erlang/OTP 26 [erts-14.2.1] [source] [64-bit] [smp:10:10] [ds:10:10:10] [async-threads:1] [jit]

Elixir 1.16.0 (compiled with Erlang/OTP 26)

$ bash --version
GNU bash, version 5.2.26(1)-release (aarch64-apple-darwin23.2.0)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

成果

試行錯誤した結果、二つのシンプルなシェル関数ができ、満足しています。

これらを.bashrcで読み込み、いつでもターミナルで使えるようにしています。

Elixir ライブラリのドキュメントを開くコマンド

Elixirライブラリのドキュメントを WEB ブラウザで開くコマンドです。

何も引数がない場合、Elixirのドキュメントを開きます。

引数にライブラリ名(mix.exsファイルに記述する名称)を渡すとそれのドキュメントが開きます。

.bashrc
hexdocs() { mix hex.docs online "${1:-elixir}"; }

使い方

ターミナル
# Elixir のドキュメントをWEBブラウザで開く
hexdocs

# Phoenix のドキュメントをWEBブラウザで開く
hexdocs phoenix

# Nerves のドキュメントをWEBブラウザで開く
hexdocs nerves

mix hex.docs Mix タスクをラップしただけですので、それを直接呼んでもいいと思います。

ターミナル
mix hex.docs online ecto_sql

また、Mixを使うにはElixirが予めインストールされている必要があります。

Elixir ライブラリを検索するコマンド

Elixirライブラリを検索し、結果を WEB ブラウザで開くコマンドです。

引数に検索キーワードを渡します。

.bashrc
hexpm() { open "https://hex.pm/packages?search=${1:-}"; }

使い方

ターミナル
# "liveview"というキーワードを含むElixirライブラリを検索
hexpm liveview

# "nerves_system"というキーワードを含むElixirライブラリを検索
hexpm nerves_system

macOS の open コマンド

macOSopen コマンドは、ターミナルからファイル等を適切なアプリで開いてくれる便利なコマンドです。

Linuxにも似たようなものがありますが、コマンド名が異なるので、どちらの OS でも使えるようにするには工夫が必要です。

以下は一例です。 open コマンドが存在しない場合に、open という名称のエイリアスを定義しています。
Linuxの場合には xdg-open が存在するという前提で、あえてそのチェックはしていません。xdg-open が存在しない環境でお使いの場合は適宜コードを調整してください。

.bashrc
# make sure the open command is available
if ! command -v open &>/dev/null; then
  alias open='xdg-open &>/dev/null'
fi

:tada::tada::tada:

最後に一言

今の所うまくイゴいています。
実はLinuxで動作確認していません。後日確認します。

本記事は piyopiyo.ex #25:もくもく作業タイム の成果です。ありがとうございます。

toukon-qiita-macbook_20230912_091808.jpg

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1