秋の dotfiles 大掃除【フォント、プロンプト編】

今回はプログラミング用フォント **[Source Code Pro](https://github.com/adobe-fonts/source-code-pro)** とプロンプトをカスタマイズする **[Stariship](https://starship.rs)** について紹介します。

# 環境

<div>
  <img src="https://img.shields.io/badge/macOS Catalina-19.15.7-999999.svg?logo=apple&style=flat-square">
  <img src="https://img.shields.io/badge/Rust-1.47.0-000000.svg?logo=Rust&style=flat-square">
  <img src="https://img.shields.io/badge/starship-0.46.2-dd0b78.svg?style=flat-square">
</div>


| macOS Catalina | 19.15.7            |
|:---------------|:-------------------|
| __Rust__       | __1.47.0(stable)__ |
| __Starship__   | __0.46.2__         |

# 1. Source Code Pro（フォント）

[Source Code Pro](https://github.com/adobe-fonts/source-code-pro) はAdobeがプログラミング用フォントとしてオープンソースで開発したフォントです。ソースコードが見やすいようにモノスペース（等幅）で、大文字のI（アイ）と小文字のl（エル）と数字の1（イチ）の判別がしやすく、また大文字のO（オー）と数字の0（ゼロ）の判別も容易となっています。
![source-code-pro_regular](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227668/f8deb762-172c-c63e-3008-d3972c1f6298.png)

## 1.1 インストール

Source Code Proを追加するには[GitHub](https://github.com/adobe-fonts/source-code-pro)のフォントデータをダウンロードして手動でフォントを追加できますが、今回は以下のシェルスクリプトで追加します。

```bash
mkdir -p /tmp/source-code-pro
cd /tmp/source-code-pro

curl -LO https://github.com/adobe-fonts/source-code-pro/archive/release.zip
unzip release.zip

cp source-code-pro-release/TTF/* ~/Library/fonts/

cd /tmp
rm -rf source-code-pro
```
デフォルトでインストールされている **Font Book.app** でフォントが追加されたか確認できます。
![font-book_app](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/227668/03c2257a-203f-769a-adf6-44cb23fdab4f.png)

# 2. Starship

[Stariship](https://starship.rs)はディレクトリやユーザ名などを表示するプロンプトをカスタマイズするツールで、gitのブランチやステータス、プログラミング言語のバージョンなどをおしゃれに表示できます。StarshipはさまざまなOS、シェルで高速で実行できます。
![starship](https://raw.githubusercontent.com/starship/starship/master/media/demo.gif)

## 2.1 インストール

macOSにStarshipをインストールする方法は3つあります。

- Homebrewでインストールする
- cargoでインストールする
- ビルド済みのバイナリをインストールする

[README.md](https://github.com/starship/starship/blob/master/docs/ja-JP/guide/README.md) によるとcargoやビルド済みのバイナリからStarshipをインストールすると最新のバージョンを利用することができます。

### Homebrewでインストールする

HomebrewでStarshipをインストールする

```bash
brew install starship
```

### cargo.ioからソースをインストールする

1\. Rustの環境を構築する

```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

2\. Starshipをインストールする

```bash
cargo install starship 
```

### ビルド済みのバイナリをインストールする

```bash
curl -fsSL https://starship.rs/install.sh | bash
```

## 2.2 Starshipを有効にする

fish shell を使っているので `$HOME/.config/fish/config.fish` に Starship を読み込ませるようにしています。他のシェルでの設定方法は [README.md](https://github.com/starship/starship/blob/master/docs/ja-JP/guide/README.md) を参考してみてください。

```bash:$HOME/.config/fish/config.fish
starship init fish | source
```

## 2.3 Starshipの設定

```toml:~/.config/starship.toml
add_newline = false

[cmd_duration]
disabled = true
```

コマンドを実行したあとに改行が入ったり、実行時間が表示しないように `add_newline` と `cmd_duration::disable` の設定を変更しています。
他にも言語ごとにバージョンの表示やバッテリーの使用状況などを表示できるため、https://starship.rs/config/ を参考に自分好みのプロンプトにカスタマイズしてみましょう:rocket:

---
**参考サイト**

> [starship/README.md](https://github.com/starship/starship/blob/master/docs/ja-JP/guide/README.md)
>[🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita](https://qiita.com/unhappychoice/items/3b774310d95e2124eb77)